このフェーズでは、AWS CLIの認証を行います。次のフェーズでAWS CLIからLambda関数をデプロイするための準備です。
aws login は、ブラウザでマネジメントコンソールにサインインするだけでCLI用の一時認証情報を取得できるコマンドです。アクセスキーのような永続的な秘密情報を保存しないため、安全に利用できます。
事前準備として、対象のIAMプリンシパルに SignInLocalDevelopmentAccess マネージドポリシーをアタッチしておく必要があります。
aws login --profile cli-profile --region ap-northeast-1
ブラウザが自動で開きます。マネジメントコンソールでサインインすれば、認証は完了です。

aws login --profile cli-profile --region ap-northeast-1
Attempting to open your default browser. If the browser does not open, open the following URL.
If you are unable to open the URL on this device, run this command again with the '--remote' option.
https://ap-northeast-1.signin.aws.amazon.com/v1/authorize?response_type=code&client_id=...
認証が成功したか確認しましょう。
aws s3 ls --profile cli-profile
aws login の設定はファイル(~/.aws/config)に保存されています。
[profile cli-profile]
login_session = arn:aws:sts::123456789012:assumed-role/your-name/your-session-name
region = ap-northeast-1
aws sts get-caller-identity --profile cli-profile コマンドからも確認できます。
aws login は人間がブラウザでサインインして一時認証情報を取得する方式です。ローカル環境からの操作には適していますが、GitHub Actionsのような自動化環境ではブラウザを開ける人間がいません。この課題はフェーズ7(OIDC)で解決します。
認証ができたので、次はAWS CLIからLambda関数をデプロイしてみます。
フェーズ6: 手動デプロイ に進みましょう。