

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

# 创建用于通过编程方式访问 Amazon Keyspaces 的凭证。
<a name="programmatic.credentials"></a>

要为用户和应用程序提供凭证，以通过编程方式访问 Amazon Keyspaces 资源，您可以执行以下任一操作：
+ 创建与 Cassandra 用于身份验证和访问管理的传统用户名和密码相似的特定服务凭证。 AWS 特定于服务的凭证与特定 AWS Identity and Access Management (IAM) 用户相关联，并且只能用于为其创建的服务。有关详细信息，请参阅《IAM 用户指南》中的[结合使用 IAM 与 Amazon Keyspaces（Apache Cassandra 兼容）](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_keyspaces.html)。
**警告**  
IAM 用户具有长期凭证，这会带来安全风险。为帮助减轻这种风险，我们建议仅向这些用户提供执行任务所需的权限，并在不再需要这些用户时将其移除。
+ 为了增强安全性，我们建议创建用于所有 AWS 服务的 IAM 身份并使用临时证书。借助适用于 Cassandra 客户端驱动程序的 Amazon Keyspaces SigV4 身份验证插件，您可以使用 IAM 访问密钥而不是用户名和密码来验证对 Amazon Keyspaces 的调用。要进一步了解 Amazon Keyspaces SigV4 插件如何支持 [IAM 用户、角色和联合身份](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)在 Amazon Keyspaces API 请求中进行身份验证，请参阅 [AWS 签名版本 4 流程 (SigV4)](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)。

  您可以从以下位置下载 SigV4 插件。
  + Java：[https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin](https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin)。
  + Node.js：[https://github.com/aws/aws-sigv4-auth-cassandra-nodejs-driver-plugin](https://github.com/aws/aws-sigv4-auth-cassandra-nodejs-driver-plugin)。
  + Python: [https://github.com/aws/aws-sigv4-auth-cassandra-python-driver-plugin](https://github.com/aws/aws-sigv4-auth-cassandra-python-driver-plugin)。
  + Go：[https://github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin](https://github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin)。

  有关如何使用 SigV4 身份验证插件建立连接的代码示例，请参阅[使用 Cassandra 客户端驱动程序以编程方式访问 Amazon Keyspaces](programmatic.drivers.md)。

**Topics**
+ [创建服务特定凭证](programmatic.credentials.ssc.md)
+ [创建用于 AWS 身份验证的 IAM 证书](access.credentials.md)

# 创建用于通过编程方式访问 Amazon Keyspaces 的服务特定凭证。
<a name="programmatic.credentials.ssc"></a>

服务特定凭证与 Cassandra 用于身份验证和访问管理的传统用户名和密码类似。使用服务特定凭证，IAM 用户可以访问特定的 AWS 服务。这些长期凭证不能用于访问其他 AWS 服务。它们与特定 IAM 用户相关联，其他 IAM 用户无法使用。

**重要**  
服务特定凭证是与特定 IAM 用户相关联的长期凭证，只能用于所针对的服务。要授予 IAM 角色或联合身份使用临时证书访问您的所有 AWS 资源的权限，您应使用AWS 适用于 A [mazon Keyspaces 的 Sigv4 身份验证插件进行身份验证](access.credentials.md)。

使用以下过程之一生成服务特定凭证。

------
#### [ Console ]

**使用控制台创建服务特定凭证**

1. 登录 AWS 管理控制台 并打开 AWS Identity and Access Management 控制台，网址为[https://console.aws.amazon.com/iam/home](https://console.aws.amazon.com/iam/home)。

1. 在导航窗格中，选择**用户**，然后选择之前创建的具有 Amazon Keyspaces 权限（已附加策略）的用户。

1. 选择 **Security Credentials (安全凭证)**。在 **Amazon Keyspaces 的凭证**下，选择**生成凭证**以生成服务特定凭证。

   您的服务特定凭证现在可用。这是您下载或查看密码的唯一机会。以后您无法恢复它。不过，您可以随时重置密码。将用户和密码保存在安全的位置，因为随后您需要使用它们。

------
#### [ CLI ]

**使用创建特定于服务的凭证 AWS CLI**

 在生成特定于服务的凭证之前，您需要下载、安装和配置 AWS Command Line Interface (AWS CLI)：

1.  AWS CLI 在 [http://aws.amazon.com/cli](https://aws.amazon.com/cli) 下载。
**注意**  
它们可以在 Windows、macOS 或 Linux 上 AWS CLI 运行。

1. 按照*AWS Command Line Interface 用户指南*中有关[安装 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 和[配置 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) 的说明进行操作。

1. 使用运行以下命令为用户`alice`生成特定于服务的证书，以便她可以访问 Amazon Keyspaces。 AWS CLI

   ```
   aws iam create-service-specific-credential \
       --user-name alice \
       --service-name cassandra.amazonaws.com
   ```

输出如下所示。

```
{
    "ServiceSpecificCredential": {
        "CreateDate": "2019-10-09T16:12:04Z",
        "ServiceName": "cassandra.amazonaws.com",
        "ServiceUserName": "alice-at-111122223333",
        "ServicePassword": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
        "ServiceSpecificCredentialId": "ACCAYFI33SINPGJEBYESF",
        "UserName": "alice",
        "Status": "Active"
    }
}
```

在输出中，记下 `ServiceUserName` 和 `ServicePassword` 的值。将这些值保存在安全位置，因为稍后将需要它们。

**重要**  
这是您唯一能够看到 `ServicePassword` 的机会。

------

# 为 Amazon Keyspaces 创建和配置 AWS 证书
<a name="access.credentials"></a>

要使用 AWS CLI、软件开发工具包或 Cassandra 客户端驱动程序和 Sigv4 插件以编程方式访问 Amazon AWS Keyspaces，您需要一个拥有访问密钥的 IAM 用户。当您以编程方式使用 Amazon Keyspaces 时，您需要提供 AWS 访问密钥，以便 AWS 可以在编程调用中验证您的身份。您的访问密钥由访问密钥 ID（ AKIAIOSFODNN7例如，示例）和私有访问密钥（例如wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY）组成。本主题将引导您完成此过程中的必要步骤。

安全最佳实践建议创建权限有限的 IAM 用户，改为将 IAM 角色与执行特定任务所需的权限相关联。然后，IAM 用户可以临时代入 IAM 角色来执行所需任务。例如，您账户中使用 Amazon Keyspaces 控制台的 IAM 用户可切换为某个角色，以临时使用该控制台中的角色的权限。该用户放弃自己的原始权限，采用分配给该角色的权限。用户退出角色时，将恢复其原始权限。用户用于代入该角色的凭证是临时的。相反，IAM 用户拥有长期凭证，如果直接为他们分配权限而非代入角色，这将会带来安全风险。为帮助减轻这种风险，我们建议仅向这些用户提供执行任务所需的权限，并在不再需要这些用户时将其移除。有关角色的更多信息，请参阅《IAM 用户指南》**中的[角色的常见场景：用户、应用程序和服务](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios.html)。

**Topics**
+ [适用于 Cassandra AWS CLI客户端驱动程序的、 AWS 软件开发工具包或 Amazon Keyspaces Sigv4 插件所需的凭证](SigV4_credentials.md)
+ [使用 IAM 角色和 SigV4 插件创建用于连接 Amazon Keyspaces 的临时凭证](temporary.credentials.IAM.md)
+ [创建一个 IAM 用户，以便以编程方式访问您账户中的 Amazon Keyspaces AWS](access.credentials.IAM.md)
+ [为 IAM 用户创建新的访问密钥](create.keypair.md)
+ [存储用于通过编程方式进行访问的访问密钥](aws.credentials.manage.md)

# 适用于 Cassandra AWS CLI客户端驱动程序的、 AWS 软件开发工具包或 Amazon Keyspaces Sigv4 插件所需的凭证
<a name="SigV4_credentials"></a>

对 IAM 用户或角色进行身份验证需要以下凭证：

`AWS_ACCESS_KEY_ID`  
指定与 IAM 用户或角色关联的 AWS 访问密钥。  
以编程方式连接 Amazon Keyspaces 需要使用访问密钥 `aws_access_key_id`。

`AWS_SECRET_ACCESS_KEY`  
指定与访问密钥关联的私有密钥。这基本上是访问密钥的“密码”。  
以编程方式连接 Amazon Keyspaces 需要使用 `aws_secret_access_key`。

`AWS_SESSION_TOKEN` – 可选。  
指定在使用您直接从 AWS Security Token Service 操作中检索的临时安全凭证时需要的会话令牌值。有关更多信息，请参阅 [使用 IAM 角色和 SigV4 插件创建用于连接 Amazon Keyspaces 的临时凭证](temporary.credentials.IAM.md)。  
如果您使用 IAM 用户进行连接，则不需要 `aws_session_token`。

# 使用 IAM 角色和 SigV4 插件创建用于连接 Amazon Keyspaces 的临时凭证
<a name="temporary.credentials.IAM"></a>

对于通过编程方式访问 Amazon Keyspaces，推荐的做法是通过 SigV4 插件使用[临时凭证](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)进行身份验证。在许多情况下，您并不需要永不过期的长期访问密钥（如 IAM 用户访问密钥）。相反，您可以创建一个 IAM 角色并生成临时安全凭证。临时安全证书包括访问密钥 ID 和秘密访问密钥，以及一个指示证书何时到期的安全令牌。要详细了解如何使用 IAM 角色而不是长期访问密钥，请参阅[切换到 IAM 角色 (AWS API)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-api.html)。

要开始使用临时凭证，您首先需要创建一个 IAM 角色。

**创建授予对 Amazon Keyspaces 的只读访问权的 IAM 角色。**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中，选择**角色**，然后选择**创建角色**。

1. 在**创建角色**页面上的**选择受信实体类型**下，选择 **AWS 服务**。在**使用案例**下，选择 **Amazon EC2**，然后选择**下一步**。

1. 在**添加权限**页面的**权限策略**下，从策略列表中选择 **Amazon Keyspaces 只读访问**，然后选择**下一步**。

1. 在**命名、审核和创建**页面上，为角色输入名称，并查看**选择受信实体**和**添加权限**部分。您还可以在此页面上为角色添加可选标签。完成后，选择**创建角色**。请记住此名称，因为您在启动 Amazon EC2 实例时会用到它。

要在代码中使用临时安全证书，您需要以编程方式调用 AWS Security Token Service API，`AssumeRole`并从您在上一步中创建的 IAM 角色中提取生成的证书和会话令牌。然后，您可以使用这些值作为后续调用的凭据 AWS。下面的示例展示了有关如何使用临时安全凭证的伪代码：

```
assumeRoleResult = AssumeRole(role-arn);
tempCredentials = new SessionAWSCredentials(
   assumeRoleResult.AccessKeyId, 
   assumeRoleResult.SecretAccessKey, 
   assumeRoleResult.SessionToken);
cassandraRequest = CreateAmazoncassandraClient(tempCredentials);
```

有关使用 Python 驱动程序实施临时凭证以访问 Amazon Keyspaces 的示例，请参阅[使用适用于 Apache Cassandra 的 Pyt DataStax hon 驱动程序和 SigV4 身份验证插件连接到亚马逊密钥空间](using_python_driver.md#python_SigV4)。

有关如何调用 `AssumeRole`、`GetFederationToken` 和其他 API 操作的详细信息，请参阅 [AWS Security Token Service API 参考](https://docs.aws.amazon.com/STS/latest/APIReference/)。有关从结果中获取临时安全凭证和会话令牌的信息，请参阅所用开发工具包的文档。你可以在主文档 AWS SDKs [页面的**SDKs 和工具包**部分找到所有文档的AWS 文档](https://aws.amazon.com/documentation)。

# 创建一个 IAM 用户，以便以编程方式访问您账户中的 Amazon Keyspaces AWS
<a name="access.credentials.IAM"></a>

要通过 AWS CLI、软件开发工具包或 Sigv4 插件获取以编程方式访问 Amazon AWS Keyspaces 的证书，您需要先创建 IAM 用户或角色。以下步骤显示了创建 IAM 用户并将该 IAM 用户配置为以编程方式访问 Amazon Keyspaces 的过程：

1. 在 AWS 管理控制台、、Windows 工具中创建用户 PowerShell，或者使用 AWS API 操作创建用户。 AWS CLI如果您在中创建用户 AWS 管理控制台，则会自动创建凭据。

1. 如果以编程方式创建用户，您必须通过额外步骤为该用户创建访问密钥（访问密钥 ID 和秘密访问密钥）。

1. 向用户授予访问 Amazon Keyspaces 的权限。

有关创建 IAM 用户所需的权限的信息，请参阅[访问 IAM 资源所需的权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_permissions-required.html)。

------
#### [ Console ]

**创建可通过编程方式进行访问的 IAM 用户（控制台）**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中，选择 **Users**（用户），然后选择 **Add users**（添加用户）。

1. 为新用户键入用户名。这是的登录名。 AWS
**注意**  
用户名可以是一个最多由 64 个字母、数字和以下字符构成的组合：加号 (\$1)、等号 (=)、逗号 (,)、句点 (.)、at 符号 (@)、下划线 (\$1) 和连字符 (-)。账户中的姓名必须是唯一的。它们不按大小写区分。例如，您不能创建名为 *TESTUSER* 和 *testuser* 的两个用户。

1. 选择**访问密钥 - 编程访问**，为新用户创建一个访问密钥。您可以在转到**最终**页面后查看或下载访问密钥。

   选择**下一步: 权限**。

1. 在**设置权限**页面，选择**直接附加现有策略**，为新用户分配权限。

   此选项显示您账户中可用的 AWS 托管和客户托管策略列表。您可以在搜索字段中输入 `keyspaces`，以仅显示与 Amazon Keyspaces 相关的策略。

   对于 Amazon Keyspaces，可用的托管策略是 `AmazonKeyspacesFullAccess` 和 `AmazonKeyspacesReadOnlyAccess`。有关每项策略的更多信息，请参阅 [AWS Amazon Keyspaces 的托管策略](security-iam-awsmanpol.md)。

   要进行测试和学习连接教程，请为新 IAM 用户选择 `AmazonKeyspacesReadOnlyAccess` 策略。**注意**：作为最佳实践，我们建议您遵循最低权限原则并创建自定义策略，限制对特定资源的访问并仅允许所需操作。有关 IAM policy 的更多信息以及查看 Amazon Keyspaces 的示例策略，请参阅[Amazon Keyspaces 基于身份的策略](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies)。创建自定义权限策略后，请将策略附加到角色，然后使用户临时代入相应角色。

   选择**下一步：标签**。

1. 在**添加标签（可选）**页面，您可以为用户添加标签，或选择**下一步：审核**。

1. 在**审核**页面，您可以看到目前所做的所有选择。如果您已准备好继续，请选择**创建用户**。

1. 要查看用户的访问密钥（访问密钥 IDs 和私有访问密钥），请选择密码和访问密钥旁边的**显示**。要保存访问密钥，请选择**下载 .csv**，然后将文件保存到安全位置。
**重要**  
这是您查看或下载秘密访问密钥的唯一机会，您需要提供这些信息，他们才能使用 SigV4 插件。将用户的新访问密钥 ID 和秘密访问密钥保存在安全的地方。完成此步骤后，您再也无法访问这些秘密访问密钥。

------
#### [ CLI ]

**创建可通过编程方式进行访问的 IAM 用户（AWS CLI）**

1. 使用以下 AWS CLI 代码创建用户。
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/create-user.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-user.html)

1. 向用户提供编程访问权限。这需要访问密钥，访问密钥可通过以下方式生成。
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html)
   + 适用于 Windows 的工具 PowerShell：[https://docs.aws.amazon.com/powershell/latest/reference/items/New-IAMAccessKey.html](https://docs.aws.amazon.com/powershell/latest/reference/items/New-IAMAccessKey.html)
   + IAM API：[https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html)
**重要**  
这是您查看或下载秘密访问密钥的唯一机会，您需要提供这些信息，他们才能使用 SigV4 插件。将用户的新访问密钥 ID 和秘密访问密钥保存在安全的地方。完成此步骤后，您再也无法访问这些秘密访问密钥。

1. 将 `AmazonKeyspacesReadOnlyAccess` 策略（用于定义用户权限的）附加到用户。**注意：**作为最最佳实践，我们建议您通过将用户添加到组并向该组附加策略（而不是直接附加到用户）来管理用户权限。
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/attach-user-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-user-policy.html)

------

# 为 IAM 用户创建新的访问密钥
<a name="create.keypair"></a>

如果您已经有 IAM 用户，可以随时创建新的访问密钥。有关密钥管理的更多信息（例如，如何更新访问密钥），请参阅[管理 IAM 用户的访问密钥](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)。

**为 IAM 用户创建访问密钥（控制台）**

1. 登录 AWS 管理控制台 并打开 IAM 控制台，网址为[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中，选择 **Users**（用户）。

1. 选择所需用户的名称，以便为其创建访问密钥。

1. 在用户的**摘要**页面身上，选择**安全凭证**选项卡。

1. 在 “**访问密钥****最佳实践和替代方案” 下的 “访问密钥**” 部分，选择 “**其他**” 用例。单击 “**下一步**”，根据需要输入可选信息，然后选择 “**创建访问密钥**”。

   要查看新访问密钥对，请选择 **Show (显示)**。您的凭证与下面类似：
   + 访问密钥 ID： AKIAIOSFODNN7示例
   + 秘密访问密钥：wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
**注意**  
关闭此对话框后，您将无法再次访问该秘密访问密钥。

   对于您创建的密钥 pair，请考虑以下最佳实践。
   + 切勿将访问密钥以纯文本、代码存储库或代码形式存储。
   + 不再需要访问密钥时禁用或删除访问密钥。
   + 启用最低权限权限。
   + 定期轮换访问密钥。

1. 要下载密钥对，请选择 **Download .csv file**（下载 .csv 文件）。将密钥存储在安全位置。

1. 下载 csv 格式文件之后，选择 **Close（关闭）**。

在创建访问密钥时，预设情况下，密钥对处于活动状态，并且您可以立即使用此密钥对。

# 存储用于通过编程方式进行访问的访问密钥
<a name="aws.credentials.manage"></a>

作为最佳实践，我们建议您不要直接将访问密钥嵌入到代码中。 AWS SDKs 和 AWS 命令行工具使您可以将访问密钥放在已知位置，这样您就不必将其保存在代码中。在以下任一位置中放置访问密钥：
+ **环境变量**：在多租户系统上，选择用户环境变量，而不是系统环境变量。
+ **CLI 凭证文件** – 在运行 `credentials` 命令时，将更新 `config` 和 `aws configure` 文件。`credentials` 文件在 Linux、macOS 或 Unix 上位于 `~/.aws/credentials`，在 Windows 上位于 `C:\Users\USERNAME\.aws\credentials`。该文件可以包含 `default` 配置文件和任何命名配置文件的凭证详细信息。
+ **CLI 配置文件** – 在运行 `credentials` 命令时，将更新 `config` 和 `aws configure` 文件。`config` 文件在 Linux、macOS 或 Unix 上位于 `~/.aws/config`，在 Windows 上位于 `C:\Users\USERNAME\.aws\config`。该文件包含原定设置配置文件和任何命名配置文件的配置设置。

将访问密钥存储为环境变量是[Step-by-step 使用适用于 Apache Cassandra 的 4.x DataStax Java 驱动程序和 Sigv4 身份验证插件连接亚马逊密钥空间的教程](using_java_driver.md#java_tutorial.SigV4)的先决条件。请注意，这包括默认值 AWS 区域。客户端使用默认凭证提供程序链来搜索凭证，存储为环境变量的访问密钥优先于所有其他位置，例如配置文件。有关更多信息，请参阅[配置设置和优先顺序](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-precedence)。

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

------
#### [ Linux, macOS, or Unix ]

```
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
$ export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of security token>
$ export AWS_DEFAULT_REGION=us-east-1
```

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

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

```
C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE
C:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
C:\> setx AWS_SESSION_TOKEN AQoDYXdzEJr...<remainder of security token>
C:\> setx AWS_DEFAULT_REGION us-east-1
```

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

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

```
PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"
PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
PS C:\> $Env:AWS_SESSION_TOKEN="AQoDYXdzEJr...<remainder of security token>"
PS C:\> $Env:AWS_DEFAULT_REGION="us-east-1"
```

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

------