okta-awscliの概要と使い方
概要
- awscliのためにクレデンシャルをその度発行するのは行けていないしセキュリティ的な懸念がある
- okta認証を利用し、有効期限付きのクレデンシャルをその度発行してawscliを利用することでこの懸念を解消したもの
okta-awscliのインストール
$ python3 -m pip install okta-awscli
okta-awscliの初期設定
~/.okta-awscli
のファイルを作成する~/.aws/credentials
にrole_arnのみを記したプロファイルを作成する- 両方のファイル名のプロファイル名は同じだと望ましい
.okta-awscli
の具体例
[profile_name]
base-url = <service-name>.okta.com
username = <username>
password = <password>
app-link = https://<service-name>.okta.com/home/amazon_aws/********************
duration = 3600
role = arn:aws:iam::*******:role/************-aws_poweruseraccess
~/.aws/credentials
の具体例
[profile_name]
role_arn = arn:aws:iam::**********:role/Step-poweruseraccess
source_profile = step
okta経由でプロファイルに紐づくクレデンシャルを取得
oktaのワンタイムキーでクレデンシャルを発行する
$ okta-awscli --okta-profile <profile_name> --profile <profile_name>
設定したプロファイルを確認
$ aws sts get-caller-identity --profile <profile_name>
{
"UserId": "***********",
"Account": "***********",
"Arn": "***********"
}
実際に使うときにデフォルトのプロファイルを設定する
- 環境変数を設定する
$ export AWS_DEFAULT_PROFILE=<profile_name>