🔐
IAM Identity Center を試してみた
最初のセットアップ
この手順を実施すればひとまずできる。
権限セットの作成
この手順を実施すればひとまずできる。
aws-vault に設定する
たとえばこんな感じ。
~/.aws/config
[profile homelabo-sso]
sso_start_url = https://<セットアップ中に表示された値>.awsapps.com/start
sso_region = ap-northeast-1
sso_account_id = <セットアップした先のAWSアカウント番号:12桁>
sso_role_name = AdministratorAccess # <権限セットの作成で指定した名前>
region = ap-northeast-1
output = json
シェルのエイリアスを設定しておくと便利。
~/.zshrc
alias lh='export $(aws-vault exec homelabo-sso -- env | grep AWS_ | grep -v AWS_VAULT)'
トラブルシューティング
久しぶりにaws-vaultの設定を行ったら、起動時にエラーが出たのでメモしておく。
gpg: error retrieving 'me@example.com' via WKD: No data
事象
aws-vault exec homelabo-sso
を実行した所、下記エラーが出力された。
Opening the SSO authorization page in your default browser (use Ctrl-C to abort)
https://device.sso.ap-northeast-1.amazonaws.com/?user_code=XXXX-XXXX
gpg: error retrieving 'me@example.com' via WKD: No data
gpg: me@example.com: skipped: No data
gpg: [stdin]: encryption failed: No data
Password encryption aborted.
aws-vault: error: exec: Failed to get credentials for homelabo-sso: exit status 1
解決策
gpg --gen-key
を実行して、me@example.com
に対応する鍵を作成する。
$ gpg --gen-key
<snip>
GnuPGはあなたの鍵を識別するためにユーザIDを構成する必要があります。
本名: <名前>
電子メール・アドレス: <ここにme@example.comを入力する>
コメント:
次のユーザIDを選択しました:
"me <me@example.com>"
もしかして
IAM Identity Centerに切り替えたことでGPGにメールアドレスが連携されるようになり、対応する鍵を探しに行くようになったため、これまでアクセスキーを暗号化するために適当な名前とメールアドレスで作っていた鍵では対応できなくなったのかもしれない。
Discussion