

**本文档仅适用于 AWS CLI 版本 1。**

我们已宣布即将终止对 AWS CLI 版本 1 的支持。建议您迁移到 AWS CLI 版本 2。有关日期、其它详细信息以及如何迁移的信息，请参阅[公告](https://aws.amazon.com/blogs/developer/cli-v1-maintenance-mode-announcement/)。有关 AWS CLI 版本 2 的相关文档，请参阅[版本 2 用户指南](https://docs.aws.amazon.com/cli/latest/userguide/)。

# 为 AWS CLI 配置环境变量
<a name="cli-configure-envvars"></a>

环境变量提供了另一种指定配置选项和凭证的方法并且可用于编写脚本。

**选项的优先顺序**
+ 如果您使用本主题中描述的某个环境变量指定选项，则它将在配置文件中覆盖从配置文件加载的任何值。
+ 如果您通过在 AWS CLI 命令行上使用参数指定选项，则它将在配置文件中覆盖相应环境变量或配置文件中的任何值。

有关优先顺序以及 AWS CLI 如何确定使用哪些凭证的更多信息，请参阅[配置 AWS CLI 设置](cli-chap-configure.md)。

**Topics**
+ [如何设置环境变量](#envvars-set)
+ [AWS CLI 支持的环境变量](#envvars-list)

## 如何设置环境变量
<a name="envvars-set"></a>

下面的示例介绍您如何可以为默认用户配置环境变量。

------
#### [ Linux or macOS ]

```
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
$ export AWS_DEFAULT_REGION=us-west-2
```

设置环境变量会更改使用的值，直到 Shell 会话结束或直到您将该变量设置为其他值。通过在 shell 的启动脚本中设置变量，可使变量在未来的会话中继续有效。

------
#### [ Windows Command Prompt ]

**为所有会话设置**

```
C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE
C:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
C:\> setx AWS_DEFAULT_REGION us-west-2
```

使用 [https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx) 设置环境变量会更改当前命令提示符会话和运行该命令后创建的所有命令提示符会话中使用的值。它***不*** 影响在运行该命令时已经运行的其他命令 shell。您可能需要重启终端来加载设置。

**仅为当前会话设置**

使用 `[set](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/set_1)` 设置环境变量会更改使用的值，直到当前命令提示符会话结束，或者直到您将该变量设置为其他值。

```
C:\> set AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
C:\> set AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
C:\> set AWS_DEFAULT_REGION=us-west-2
```

------
#### [ PowerShell ]

```
PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"
PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
PS C:\> $Env:AWS_DEFAULT_REGION="us-west-2"
```

如果在 PowerShell 提示符下设置环境变量（如前面的示例所示），则仅保存当前会话持续时间的值。要在所有 PowerShell 和命令提示符会话中使环境变量设置保持不变，请使用**控制面板**中的**系统**应用程序来存储该变量。或者，您可以通过将其添加到 PowerShell 配置文件来为将来的所有 PowerShell 会话设置该变量。有关存储环境变量或跨会话保存它们的更多信息，请参阅 [PowerShell 文档](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_environment_variables)。

------

## AWS CLI 支持的环境变量
<a name="envvars-list"></a>

AWS CLI 支持以下环境变量。

**`AWS_ACCESS_KEY_ID`**  
指定与 IAM 账户关联的 AWS 访问密钥。  
如果已定义此环境变量，它将覆盖配置文件设置 `aws_access_key_id` 的值。您不能使用命令行选项来指定访问密钥 ID。

**`AWS_ACCOUNT_ID`**  
指定要用于调用受支持的 AWS 服务的基于 AWS 账户的端点 ID。有关基于账户的端点的更多信息，请参阅[基于账户的端点](cli-configure-endpoints.md#endpoints-accountid)。  
该设置会覆盖 `aws\$1account\$1id` 设置。`AWS\$1ACCOUNT\$1ID\$1ENDPOINT\$1MODE` 环境变量或 `account\$1id\$1endpoint\$1mode` 设置必须设置为 `preferred` 或 `required`，才能使用此设置。  
**端点优先级**  
端点配置设置位于多个位置（例如，系统变量或用户环境变量、本地 AWS 配置文件），或者在命令行上显式声明为参数。AWS CLI 按特定顺序检查这些端点设置，并使用优先级最高的端点设置。有关端点优先级列表，请参阅[端点配置和设置优先级](cli-configure-endpoints.md#endpoints-precedence)。

**`AWS_ACCOUNT_ID_ENDPOINT_MODE`**  
指定是否使用基于 AWS 账户的端点 ID 来调用受支持的 AWS 服务。有关基于账户的端点的更多信息，请参阅[基于账户的端点](cli-configure-endpoints.md#endpoints-accountid)。  
此设置可以设为以下值：  
+ **（默认）****`preferred`**：端点应包含账户 ID（如果有）。
+ **`disabled`**：已解析的端点不包含账户 ID。
+ **`required`**：端点必须包含账户 ID。如果账户 ID 不可用，SDK 会引发错误。
该设置会覆盖 `account\$1id\$1endpoint\$1mode` 设置。要使用基于账户的端点，必须在 `AWS\$1ACCOUNT\$1ID` 环境变量或 `aws\$1account\$1id` 设置中设置 ID。  
**端点优先级**  
端点配置设置位于多个位置（例如，系统变量或用户环境变量、本地 AWS 配置文件），或者在命令行上显式声明为参数。AWS CLI 按特定顺序检查这些端点设置，并使用优先级最高的端点设置。有关端点优先级列表，请参阅[端点配置和设置优先级](cli-configure-endpoints.md#endpoints-precedence)。

**`AWS_CA_BUNDLE`**  
指定要用于 HTTPS 证书验证的证书捆绑包的路径。  
如果已定义此环境变量，它将覆盖配置文件设置 `ca\$1bundle` 的值。您可以使用 `--ca-bundle` 命令行参数覆盖此环境变量。

**`AWS_CLI_HISTORY_FILE`**  
启用 `cli_history` 功能后，覆盖用于存储命令历史记录的默认位置。默认路径为 `~/.aws/cli/history/history.db`。您可以使用此变量来指定备用存储位置。

**`AWS_CLI_S3_MV_VALIDATE_SAME_S3_PATHS`**  
如果在使用 `s3 mv` 命令时源存储桶和目标存储桶相同，则可以将源文件或对象移到其自身上，这可能导致源文件或对象被意外删除。`AWS_CLI_S3_MV_VALIDATE_SAME_S3_PATHS` 环境变量和 `--validate-same-s3-paths` 选项指定是验证接入点 ARN 还是验证您的 Amazon S3 源或目标 URI 中的接入点别名。  
针对 `s3 mv` 的路径验证需要额外的 API 调用。

**`AWS_S3_DISABLE_EXPRESS_SESSION_AUTH`**  
是否禁用 S3 Express 会话身份验证。该值必须是布尔值。默认值为 false。如果设置为 true，则客户端将不使用 S3 Express 会话身份验证。  
如果已定义此环境变量，它将覆盖配置文件 S3 设置 `disable_s3_express_session_auth` 的值。

**`AWS_CLI_UPGRADE_DEBUG_MODE`**  
启用升级调试模式以引导从 AWS CLI v1 升级到 AWS CLI v2 的过程。有效值为 `true` 和 `false`。  
如果设置为 `true`，则 AWS CLI 将检测在 AWS CLI v2 中有突破性更改的更新功能的使用情况，并针对检测到的可能受影响的每种使用情况输出警告。您可以使用此模式为升级到 v2 准备环境和 AWS CLI 使用情况。  
您可以使用 `--v2-debug` 命令行参数覆盖此环境变量。  
有关 AWS CLI v1 到 v2 升级调试模式的信息，请参阅[使用升级调试模式将 AWS CLI 版本 1 升级到 AWS CLI 版本 2](https://docs.aws.amazon.com/cli/latest/userguide/cli-upgrade-debug-mode.html)。

**`AWS_CONFIG_FILE`**  
指定 AWS CLI 用于存储配置文件的文件的位置。默认路径为 `~/.aws/config`。  
您不能在命名配置文件设置中或使用命令行参数来指定此值。

**`AWS_DATA_PATH`**  
加载 AWS CLI 数据时要在 `~/.aws/models` 的内置搜索路径之外检查的其他目录的列表。设置此环境变量将指示在回滚到内置搜索路径前要先检查的其他目录。应使用 `os.pathsep` 字符（在 Linux 上为 `:`，在 Windows 上为 `;`）隔开多个条目。

**`AWS_DEFAULT_OUTPUT`**  
指定要使用的[输出格式](cli-usage-output.md)。  
如果已定义此环境变量，它将覆盖配置文件设置 `output` 的值。您可以使用 `--output` 命令行参数覆盖此环境变量。

**`AWS_DEFAULT_REGION`**  
`Default region name` 标识默认情况下您要将请求发送到的服务器所在的 AWS 区域。通常是离您最近的区域，但可以是任意区域。例如，您可以键入 `us-west-2` 以使用美国西部（俄勒冈）。除非在命令中另行指定，否则这是所有后续请求将发送到的区域。  
使用 AWS 时，必须明确指定或通过设置原定设置区域来指定 AWS CLI 区域。有关可用区域的列表，请参阅[区域和端点](https://docs.aws.amazon.com/general/latest/gr/rande.html)。AWS CLI 使用的区域指示符与您在 AWS 管理控制台 URL 和服务端点中看到的名称相同。
如果已定义此环境变量，它将覆盖 `region` 配置文件设置的值。您可以使用 `--region` 命令行参数来覆盖此环境变量。

**`AWS_EC2_METADATA_DISABLED`**  
禁用 Amazon EC2 实例元数据服务（IMDS）。  
如果设置为 true，则不会从 IMDS 请求用户凭证或配置（如区域）。

**`AWS_ENDPOINT_URL`**  
指定用于所有服务请求的端点。有关更多信息，请参阅 [为所有 AWS 服务设置全局端点](cli-configure-endpoints.md#endpoints-global)。  
**端点优先级**  
端点配置设置位于多个位置（例如，系统变量或用户环境变量、本地 AWS 配置文件），或者在命令行上显式声明为参数。AWS CLI 按特定顺序检查这些端点设置，并使用优先级最高的端点设置。有关端点优先级列表，请参阅[端点配置和设置优先级](cli-configure-endpoints.md#endpoints-precedence)。

**`AWS_ENDPOINT_URL_<SERVICE>`**  
指定用于特定服务的自定义端点，在该服务中 `<SERVICE>` 替换为 AWS 服务 标识符。例如，Amazon DynamoDB 具有 [https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/dynamodb/2012-08-10/service-2.json#L10](https://github.com/boto/botocore/blob/bcaf618c4b93c067efa0b85d3e92f3985ff60906/botocore/data/dynamodb/2012-08-10/service-2.json#L10) 的 `serviceId`。对于此服务，端点 URL 环境变量为 `AWS_ENDPOINT_URL_DYNAMODB`。  
有关特定于服务的所有环境变量的列表，请参阅[特定于服务的标识符列表](cli-configure-endpoints.md#endpoints-service-specific-table)。  
**端点优先级**  
端点配置设置位于多个位置（例如，系统变量或用户环境变量、本地 AWS 配置文件），或者在命令行上显式声明为参数。AWS CLI 按特定顺序检查这些端点设置，并使用优先级最高的端点设置。有关端点优先级列表，请参阅[端点配置和设置优先级](cli-configure-endpoints.md#endpoints-precedence)。

**`AWS_IGNORE_CONFIGURED_ENDPOINT_URLS`**  
如果启用，则 AWS CLI 将忽略所有自定义端点配置。有效值为 `true` 和 `false`。有关更多信息，请参阅 [为所有 AWS 服务设置全局端点](cli-configure-endpoints.md#endpoints-global)。  
端点配置设置位于多个位置（例如，系统变量或用户环境变量、本地 AWS 配置文件），或者在命令行上显式声明为参数。有关端点优先级，请参阅[端点配置和设置优先级](cli-configure-endpoints.md#endpoints-precedence)。  
**端点优先级**  
端点配置设置位于多个位置（例如，系统变量或用户环境变量、本地 AWS 配置文件），或者在命令行上显式声明为参数。AWS CLI 按特定顺序检查这些端点设置，并使用优先级最高的端点设置。有关端点优先级列表，请参阅[端点配置和设置优先级](cli-configure-endpoints.md#endpoints-precedence)。

**[`AWS_MAX_ATTEMPTS`](cli-configure-files.md#cli-config-max_attempts)**  
指定 AWS CLI 重试处理程序使用的最大重试次数值，其中初始调用计入您提供的值。有关重试的更多信息，请参阅[AWS CLI 中的 AWS CLI 重试次数](cli-configure-retries.md)。  
如果已定义此环境变量，它将覆盖配置文件设置 `max_attempts` 的值。

**`AWS_METADATA_SERVICE_NUM_ATTEMPTS`**  
尝试在已配置 IAM 角色的 Amazon EC2 实例上检索凭证时，AWS CLI 会在停止前尝试从实例元数据服务检索一次凭证。如果您知道您的命令将在 Amazon EC2 实例上运行，则可增大此值，以使 AWS CLI 在放弃前重试多次。

**`AWS_METADATA_SERVICE_TIMEOUT`**  
与实例元数据服务的连接超时前等待的秒数。尝试在已配置 IAM 角色的 Amazon EC2 实例上检索凭证时，默认情况下，与实例元数据服务的连接将在 1 秒后超时。如果您知道您正在已配置 IAM 角色的 Amazon EC2 实例上运行，如有必要，可增大此值。

**[`AWS_PROFILE`](cli-configure-files.md#cli-configure-files-using-profiles)**  
指定包含要使用的凭证和选项的 AWS CLI 配置文件的名称。可以是存储在 `credentials` 或 `config` 文件中的配置文件的名称，也可以是值 `default`，后者使用默认配置文件。  
如果您定义了此环境变量，它将在配置文件中覆盖使用名为 `[default]` 的配置文件的行为。您可以使用 `--profile` 命令行参数覆盖此环境变量。

**`AWS_REQUEST_CHECKSUM_CALCULATION`**  
指定何时计算请求有效载荷的校验和，并提供以下选项：  
+ `when_supported` –**（默认）**当操作在其服务模型中指定校验和算法或需要请求校验和时，将计算请求有效载荷校验和。
+ `when_required` – 当操作需要请求校验和或用户提供由 AWS 服务 建模的 `requestAlgorithmMember` 时，将计算请求有效载荷校验和。
如果已定义此环境变量，它将覆盖配置文件设置 [`request_checksum_calculation`](cli-configure-files.md#cli-config-request_checksum_calculation) 的值。

**`AWS_RESPONSE_CHECKSUM_VALIDATION`**  
指定何时对响应有效载荷执行校验和验证，并提供以下选项：  
+ `when_supported` –**（默认）**当操作在其服务模型中指定 AWS CLI 支持的响应算法时，将执行响应有效载荷校验和验证。
+ `when_required`：当操作在其服务模型中指定 AWS CLI 支持的响应算法，并且您在操作输出中将建模的 `requestValidationModeMember` 设置为 `ENABLED` 时，将执行响应有效载荷校验和验证。
如果已定义此环境变量，它将覆盖配置文件设置 [`response_checksum_validation`](cli-configure-files.md#cli-config-response_checksum_validation) 的值。

**[`AWS_RETRY_MODE`](cli-configure-files.md#cli-config-retry_mode)**  
指定 AWS CLI 使用哪种重试模式。有三种重试模式可用：旧模式（默认模式）、标准模式和自适应模式。有关重试的更多信息，请参阅[AWS CLI 中的 AWS CLI 重试次数](cli-configure-retries.md)。  
如果已定义此环境变量，它将覆盖配置文件设置 `retry_mode` 的值。

**`AWS_ROLE_ARN`**  
指定要用于运行 AWS CLI 命令的 IAM 角色的 Amazon Resource Name（ARN）以及 Web 身份提供者。  
结合使用 `AWS_WEB_IDENTITY_TOKEN_FILE` 和 `AWS_ROLE_SESSION_NAME` 环境变量。  
如果已定义此环境变量，它将覆盖配置文件设置 [`role_arn`](cli-configure-files.md#cli-config-role_arn) 的值。不能将角色会话名称指定为命令行参数。  
此环境变量仅适用于使用 Web 身份提供者的代入角色，而不适用于常规代入角色提供商配置。
有关使用 Web 身份的更多信息，请参阅 [通过 Web 身份代入角色](cli-configure-role.md#cli-configure-role-oidc)。

**`AWS_ROLE_SESSION_NAME`**  
指定要附加到角色会话的名称。此值在 `RoleSessionName` 调用 AWS CLI 操作时将提供给 `AssumeRole` 参数，并成为代入角色用户 ARN 的一部分：` arn:aws:sts::123456789012:assumed-role/role_name/role_session_name`。此参数为可选参数。如果未提供此值，则将自动生成会话名称。此名称显示在与此会话关联的条目的 AWS CloudTrail 日志中。  
如果已定义此环境变量，它将覆盖配置文件设置 [`role_session_name`](cli-configure-files.md#cli-config-role_session_name) 的值。  
结合使用 `AWS_ROLE_ARN` 和 `AWS_WEB_IDENTITY_TOKEN_FILE` 环境变量。  
有关使用 Web 身份的更多信息，请参阅 [通过 Web 身份代入角色](cli-configure-role.md#cli-configure-role-oidc)。  
此环境变量仅适用于使用 Web 身份提供者的代入角色，而不适用于常规代入角色提供商配置。

**`AWS_SDK_UA_APP_ID`**  
一个 AWS 账户可以供多个客户应用程序来调用 AWS 服务。应用程序 ID 标识哪个源应用程序使用 AWS 服务 进行了一组调用。AWSSDK 和服务不会使用或解释此值，除非将其显示在客户通信中。例如，此值可以包含在操作电子邮件中，以唯一标识您的哪个应用程序与通知相关联。  
默认情况下，没有值。  
应用程序 ID 是一个字符串，最大长度为 50 个字符。允许使用字母、数字和以下特殊字符：  

```
! $ % & * + - . , ^ _ ` | ~
```
如果已定义此环境变量，它将覆盖配置文件设置 [`sdk_ua_app_id`](cli-configure-files.md#cli-config-sdk_ua_app_id) 的值。您不能将应用程序 ID 指定为命令行选项。

**`AWS_SECRET_ACCESS_KEY`**  
指定与访问密钥关联的私有密钥。这基本上是访问密钥的“密码”。  
如果已定义此环境变量，它将覆盖配置文件设置 `aws_secret_access_key` 的值。您不能将秘密访问密钥 ID 指定为命令行选项。

**`AWS_SESSION_TOKEN`**  
指定在使用您直接从 AWS STS 操作中检索的临时安全凭证时需要的会话令牌值。有关更多信息，请参阅 *AWS CLI 命令引用*中的[代入角色命令的输出部分](https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html#output)。  
如果已定义此环境变量，它将覆盖配置文件设置 `aws_session_token` 的值。

**`AWS_SHARED_CREDENTIALS_FILE`**  
指定 AWS CLI 用于存储访问密钥的文件的位置。默认路径为 `~/.aws/credentials`。  
您不能在命名配置文件设置中或使用命令行参数来指定此值。

**`AWS_SIGV4A_SIGNING_REGION_SET`**  
使用逗号分隔列表指定在通过 SigV4a 进行签名时要使用的区域。如果未设置此变量，AWS CLI 会使用 AWS 服务 所使用的默认值。如果 AWS 服务 没有默认值，则请求签名将使用 `*` 作为值，在所有区域内生效。  
有关 SigV4a 的更多信息，请参阅《IAM 用户指南》**中的[适用于 API 请求的 AWS 签名版本 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html)。  
如果已定义此环境变量，它将覆盖配置文件设置 [`sigv4a_signing_region_set`](cli-configure-files.md#cli-config-sigv4a_signing_region_set) 的值。

**[`AWS_STS_REGIONAL_ENDPOINTS`](cli-configure-files.md#cli-config-sts_regional_endpoints)**  
指定 AWS CLI 如何确定 AWS CLI 客户端用于与 AWS Security Token Service (AWS STS) 通信的 AWS 服务端点。AWS CLI 版本 1 的默认值为 `legacy`。  
您可以指定以下两个值之一：  
+ **`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`。

**`AWS_USE_DUALSTACK_ENDPOINT`**  
允许使用双堆栈端点发送 AWS 请求。要详细了解支持 IPv4 和 IPv6 流量的双堆栈端点，请参阅 *Amazon Simple Storage Service 用户指南*中的[使用 Amazon S3 双堆栈端点](https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html)。双堆栈端点适用于某些区域。如果不存在适用于服务和/或 AWS 区域的双堆栈端点，则请求将失败。默认情况下，将禁用该功能。有关更多信息，请参阅 [设置成为所有 AWS 服务使用双堆栈端点](cli-configure-endpoints.md#endpoints-dual-stack)。  
**端点优先级**  
端点配置设置位于多个位置（例如，系统变量或用户环境变量、本地 AWS 配置文件），或者在命令行上显式声明为参数。AWS CLI 按特定顺序检查这些端点设置，并使用优先级最高的端点设置。有关端点优先级列表，请参阅[端点配置和设置优先级](cli-configure-endpoints.md#endpoints-precedence)。

**`AWS_USE_FIPS_ENDPOINT`**  
在某些 AWS 区域，部分 AWS 服务提供支持[美国联邦信息处理标准 (FIPS) 140-2](https://aws.amazon.com/compliance/fips/) 的端点。当 AWS 服务支持 FIPS 时，此设置指定 AWS CLI 应使用哪个 FIPS 端点。与标准 AWS 端点不同，FIPS 端点使用符合 FIPS 140-2 的 TLS 软件库。与美国政府有业务来往的企业可能需要使用这些端点。有关更多信息，请参阅[设置成为所有 AWS 服务使用 FIPS 端点](cli-configure-endpoints.md#endpoints-fips)。  
如果启用此设置，但不存在适用于您所在 AWS 区域中的服务的 FIPS 端点，则 AWS 命令可能会失败。在这种情况下，请使用 `--endpoint-url` 选项手动指定要在命令中使用的端点，或者使用[特定于服务的端点](cli-configure-endpoints.md#endpoints-service-specific)。  
**端点优先级**  
端点配置设置位于多个位置（例如，系统变量或用户环境变量、本地 AWS 配置文件），或者在命令行上显式声明为参数。AWS CLI 按特定顺序检查这些端点设置，并使用优先级最高的端点设置。有关端点优先级列表，请参阅[端点配置和设置优先级](cli-configure-endpoints.md#endpoints-precedence)。

**[`AWS_WEB_IDENTITY_TOKEN_FILE`](#cli-configure-envvars)**  
指定一个文件的路径，该文件包含由身份提供者提供的 OAuth 2.0 访问令牌或 OpenID Connect ID 令牌。AWS CLI 加载此文件的内容，并将其作为 `WebIdentityToken` 参数传递给 `AssumeRoleWithWebIdentity` 操作。  
结合使用 `AWS_ROLE_ARN` 和 `AWS_ROLE_SESSION_NAME` 环境变量。  
如果已定义此环境变量，它将覆盖配置文件设置 `web_identity_token_file` 的值。  
有关使用 Web 身份的更多信息，请参阅 [通过 Web 身份代入角色](cli-configure-role.md#cli-configure-role-oidc)。  
此环境变量仅适用于使用 Web 身份提供者的代入角色，而不适用于常规代入角色提供商配置。