设置 Amazon CLI - Amazon Command Line Interface
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设置 Amazon CLI

本主题介绍如何快速配置 Amazon Command Line Interface (Amazon CLI) 用于交互的基本设置 Amazon。其中包括您的安全证书、默认输出格式和默认 Amazon 区域。

收集您的凭证信息以进行编程访问

如果您想在 Amazon 外部进行交互,则需要编程访问权限 Amazon Web Services Management Console。对于身份验证和凭证说明,请选择以下选项之一:

设置新的配置和凭证

将您的配置和凭据信息 Amazon CLI 存储在credentials文件中的配置config文件(设置集合)中。

以下示例将示例值用于每种身份验证方法。请将示例值替换为您自己的值。

使用 Amazon CLI 命令进行配置

对于一般用途,在您的首选终端中使用 aws configureaws configure sso 命令是设置 Amazon CLI 安装的最快方法。根据您首选的凭证方法, Amazon CLI 系统会提示您输入相关信息。默认情况下,当您运行未明确指定要使用的配置文件的 Amazon CLI 命令时,将使用此配置文件中的信息。

有关 credentialsconfig 文件的更多信息,请参阅 配置和凭证文件设置

IAM Identity Center (SSO)

此示例用于 Amazon IAM Identity Center 使用向aws configure sso导。有关更多信息,请参阅 配置 Amazon CLI 为使用 IAM Identity Center 令牌提供商凭证,并自动刷新身份验证

$ aws configure sso SSO session name (Recommended): my-sso SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 Attempting to automatically open the SSO authorization page in your default browser. There are 2 Amazon accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
IAM Identity Center (Legacy SSO)

此示例适用于 Amazon IAM Identity Center 使用aws configure sso向导的传统方法。要使用传统 SSO,请将会话名称留空。有关更多信息,请参阅 Amazon IAM Identity Center的旧版不可刷新配置

$ aws configure sso SSO session name (Recommended): SSO start URL [None]: https://my-sso-portal.awsapps.com/start SSO region [None]:us-east-1 SSO authorization page has automatically been opened in your default browser. Follow the instructions in the browser to complete this authorization request. There are 2 Amazon accounts available to you. > DeveloperAccount, developer-account-admin@example.com (111122223333) ProductionAccount, production-account-admin@example.com (444455556666) Using the account ID 111122223333 There are 2 roles available to you. > ReadOnly FullAccess Using the role name "ReadOnly" CLI default client Region [None]: us-west-2 CLI default output format [None]: json CLI profile name [123456789011_ReadOnly]: user1
Short-term credentials

此示例介绍来自 Amazon Identity and Access Management的短期凭证。aws 配置向导用于设置初始值,然后 aws configure set 命令分配所需的最后一个值。有关更多信息,请参阅 使用短期凭证进行身份验证

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json $ aws configure set aws_session_token fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
IAM role

此示例介绍代入 IAM 角色。使用 IAM 角色的配置文件从另一个配置文件提取凭证,然后应用 IAM 角色权限。在以下示例中,default 是凭证的源配置文件,user1 将借用相同的凭证,然后代入新角色。此过程没有向导,因此,将使用 aws configure set 命令设置每个值。有关更多信息,请参阅 在 Amazon CLI 中使用 IAM 角色

$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole $ aws configure set source_profile default $ aws configure set role_session_name session_user1 $ aws configure set region us-west-2 $ aws configure set output json
Amazon EC2 instance metadata credentials

此示例介绍从托管 Amazon EC2 实例元数据中获得的凭证。此过程没有向导,因此,将使用 aws configure set 命令设置每个值。有关更多信息,请参阅 将凭证用于 Amazon EC2 实例元数据

$ aws configure set role_arn arn:aws:iam::123456789012:role/defaultrole $ aws configure set credential_source Ec2InstanceMetadata $ aws configure set region us-west-2 $ aws configure set output json
Long-term credentials
警告

为了避免安全风险,在开发专用软件或处理真实数据时,请勿使用 IAM 用户进行身份验证,而是使用与身份提供商的联合身份验证,例如 Amazon IAM Identity Center

此示例介绍来自 Amazon Identity and Access Management的长期凭证。有关更多信息,请参阅 使用 IAM 用户凭证进行身份验证

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

有关身份验证和凭证方法的更多详细信息,请参阅 身份验证和访问凭证

手动编辑凭证和配置文件

在复制和粘贴信息时,我们建议手动编辑 configcredentials 文件。根据您首选的凭证方法,将通过不同的方式设置文件。

这些文件存储在您的主目录下的 .aws 文件夹中。主目录位置因操作系统而异,但在 Windows 中使用环境变量 %UserProfile% 引用,在基于 Unix 的系统中使用 $HOME~(波形符)引用。有关这些设置的存储位置的更多信息,请参阅 配置设置存储在何处?

以下示例显示了一个 default 配置文件和一个名为 user1 的配置文件,并且将使用示例值。请将示例值替换为您自己的值。有关 credentialsconfig 文件的更多信息,请参阅 配置和凭证文件设置

IAM Identity Center (SSO)

这个例子是为 Amazon IAM Identity Center了。有关更多信息,请参阅 配置 Amazon CLI 为使用 IAM Identity Center 令牌提供商凭证,并自动刷新身份验证

凭证文件

credentials 文件不用于此身份验证方法。

Config 文件

[default] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_session = my-sso sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start sso_registration_scopes = sso:account:access
IAM Identity Center (Legacy SSO)

此示例适用于的传统方法 Amazon IAM Identity Center。有关更多信息,请参阅 Amazon IAM Identity Center的旧版不可刷新配置

凭证文件

credentials 文件不用于此身份验证方法。

Config 文件

[default] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 111122223333 sso_role_name = readOnly region = us-west-2 output = text [profile user1] sso_start_url = https://my-sso-portal.awsapps.com/start sso_region = us-east-1 sso_account_id = 444455556666 sso_role_name = readOnly region = us-east-1 output = json
Short-term credentials

此示例介绍来自 Amazon Identity and Access Management的短期凭证。有关更多信息,请参阅 使用短期凭证进行身份验证

凭证文件

[default] aws_access_key_id=ASIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE [user1] aws_access_key_id=ASIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY aws_session_token = fcZib3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

Config 文件

[default] region=us-west-2 output=json [profile user1] region=us-east-1 output=text
IAM role

此示例介绍代入 IAM 角色。使用 IAM 角色的配置文件从另一个配置文件提取凭证,然后应用 IAM 角色权限。在以下示例中,default 是凭证的源配置文件,user1 将借用相同的凭证,然后代入新角色。有关更多信息,请参阅 在 Amazon CLI 中使用 IAM 角色

凭证文件

credentials 文件取决于源配置文件使用的身份验证。在以下示例中,源配置文件使用短期凭证。

[default] aws_access_key_id=ASIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

Config 文件

[default] region=us-west-2 output=json [profile user1] role_arn=arn:aws:iam::777788889999:role/user1role source_profile=default role_session_name=session_user1 region=us-east-1 output=text
Amazon EC2 instance metadata credentials

此示例介绍从托管 Amazon EC2 实例元数据中获得的凭证。有关更多信息,请参阅 将凭证用于 Amazon EC2 实例元数据

凭证文件

credentials 文件不用于此身份验证方法。

Config 文件

[default] role_arn=arn:aws:iam::123456789012:role/defaultrole credential_source=Ec2InstanceMetadata region=us-west-2 output=json [profile user1] role_arn=arn:aws:iam::777788889999:role/user1role credential_source=Ec2InstanceMetadata region=us-east-1 output=text
Long-term credentials
警告

为了避免安全风险,在开发专用软件或处理真实数据时,请勿使用 IAM 用户进行身份验证,而是使用与身份提供商的联合身份验证,例如 Amazon IAM Identity Center

此示例介绍来自 Amazon Identity and Access Management的长期凭证。有关更多信息,请参阅 使用 IAM 用户凭证进行身份验证

凭证文件

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY [user1] aws_access_key_id=AKIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY

Config 文件

[default] region=us-west-2 output=json [profile user1] region=us-east-1 output=text

有关身份验证和凭证方法的更多详细信息,请参阅 身份验证和访问凭证

使用现有配置和凭证文件

如果您现在拥有配置和凭证文件,这些文件可用于 Amazon CLI。

要使用 configcredentials 文件,请将它们移至主目录中名为 .aws 的文件夹中。主目录位置因操作系统而异,但在 Windows 中使用环境变量 %UserProfile% 引用,在基于 Unix 的系统中使用 $HOME~(波形符)引用。

通过将 AWS_CONFIG_FILEAWS_SHARED_CREDENTIALS_FILE 环境变量设置为另一个本地路径,可以为 configcredentials 文件指定非原定设置位置。有关详细信息,请参阅 用于配置的环境变量 Amazon CLI

有关配置和凭证文件的更多详细信息,请参阅 配置和凭证文件设置