😊
SSOとaws-vault併用時のエラー解決2
最近今更ながら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以外のリソースが作成できてたのは謎ですが、解消したので良しとします。
Discussion