MFA が必要な AWS Profile で Former2 を利用する方法
既存の AWS リソースから CloudFormation テンプレートを自動生成してくれる Former2 というツールがあります。
利用するには IAM の認証情報を設定する必要がありますが、今回は MFA が必要な AWS Profile で Former2 を利用する方法を紹介します。
前提
・AWS CLI での MFA 設定をしている AWS Profile がある
・Former2 の利用方法がわかる
結論
STS の get-session-token
で取得した一時認証情報を Former2 に設定します。
MFA が必要な AWS Profile で Former2 を利用するまでの手順
まずは以下の AWS 公式ドキュメントに記載されている通り、get-session-token
コマンドを実行します。
$ aws sts get-session-token --serial-number arn-of-the-mfa-device --token-code code-from-token
ただし、使用する Profile によっては、--profile
オプションで使用する Profile を指定してください。
$ aws sts get-session-token --serial-number arn-of-the-mfa-device --token-code code-from-token --profile myprofile
コマンド実行後、以下のような一時認証情報を取得できます。
{
"Credentials": {
"SecretAccessKey": "secret-access-key",
"SessionToken": "temporary-session-token",
"Expiration": "expiration-date-time",
"AccessKeyId": "access-key-id"
}
}
取得した一時認証情報を Former2 に設定します。
Access Key ID
, Secret Access Key
, Session Token
は、get-session-token
で取得した値を入力し、Assumed Role ARN
には使用する Profile に指定している IAM Role ARN を入力します。
これで Scan Account すれば、Profile に指定している IAM Role の権限で Former2 を利用できます。
ただし、Expiration
に記載されている期限までの一時認証情報なので、期限が切れた際は、再度 get-session-token
を実行する必要があります。
補足
AWS CLI で MFA が不要な Profile であれば、Access Key ID
, Secret Access Key
,Assumed Role ARN
を入力するだけで Former2 を利用できます。
まとめ
今回は MFA が必要な AWS Profile で Former2 を利用する方法を紹介しました。
小ネタでしたが、参考になれば幸いです。
Discussion