ニクニクドットミー

カッコいいおっさんを目指すエンジニアの厳かなブログ

aws loginは最高なのでは

aws loginというCLIのコマンドが新しくAWS CLIに入っていた
さっそくクラスメソッドさんが試してみた記事を公開してくれていたので参考に自分も触ってみることにした
細かい設定についてはぜひ公式とクラスメソッドさんの記事を参照してみてほしい

AWS CLIの 新機能 aws login コマンドを試してみた | DevelopersIO

Simplified developer access to AWS with ‘aws login’ | AWS Security Blog

  • aws login後のクレデンシャル情報はaws/login/cache配下にjsonが置かれている
    構造はこんな感じ
{
  "accessToken": {
    "accessKeyId": "***",
    "secretAccessKey": "***",
    "sessionToken": "***",
    "accountId": "***",
    "expiresAt": "***"
  },
  "tokenType": "***",
  "clientId": "***",
  "refreshToken": "***",
  "idToken": "***",
  "dpopKey": "***"
}
  • terraformからこの形式のクレデンシャルを読み取るのはまだできない模様

ただ、ドキュメントを見ていて気付いたがこの設定をすればもしかしたらいける?

Login for AWS local development using console credentials - AWS Command Line Interface

[profile signin]
login_session = arn:aws:iam::0123456789012:user/username
region = us-east-1

[profile process] 
credential_process = aws configure export-credentials --profile signin --format process
region = us-east-1

試しにローカルでs3バケットを参照するスクリプトを用意して試したところ正常に実行が完了したのでこの設定を入れればいまのところは大丈夫

アプリケーションや AWS のサービスにアクセスする必要がある人間のユーザーに対して、長期アクセスキーを作成しないでください。

アクセスキーの管理はほんとうにやりたくないし考えたくないのでとてもうれしいアップデートだった

See you next time:)