📝

[小ネタ] Cloud9 の認証情報を取得する方法

に公開

Identity and Access Management for AWS Cloud9 - AWS Cloud9
AWS マネージド一時認証がオンの場合は以下のコマンドで取得できる認証情報が使用されます。

$ cat ~/.aws/credentials

[default]
aws_access_key_id=xxx
aws_secret_access_key=xxx
aws_session_token=xxx
region=ap-northeast-1

AWS マネージド一時認証がオフの場合は EC2 インスタンスプロファイルの認証情報が使用されます。

$ curl http://169.254.169.254/latest/meta-data/iam/security-credentials/AWSCloud9SSMAccessRole
{
  "Code" : "Success",
  "LastUpdated" : "2025-06-12T06:20:39Z",
  "Type" : "AWS-HMAC",
  "AccessKeyId" : "xxx",
  "SecretAccessKey" : "xxx",
  "Token" : "xxx",
  "Expiration" : "2025-06-12T12:55:59Z"
}

おまけ

AWS マネージド一時認証のオン/オフで使用されるエンティティが変わることも確認できます。

オンの場合は Cloud9 環境に接続しているエンティティの認証情報が使用されます。

$ aws sts get-caller-identity
{
    "UserId": "xxx:user-name",
    "Account": "012345678901",
    "Arn": "arn:aws:sts::012345678901:user-name"
}

オフの場合は EC2 インスタンスプロファイルの認証情報が使用されます。

 $ aws sts get-caller-identity
{
    "UserId": "xxx:i-0de86dc17afe771ba",
    "Account": "012345678901",
    "Arn": "arn:aws:sts::012345678901:assumed-role/AWSCloud9SSMAccessRole/i-0de86dc17afe771ba"
}

まとめ

今回は Cloud9 の認証情報を取得する方法を紹介しました。
どなたかの参考になれば幸いです。

参考資料

Discussion