设置 AWS CLI
本主题介绍如何快速配置 AWS Command Line Interface (AWS CLI)的基本设置,以便与 AWS 交互。其中包括您的安全凭证、原定设置输出格式和原定设置 AWS 区域。
收集您的凭证信息以进行编程访问
如果您需要在 AWS Management Console 之外与 AWS 进行交互,则需要编程式访问权限。对于身份验证和凭证说明,请选择以下选项之一:
设置新的配置和凭证
AWS CLI 将您的配置和凭证信息存储在 credentials
和 config
文件的配置文件(设置集合)中。
以下示例将示例值用于每种身份验证方法。请将示例值替换为您自己的值。
使用 AWS CLI 命令进行配置
对于一般用途,在您的首选终端中使用 aws configure
或 aws configure sso
命令是设置 AWS CLI 安装的最快方法。根据您首选的凭证方法,AWS CLI 会提示您输入相关信息。预设情况下,当您运行的 AWS CLI 命令未明确指定要使用的配置文件时,将使用此配置文件中的信息。
有关 credentials
和 config
文件的更多信息,请参阅AWS CLI 中的配置和凭证文件设置。
- IAM Identity Center
(SSO)
-
此示例介绍使用 aws configure sso
向导的 AWS IAM Identity Center。有关更多信息,请参阅 使用 AWS 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 AWS 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
向导的 AWS IAM Identity Center 的传统方法。要使用传统 SSO,请将会话名称留空。有关更多信息,请参阅 使用 AWS CLI 配置 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 AWS 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
-
此示例介绍来自 AWS Identity and Access Management 的短期凭证。aws 配置向导用于设置初始值,然后 aws configure set
命令分配所需的最后一个值。有关更多信息,请参阅 在 AWS CLI 中使用短期凭证进行身份验证。
$
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
命令设置每个值。有关更多信息,请参阅 在 AWS 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
命令设置每个值。有关更多信息,请参阅 在 AWS CLI 中将 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
-
此示例介绍来自 AWS Identity and Access Management 的长期凭证。有关更多信息,请参阅 在 AWS CLI 中使用 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
有关身份验证和凭证方法的更多详细信息,请参阅 AWS CLI 身份验证和访问凭证。
手动编辑凭证和配置文件
在复制和粘贴信息时,我们建议手动编辑 config
和 credentials
文件。根据您首选的凭证方法,将通过不同的方式设置文件。
这些文件存储在您的主目录下的 .aws
文件夹中。主目录位置因操作系统而异,但在 Windows 中使用环境变量 %UserProfile%
引用,在基于 Unix 的系统中使用 $HOME
或 ~
(波形符)引用。有关这些设置的存储位置的更多信息,请参阅 配置设置存储在何处?。
以下示例显示了一个 default
配置文件和一个名为 user1
的配置文件,并且将使用示例值。请将示例值替换为您自己的值。有关 credentials
和 config
文件的更多信息,请参阅AWS CLI 中的配置和凭证文件设置。
- IAM Identity Center
(SSO)
-
此示例适用于 AWS IAM Identity Center。有关更多信息,请参阅 使用 AWS 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)
-
此示例介绍 AWS IAM Identity Center 的传统方法。有关更多信息,请参阅 使用 AWS CLI 配置 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
-
此示例介绍来自 AWS Identity and Access Management 的短期凭证。有关更多信息,请参阅 在 AWS CLI 中使用短期凭证进行身份验证。
凭证文件
[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
将借用相同的凭证,然后代入新角色。有关更多信息,请参阅 在 AWS 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 实例元数据中获得的凭证。有关更多信息,请参阅 在 AWS CLI 中将 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
-
此示例介绍来自 AWS Identity and Access Management 的长期凭证。有关更多信息,请参阅 在 AWS CLI 中使用 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
有关身份验证和凭证方法的更多详细信息,请参阅 AWS CLI 身份验证和访问凭证。
使用现有配置和凭证文件
如果您现在拥有配置和凭证文件,这些文件可用于 AWS CLI。
要使用 config
和 credentials
文件,请将它们移至主目录中名为 .aws
的文件夹中。主目录位置因操作系统而异,但在 Windows 中使用环境变量 %UserProfile%
引用,在基于 Unix 的系统中使用 $HOME
或 ~
(波形符)引用。
通过将 AWS_CONFIG_FILE
和 AWS_SHARED_CREDENTIALS_FILE
环境变量设置为另一个本地路径,可以为 config
和 credentials
文件指定非原定设置位置。有关详细信息,请参阅 为 AWS CLI 配置环境变量。
有关配置和凭证文件的更多详细信息,请参阅 AWS CLI 中的配置和凭证文件设置。