选择创建策略。
注意: 如果已对使用 AWS 命令行界面(AWS CLI)的 IAM 用户强制执行多重身份验证(MFA),则在完成下一步之前,必须使用 MFA 进行身份验证。显式拒绝消息表明,如果 MFA 为 false,则有一个拒绝操作的 IAM 策略:
{ "Version": "2012-10-17",
"Statement": [
{
"Sid": "BlockMostAccessUnlessSignedInWithMFA",
"Effect": "Deny",
"NotAction": [
"iam:CreateVirtualMFADevice",
"iam:EnableMFADevice",
"iam:ListMFADevices",
"iam:ListUsers",
"iam:ListVirtualMFADevices",
"iam:ResyncMFADevice",
"sts:GetSessionToken"
],
"Resource": "*",
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "false"
}
}
}
]
}
由于您使用 MFA 设备,因此必须使用 MFA 令牌通过AWS CLI 对 AWS 资源的访问进行身份验证。按照以下文章中的步骤进行操作:如何使用 MFA 令牌对通过 AWS CLI 进行的 AWS 资源访问执行身份验证?然后,运行 sts get-session-token AWS CLI 命令。将 arn-of-the-mfa-device 替换为您的 MFA 设备的 ARN,将 code-from-token 替换为您的令牌的代码:
$ aws sts get-session-token --serial-number arn-of-the-mfa-device --token-code code-from-token
可以通过将值导出到环境变量来使用临时凭证。
例如:
$ export AWS_ACCESS_KEY_ID=example-access-key-as-in-previous-output$ export AWS_SECRET_ACCESS_KEY=example-secret-access-key-as-in-previous-output$ export AWS_SESSION_TOKEN=example-session-token-as-in-previous-output