设置 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 Web Services Management Console 之外与 Amazon 进行交互,则需要编程式访问权限。对于身份验证和凭证说明,请选择以下选项之一:

设置新的配置和凭证

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

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

使用 Amazon CLI 命令进行配置

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

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

IAM Identity Center (SSO)

此示例介绍使用 aws configure sso 向导的 Amazon IAM Identity Center。有关更多信息,请参阅Amazon 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)

此示例介绍使用 aws configure sso 向导的 Amazon IAM Identity Center 的传统方法。要使用传统 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 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=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token = IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE [user1] aws_access_key_id=AKIAI44QH8DHBEXAMPLE 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=AKIAIOSFODNN7EXAMPLE 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 的环境变量

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