S3にアップロードするツールを使用するために環境変数を設定するためにセッショントークンを取得しようとしていますが、AWSプロファイルを直接サポートしていません。
_aws sts get-session-token --profile myprofile
Enter MFA code for arn:aws:iam::1234567890:mfa/myid:
An error occurred (AccessDenied) when calling the GetSessionToken operation:
Cannot call GetSessionToken with session credentials
_
後続の呼び出しはMFAチェックをスキップし、それがOKを渡したことを示します。
_get-session-token
--profile
_パラメータを実行する_$ aws sts get-session-token
{
"Credentials": {
...
_の実行:
_~/.aws/config
_
何が悪いのでしょうか。私もこの正しい方法についてさえありますか?
私の__(somebode)の関連部分__:
_[profile otherprofile]
mfa_serial=arn:aws:iam::xxx:mfa/myid
aws_access_key_id=xxx
aws_secret_access_key=xxx
[profile myprofile]
source_profile=otherprofile
region=ap-southeast-2
role_arn=arn:aws:iam::xxx:role/owner
mfa_serial=arn:aws:iam::xxx:mfa/myid
_
初期通話はIAMの役割を使用しています。一時的な資格情報を返すであろうget-session-token
を呼び出すことを試みています。
ただし、IAMの役割が使用されている場合、AWS CLIは通常の認証情報を自動的に使用してassume-role
を呼び出し、それによって一時資格情報のセットを受け取ります。 (ロールから)一時的な信任状を持つget-session-token
を呼び出すことはできません。これが、エラーメッセージがCannot call GetSessionToken with session credentials
にある理由です。
あなたがあなたがあなたの2番目の例で行ったように、get-session-token
を呼び出したい場合は、あなたはあなたの通常の資格情報を使ってそれをする必要があります。