😊

SSOとaws-vault併用時のエラー解決2

2024/04/18に公開

最近今更ながらFF15をクリアしたんですが、
オメガを倒すためのAP稼ぎにたいしてモチベーションがあがらないまばおです。

トラブルエンカウント

永続アクセスキーでのAWS Profile設定していたのですが、
SSOのProfileに切り替えたところ正常に認証が機能しない事象が発生しました。

以前の遭遇した事象の類似です。

やったこと

  • 元々の設定
[profile sampleuser]
aws_access_key_id = AKIAXXXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

と設定してあったのを

[profile sampleuser]
sso_start_url = https://example.awsapps.com/start
sso_region = ap-northeast-1
sso_account_id = 1111111111111
sso_role_name = SampleRole
region = ap-northeast-1
output = json

に変更しました。
profile名はそのままで中身のみを変更してます。
ちなみにポリシーは両方ともAdministratorAccessです。

発生事象

  • cdk for terraformでのデプロイ時に以下エラーが発生
 Error: creating IAM Role (test-lambda-role): operation error IAM: CreateRole, https response error StatusCode: 403, RequestID: , api error InvalidClientTokenId: The security token included in the request is invalid

IAM以外のリソース作成は問題なし

cdktfの実行は以下のように行ってます。

aws-vault exec sampleuser -- cdktf deploy

なんでIAMだけ?と思い
切り分けするためにAWS CLIからIAM Roleを作成しようとしたところ

aws-vault exec sampleuser -- aws iam create-role --role-name MyTestRole --assume-role-policy-document file://TrustPolicy.json
An error occurred (InvalidClientTokenId) when calling the CreateRole operation: The security token included in the request is invalid

エラー。。 なんでやねんと思いつつググる。

対応記録

認証情報のキャッシュクリア

~/.aws/cli/cache にある認証情報のキャッシュが原因かと思い削除
→ 効果なし

aws-vaultのProfile削除

となるとaws-vaultの問題かと思い、sampleuserのProfileを削除して再度設定し直す。

  • aws-vault 確認
aws-vault list
  • aws-vault Profile削除
aws-vault remove sampleuser

削除しても再度認証することでProfileが作成されるので問題ありません。

確認

aws-vault経由でのIAM Roleの作成およびcdktfのデプロイも成功しました。

IAM以外のリソースが作成できてたのは謎ですが、解消したので良しとします。

Goals Tech Blog

Discussion