

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

# AWS 服務的 API 金鑰
<a name="id_credentials_api_keys_for_aws_services"></a>

您可以透過 存取 AWS 服務， AWS 管理主控台 並使用 AWS CLI 或 AWS API 以程式設計方式存取 服務。對 Amazon Bedrock 和 Amazon CloudWatch Logs 等服務提出程式設計請求時，您可以使用 IAM 登入資料 （例如臨時安全登入資料或長期存取金鑰） 或 API 金鑰進行身分驗證。API 金鑰有兩種類型：
+ **長期 API 金鑰** – 長期 API 金鑰與 IAM 使用者相關聯，並使用 [IAM 服務特定的憑證](id_credentials_service-specific-creds.md)產生。這些登入資料僅供單一 AWS 服務使用，透過限制登入資料範圍來增強安全性。您可以設定長期 API 金鑰的過期時間。您可以使用 IAM 或服務特定的主控台 （例如 Amazon Bedrock 或 CloudWatch Logs 主控台） AWS CLI、 或 AWS API 來產生長期 API 金鑰。
+ **短期 API 金鑰** （僅 Amazon Bedrock 支援） – 短期 API 金鑰是使用 AWS Signature 第 4 版的預先簽章 URL。短期 API 金鑰與產生 API 金鑰的身分憑證具有相同的許可和過期時間，有效期最長為 12 小時或主控台工作階段的剩餘時間，以較短者為準。您可以使用 Amazon Bedrock 主控台、Python 套件 `aws-bedrock-token-generator` 和其他程式設計語言套件來產生短期 API 金鑰。如需詳細資訊，請參閱 *Amazon Bedrock User Guide* 中的 [Generate Amazon Bedrock API keys for easy access to the Amazon Bedrock API](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys.html)。

**注意**  
與短期 API 金鑰相比，長期 API 金鑰的安全風險更高。建議盡可能使用短期 API 金鑰或臨時安全憑證。如果使用長期 API 金鑰，建議定期輪換金鑰。

## 支援的服務
<a name="id_credentials_api_keys_supported_services"></a>

下表列出支援 API 金鑰 AWS 的服務，以及每個服務支援的 API 金鑰類型。


| \$1 | 服務 | 長期 API 金鑰 | 短期 API 金鑰 | 自動連接的受管政策 | 
| --- | --- | --- | --- | --- | 
| 1 | Amazon Bedrock | 是 | 是 | [AmazonBedrockLimitedAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockLimitedAccess.html) | 
| 2 | Amazon CloudWatch Logs | 是 | N/A | [CloudWatchLogsAPIKeyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchLogsAPIKeyAccess.html) | 

當您為服務產生長期 API 金鑰時，對應的 AWS 受管政策會自動連接到 IAM 使用者，以授予該服務的核心操作存取權。如果您需要額外的存取權，您可以修改 IAM 使用者的許可。如需有關修改許可的資訊，請參閱[新增和移除 IAM 身分許可](access_policies_manage-attach-detach.md)。如需如何使用 Amazon Bedrock 金鑰的詳細資訊，請參閱《[Amazon Bedrock 使用者指南》中的使用 Amazon Bedrock API 金鑰](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys-use.html)。 **如需如何為 Amazon CloudWatch Logs 使用承載字符的詳細資訊，請參閱*CloudWatch Logs 使用者指南*》中的[承載字符身分驗證](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_HTTP_Endpoints_BearerTokenAuth.html)。

## 長期 API 金鑰的先決條件
<a name="id_credentials_api_keys_prerequisites"></a>

在 IAM 主控台中產生長期 API 金鑰之前，您必須符合下列先決條件：
+ 用於與長期 API 金鑰建立關聯的 IAM 使用者。如需有關建立 IAM 使用者的說明，請參閱[在 中建立 IAM 使用者 AWS 帳戶](id_users_create.md)。
+ 您必須擁有下列 IAM 政策許可，才能管理 IAM 使用者的服務特定憑證。此範例政策授予建立、列出、更新、刪除和重設服務特定憑證的許可。將 Resource 元素中的`username`值取代為您將產生長期 API 金鑰的 IAM 使用者名稱：

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "ManageBedrockServiceSpecificCredentials",
              "Effect": "Allow",
              "Action": [
                  "iam:CreateServiceSpecificCredential",
                  "iam:ListServiceSpecificCredentials",
                  "iam:UpdateServiceSpecificCredential",
                  "iam:DeleteServiceSpecificCredential",
                  "iam:ResetServiceSpecificCredential"
              ],
              "Resource": "arn:aws:iam::*:user/username"
          }
      ]
  }
  ```

------

## 產生長期 API 金鑰 （主控台）
<a name="id_credentials_api_keys_console_create"></a>

**在 IAM 主控台中為特定服務產生長期 API 金鑰**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在 IAM 主控台的導覽面板中，選擇**使用者**。

1. 選擇您要為其產生長期 API 金鑰的 IAM 使用者。

1. 選擇 **Security credentials** (安全憑證) 索引標籤。

1. 在 **API 金鑰**區段中，選擇**產生 API 金鑰**。

1. 從**AWS 服務**下拉式清單中，選擇您要 API 金鑰進行身分驗證的服務。

1. 對於 **API 金鑰過期**，請執行下列其中一項操作：
   + 選擇 **1**、**5**、**30**、**90** 或 **365** 天的 API 金鑰過期持續時間。
   + 選擇**自訂持續時間**以指定自訂 API 金鑰過期日期。
   + 選擇**永不過期** （不建議）。

1. 選擇**產生 API 金鑰**。

1. 複製或下載您的 API 金鑰。這是您唯一可以檢視 API 金鑰值的機會。
**重要**  
請妥善儲存您的 API 金鑰。關閉此對話方塊之後，您將無法再次擷取此 API 金鑰。如果您遺失或忘記 API 金鑰，則無法擷取它。反之，請產生新的 API 金鑰並將舊金鑰設為非作用中。

## 產生長期 API 金鑰 (AWS CLI)
<a name="id_credentials_api_keys_cli_create"></a>

若要使用 產生長期 API 金鑰 AWS CLI，請使用下列步驟：

1. 使用 create-user 命令建立將與 Amazon Bedrock 或 Amazon CloudWatch Logs 搭配使用的 IAM 使用者： [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-user.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-user.html)

   ```
   aws iam create-user \
       --user-name APIKeyUser_1
   ```

1. 使用 [ attach-user-policy ](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/attach-user-policy.html)命令將 AWS 受管政策連接至 IAM 使用者。

   對於 Amazon Bedrock：

   ```
   aws iam attach-user-policy --user-name APIKeyUser_1 \
       --policy-arn arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess
   ```

   對於 Amazon CloudWatch Logs：

   ```
   aws iam attach-user-policy --user-name APIKeyUser_1 \
       --policy-arn arn:aws:iam::aws:policy/CloudWatchLogsAPIKeyAccess
   ```

1. 使用 [ create-service-specific-credential ](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-service-specific-credential.html)命令產生長期 API 金鑰。

   對於 Amazon Bedrock：

   ```
   aws iam create-service-specific-credential \
       --user-name APIKeyUser_1 \
       --service-name bedrock.amazonaws.com \
       --credential-age-days 30
   ```

   對於 Amazon CloudWatch Logs：

   ```
   aws iam create-service-specific-credential \
       --user-name APIKeyUser_1 \
       --service-name logs.amazonaws.com \
       --credential-age-days 30
   ```
**注意**  
`--credential-age-days` 為選用參數。您可以指定介於 1–36600 天之間的值。如果您省略此參數，API 金鑰不會過期。

回應`ServiceApiKeyValue`中傳回的 是個別服務的長期 API 金鑰。請妥善儲存 `ServiceApiKeyValue` 值，因為您之後將無法再擷取它。

### 列出長期 API 金鑰 (AWS CLI)
<a name="id_credentials_api_keys_cli_list"></a>

若要列出特定使用者的長期 API 金鑰中繼資料，請使用 [ list-service-specific-credentials](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-service-specific-credentials.html) 命令搭配 `--user-name` 參數：

```
aws iam list-service-specific-credentials \
    --service-name bedrock.amazonaws.com \
    --user-name APIKeyUser_1
```

**注意**  
`bedrock.amazonaws.com` 將 取代為適當的服務名稱 （例如 `logs.amazonaws.com` Amazon CloudWatch Logs)。

若要列出帳戶中的所有長期 API 金鑰中繼資料，請使用 [ list-service-specific-credentials](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/list-service-specific-credentials.html) 命令搭配 `--all-users` 參數：

```
aws iam list-service-specific-credentials \
    --service-name bedrock.amazonaws.com \
    --all-users
```

### 更新長期 API 金鑰的狀態 (AWS CLI)
<a name="id_credentials_api_keys_cli_update"></a>

若要更新長期 API 金鑰的狀態，請使用 [ update-service-specific-credential](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/update-service-specific-credential.html) 命令：

```
aws iam update-service-specific-credential \
    --user-name "APIKeyUser_1" \
    --service-specific-credential-id "ACCA1234EXAMPLE1234" \
    --status Inactive|Active
```

## 產生長期 API 金鑰 (AWS API)
<a name="id_credentials_api_keys_api"></a>

您可以使用下列 IAM API 操作來管理任何支援服務的長期 API 金鑰：
+  [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html) 
+  [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListServiceSpecificCredentials.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListServiceSpecificCredentials.html) 
+  [https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServiceSpecificCredential.html) 
+  [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceSpecificCredential.html) 
+  [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResetServiceSpecificCredential.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResetServiceSpecificCredential.html) 

## 短期 API 金鑰 (Amazon Bedrock)
<a name="id_credentials_api_keys_short_term"></a>

Amazon Bedrock 目前僅支援短期 API 金鑰。如需有關產生和使用短期 API 金鑰的資訊，請參閱《*Amazon Bedrock 使用者指南*》中的[產生 API 金鑰](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys-generate.html)。

## 服務特定的資訊
<a name="id_credentials_api_keys_service_info"></a>
+ 如需搭配 Amazon Bedrock 使用 API 金鑰的詳細資訊，請參閱《[Amazon Bedrock 使用者指南》中的使用 Amazon Bedrock API 金鑰](https://docs.aws.amazon.com/bedrock/latest/userguide/api-keys-use.html)。 **
+ 如需搭配 Amazon CloudWatch Logs 使用 API 金鑰的詳細資訊，請參閱[《Amazon CloudWatch Logs 使用者指南》中的透過 HTTP 端點進行日誌擷取](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_HTTP_Endpoints.html)。 *Amazon CloudWatch *