我无法在 aws cli 中获取会话令牌

问题描述 投票:0回答:1

我正在 awc cli 中运行以下命令

aws sts get-session-token --serial-number arn:aws:I am::<Account>:mfa/**** --token-code <MFA CODE>

每次我收到这样的回复

An error occurred (ExpiredToken) when calling the GetSessionToken operation: The security token included in the request is expired

任何人都可以帮我解决这个问题吗?

amazon-web-services aws-cli
1个回答
0
投票

由于您是 AWS 新手,让我们从基础知识开始...

在您自己的计算机上

如果您在自己的计算机上使用 AWS 命令行界面 (CLI),则需要一些 AWS 凭证才能使用您的 AWS 账户。

你应该:

  • 在 AWS 管理控制台中创建 IAM 用户并分配所需的权限
  • 在该用户的安全凭证选项卡中,选择创建访问密钥——这将提供访问密钥和秘密密钥
  • 在您的计算机上,使用 AWS CLI
    aws configure
    命令存储这些凭证 - 它将要求提供访问密钥和秘密密钥,并将它们存储在
    ~/.aws/credentials
    文件中

然后您应该能够使用 AWS CLI 访问您的 AWS 账户(例如

aws s3 ls
列出 S3 存储桶)。

在 Amazon EC2 实例上

如果您在 EC2 实例上运行 AWS CLI(或任何代码),那么您应该:

  • 创建 IAM 角色(而不是 IAM 用户)并分配所需的权限
  • 在启动时或使用操作/安全/修改 IAM 角色将 IAM 角色分配给您的 EC2 实例

然后您应该能够在 EC2 实例上使用 AWS CLI,并且它将拥有分配给 IAM 角色的权限。

MFA设备

你的问题显示了这个命令:

aws sts get-session-token --serial-number arn:aws:iam::<Account>:mfa/**** --token-code <MFA CODE>

这通常在您想要使用配置为需要多重身份验证的 IAM 实体时使用。该命令传递您在设备上观察到的 MFA 代码,并返回一组可用于访问 AWS 的新的临时凭证。如果您使用 MFA,那么您将不需要使用此命令。

© www.soinside.com 2019 - 2024. All rights reserved.