

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 存放用於程式設計存取的存取金鑰
<a name="aws.credentials.manage"></a>

最佳實務是，建議您不要將存取金鑰直接嵌入程式碼。「 AWS SDKs」和「 AWS 命令列工具」可讓您將存取金鑰放在已知位置，讓您不必將其保留在程式碼中。將存取金鑰放入以下其中一個位置：
+ **環境變數 **– 在多租戶系統上，選擇使用者環境變數，而非系統環境變數。
+ **CLI 憑證檔案** – 當您執行命令 `aws configure` 時，會更新 `credentials` 和 `config` 檔案。`credentials` 檔案位於 Linux、macOS 或 Unix `~/.aws/credentials`上的 ，或 Windows `C:\Users\USERNAME\.aws\credentials`上的 。此檔案可包含 `default` 描述檔和任何具名描述檔的憑證詳細資訊。
+ **CLI 組態檔** – 當您執行命令 `aws configure` 時，會更新 `credentials` 和 `config` 檔案。`config` 檔案位於 Linux、macOS 或 Unix `~/.aws/config`上的 ，或 Windows `C:\Users\USERNAME\.aws\config`上的 。此檔案包含預設描述檔和任何具名描述檔的組態設定。

將存取金鑰儲存為環境變數是 的先決條件[使用適用於 Apache Cassandra 的 4.x DataStax Java 驅動程式和 SigV4 身分驗證外掛程式連線至 Amazon Keyspaces 的Step-by-step教學課程](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 和命令提示字元工作階段中持續存在，請使用 **Control Panel** (控制面板) 中的 **System** (系統) 應用程式。或者，您也可以將變數新增到 PowerShell 設定檔，為所有未來 PowerShell 工作階段設定變數。如需有關存放環境變數或跨工作階段持續存放的詳細資訊，請參閱 [PowerShell 文件](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_environment_variables)。

------