🔐

IAM Identity Center を試してみた

2023/02/11に公開約1,600字

最初のセットアップ

https://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/get-started-enable-identity-center.html

この手順を実施すればひとまずできる。

権限セットの作成

https://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/get-started-create-an-administrative-permission-set.html

この手順を実施すればひとまずできる。

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

ログインするとコメントできます