Amazon では、http: //169.254.169.254/latest/meta-data/iam/security-credentials/から取得できる一時的な認証情報を生成できます。
そこから読めます
インスタンス上のアプリケーションは、インスタンス メタデータ アイテムiam/security-credentials/role-nameからロールによって提供されるセキュリティ資格情報を取得します。アプリケーションには、ロールに関連付けられたセキュリティ資格情報を通じて、ロールに対して定義したアクションとリソースのアクセス許可が付与されます。これらのセキュリティ資格情報は一時的なものであり、自動的にローテーションされます。古い資格情報の有効期限が切れる少なくとも 5 分前に、新しい資格情報を利用できるようにします。
次のコマンドは、s3access という名前の IAM ロールのセキュリティ認証情報を取得します。
$ curl http://169.254.169.254/latest/meta-data/iam/security-credentials/s3access
以下は出力例です。
{
"Code" : "Success",
"LastUpdated" : "2012-04-26T16:39:16Z",
"Type" : "AWS-HMAC",
"AccessKeyId" : "AKIAIOSFODNN7EXAMPLE",
"SecretAccessKey" : "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"Token" : "token",
"Expiration" : "2012-04-27T22:39:16Z"
}
インスタンスで実行されるアプリケーション、AWS CLI、および Tools for Windows PowerShell コマンドの場合、一時的なセキュリティ認証情報を明示的に取得する必要はありません — AWS SDK、AWS CLI、および Tools for Windows PowerShell は、EC2 インスタンスから認証情報を自動的に取得します。メタデータ サービスとそれらを使用します。一時的なセキュリティ認証情報を使用してインスタンスの外部で呼び出しを行うには (たとえば、IAM ポリシーをテストするため)、アクセス キー、シークレット キー、およびセッション トークンを提供する必要があります。詳細については、IAM ユーザーガイドの「一時的なセキュリティ認証情報を使用して AWS リソースへのアクセスをリクエストする」を参照してください。