Python 2.7、3.4 和 3.5 已被弃用 AWS CLI 版本 1。有关更多信息,请参阅 关于AWS CLI版本 的 AWS CLI 版本 1 部分。
用于配置 AWS CLI 的环境变量
环境变量提供了另一种指定配置选项和凭证的方法;若要编写脚本或将一个命名配置文件临时设置为默认配置文件,环境变量会很有用。
您不能使用环境变量指定 AWS Single Sign-On (AWS SSO) 身份验证。而是必须在共享配置文件 .aws/config
中使用命名的配置文件。有关更多信息,请参阅 配置 AWS CLI 以使用 AWS Single Sign-On 。
选项的优先顺序
-
如果您使用本主题中描述的某个环境变量指定选项,则它将在配置文件中覆盖从配置文件加载的任何值。
-
如果您通过在 CLI 命令行上使用参数指定选项,则它将在配置文件中覆盖相应环境变量或配置文件中的任何值。
有关优先顺序以及 AWS CLI 如何确定使用哪些凭证的更多信息,请参阅配置设置和优先顺序。
如何设置环境变量
下面的示例介绍您如何可以为默认用户配置环境变量。
AWS CLI 支持的环境变量
AWS CLI 支持以下环境变量。
AWS_ACCESS_KEY_ID
-
指定与 IAM 用户或角色关联的 AWS 访问密钥。
如果已定义,此环境变量将覆盖配置文件设置
aws_access_key_id
的值。您不能使用命令行选项来指定访问密钥 ID。 AWS_CA_BUNDLE
-
指定要用于 HTTPS 证书验证的证书捆绑包的路径。
如果已定义,此环境变量将覆盖配置文件设置
ca_bundle
的值。您可以使用--ca-bundle
命令行参数覆盖此环境变量。 AWS_CLI_AUTO_PROMPT
-
此功能仅适用于 AWS CLI 版本 2。 仅当您使用 AWS CLI 版本 2 时,以下功能才可用。如果您运行 AWS CLI 版本 1,则此功能不可用。有关如何安装版本 2 的信息,请参阅安装、更新和卸载 AWS CLI 版本 2。
为 AWS CLI 版本 2 启用自动提示。可以使用两种设置:
-
on
每次尝试运行aws
命令时都会使用完整的自动提示模式。这包括在完整或不完整的命令之后按 ENTER 键。aws_cli_auto_prompt=on
-
on-partial
使用部分自动提示模式。如果命令不完整或由于客户端验证错误而无法运行,则使用自动提示。如果您已有现有脚本、运行手册,或者如果您希望只对于不熟悉的命令收到自动提示,而不是每个命令都收到提示,则此模式将非常有帮助。aws_cli_auto_prompt=on-partial
如果已定义,此环境变量将覆盖
cli_auto_prompt
配置文件设置的值。您可以使用--cli-auto-prompt
和--no-cli-auto-prompt
命令行参数覆盖此环境变量。有关 AWS CLI 版本 2 自动提示功能的信息,请参阅 让 AWS CLI 提示您输入命令。
-
AWS_CLI_FILE_ENCODING
-
仅限 AWS CLI 版本 2。指定用于文本文件的编码。默认情况下,编码与您的区域设置匹配。要设置与区域设置不同的编码,请使用
aws_cli_file_encoding
环境变量。例如,如果您使用 Windows 以及默认编码CP1252
,则aws_cli_file_encoding=UTF-8
设置会将 CLI 设置为使用UTF-8
打开文本文件。 AWS_CONFIG_FILE
-
指定 AWS CLI 用于存储配置文件的文件的位置。默认路径为
~/.aws/config
。您不能在命名配置文件设置中或使用命令行参数来指定此值。
- AWS_DEFAULT_OUTPUT
-
指定要使用的输出格式。
如果已定义,此环境变量将覆盖配置文件设置
output
的值。您可以使用--output
命令行参数覆盖此环境变量。 - AWS_DEFAULT_REGION
-
指定要将请求发送到的 AWS 区域。
如果已定义,此环境变量将覆盖配置文件设置
region
的值。您可以使用--region
命令行参数覆盖此环境变量。 AWS_EC2_METADATA_DISABLED
-
禁用 Amazon EC2 实例元数据服务 (IMDS)。
如果设置为 false,则不会从 IMDS 请求用户凭证或配置(如区域)。
- AWS_MAX_ATTEMPTS
-
指定 AWS CLI 重试处理程序使用的最大重试次数值,其中初始调用计入您提供的值。有关重试的更多信息,请参阅AWS CLI 重试次数。
如果已定义,此环境变量将覆盖配置文件设置
max_attempts
的值。 - AWS_PAGER
-
指定用于处理输出的分页程序。默认情况下,AWS CLI 版本 2 会通过操作系统的默认分页程序返回所有输出。
要完全禁用外部分页程序,请将该变量设置为空字符串。
如果已定义,此环境变量将覆盖配置文件设置
cli_pager
的值。 - AWS_PROFILE
-
指定包含要使用的凭证和选项的 CLI 配置文件的名称。可以是存储在
credentials
或config
文件中的配置文件的名称,也可以是值default
,后者使用默认配置文件。如果您定义了此环境变量,它将在配置文件中覆盖使用名为
[default]
的配置文件的行为。您可以使用--profile
命令行参数覆盖此环境变量。 - AWS_RETRY_MODE
-
指定 AWS CLI 使用哪种重试模式。有三种重试模式可用:旧模式(默认模式)、标准模式和自适应模式。有关重试的更多信息,请参阅AWS CLI 重试次数。
如果已定义,此环境变量将覆盖配置文件设置
retry_mode
的值。 - AWS_ROLE_SESSION_NAME
-
指定要与角色会话关联的名称。此值显示在此配置文件的用户执行的命令的 CloudTrail 日志中。
如果已定义,此环境变量将覆盖配置文件设置
role_session_name
的值。不能将角色会话名称指定为命令行参数。 AWS_SECRET_ACCESS_KEY
-
指定与访问密钥关联的私有密钥。这基本上是访问密钥的“密码”。
如果已定义,此环境变量将覆盖配置文件设置
aws_secret_access_key
的值。您不能将秘密访问密钥 ID 指定为命令行选项。 AWS_SESSION_TOKEN
-
指定在使用您直接从 AWS STS 操作中检索的临时安全凭证时需要的会话令牌值。有关更多信息,请参阅 AWS CLI Command Reference 中的代入角色命令的输出部分。
如果已定义,此环境变量将覆盖配置文件设置
aws_session_token
的值。您不能将会话令牌指定为命令行选项。 AWS_SHARED_CREDENTIALS_FILE
-
指定 AWS CLI 用于存储访问密钥的文件的位置。默认路径为
~/.aws/credentials
。您不能在命名配置文件设置中或使用命令行参数来指定此值。
- AWS_STS_REGIONAL_ENDPOINTS
-
指定 AWS CLI 如何确定 AWS CLI 客户端用于与 AWS Security Token Service (AWS STS) 通信的 AWS 服务终端节点。
-
AWS CLI 版本 1 的默认值为
legacy
。 -
AWS CLI 版本 2 的默认值为
regional
。
您可以指定以下两个值之一:
-
legacy
– 对以下 AWS 区域使用全局 STS 终端节点sts.amazonaws.com
:ap-northeast-1
、ap-south-1
、ap-southeast-1
、ap-southeast-2
、aws-global
、ca-central-1
、eu-central-1
、eu-north-1
、eu-west-1
、eu-west-2
、eu-west-3
、sa-east-1
、us-east-1
、us-east-2
、us-west-1
和us-west-2
。所有其他区域自动使用其各自的区域终端节点。 -
regional
– AWS CLI 始终使用当前配置的区域的 AWS STS 终端节点。例如,如果客户端已配置为使用us-west-2
,则对 AWS STS 进行的所有调用都针对区域终端节点sts.us-west-2.amazonaws.com
而非全局sts.amazonaws.com
终端节点。要在启用此设置时向全局终端节点发送请求,您可以将区域设置为aws-global
。
-