本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS 服務的 API 金鑰
除了標準 IAM 登入資料,例如臨時安全登入資料和長期存取金鑰,某些 AWS 服務還支援用於驗證程式設計請求的 API 金鑰。 AWS 提供兩種類型的 API 金鑰:
-
長期 API 金鑰 – 長期 API 金鑰與 IAM 使用者相關聯,並使用 IAM 服務特定的憑證產生。這些登入資料僅供單一 AWS 服務使用,透過限制登入資料範圍來增強安全性。您可以設定長期 API 金鑰的過期時間。若要產生長期 API 金鑰,您可以使用 IAM 或服務特定的主控台 AWS CLI、 或 AWS API。
-
短期 API 金鑰 – 短期 API 金鑰是使用 AWS Signature 第 4 版的預先簽章 URL。短期 API 金鑰與產生 API 金鑰的身分憑證具有相同的許可和過期時間,有效期最長為 12 小時或主控台工作階段的剩餘時間,以較短者為準。您可以使用 Amazon Bedrock/AWS 上的 Claude Platform 主控台、Python 和其他程式設計語言的套件來產生短期 API 金鑰。如需詳細資訊,請參閱《Amazon Bedrock 使用者指南》中的產生 Amazon Bedrock API 金鑰和AWS 上的 Claude Platform 《 使用者指南》中的身分驗證。
注意
與短期 API 金鑰相比,長期 API 金鑰的安全風險更高。建議盡可能使用短期 API 金鑰或臨時安全憑證。如果使用長期 API 金鑰,建議定期輪換金鑰。
支援 API 金鑰的服務
下表列出支援 API 金鑰 AWS 的服務,以及每個服務支援的 API 金鑰類型。
| # | 服務 | 長期 API 金鑰 | 短期 API 金鑰 | 自動連接的受管政策 | 服務特定文件 |
|---|---|---|---|---|---|
| 1 | Amazon Bedrock | 是 | 是 | AmazonBedrockLimitedAccess | 使用 Amazon Bedrock API 金鑰 |
| 2 | AWS 上的 Claude Platform | 是 | 是 | AnthropicInferenceAccess | 身分驗證 |
| 3 | Amazon CloudWatch | 是 | N/A | CloudWatchAPIKeyAccess | 設定指標的承載字符身分驗證 |
| 4 | Amazon CloudWatch Logs | 是 | N/A | CloudWatchLogsAPIKeyAccess | 設定承載字符身分驗證 |
當您為服務產生長期 API 金鑰時,對應的 AWS 受管政策會自動連接到 IAM 使用者,以授予該服務的核心操作存取權。如果您需要額外的存取權,您可以修改 IAM 使用者的許可。如需有關修改許可的資訊,請參閱新增和移除 IAM 身分許可。
若要進一步了解特定 服務的 API 金鑰,請參閱上表中的服務特定文件連結。
長期 API 金鑰的先決條件
在 IAM 主控台中產生長期 API 金鑰之前,您必須符合下列先決條件:
-
用於與長期 API 金鑰建立關聯的 IAM 使用者。如需有關建立 IAM 使用者的說明,請參閱在 中建立 IAM 使用者 AWS 帳戶。
-
您必須擁有下列 IAM 政策許可,才能管理 IAM 使用者的服務特定憑證。此範例政策授予建立、列出、更新、刪除和重設服務特定憑證的許可。將 Resource 元素中的
值取代為您將產生長期 API 金鑰的 IAM 使用者名稱:username
產生長期 API 金鑰 (主控台)
在 IAM 主控台中為特定服務產生長期 API 金鑰
登入 AWS 管理主控台 ,並在 https://https://console.aws.amazon.com/iam/
開啟 IAM 主控台。 -
在 IAM 主控台的導覽面板中,選擇使用者。
-
選擇您要為其產生長期 API 金鑰的 IAM 使用者。
-
選擇 Security credentials (安全憑證) 索引標籤。
-
在 API 金鑰區段中,選擇產生 API 金鑰。
-
從AWS 服務下拉式清單中,選擇您要 API 金鑰進行身分驗證的服務。
-
對於 API 金鑰過期,請執行下列其中一項操作:
-
選擇 1、5、30、90 或 365 天的 API 金鑰過期持續時間。
-
選擇自訂持續時間以指定自訂 API 金鑰過期日期。
-
選擇永不過期 (不建議)。
-
-
選擇產生 API 金鑰。
-
複製或下載您的 API 金鑰。這是您唯一可以檢視 API 金鑰值的機會。
重要
請妥善儲存您的 API 金鑰。關閉此對話方塊之後,您將無法再次擷取此 API 金鑰。如果您遺失或忘記 API 金鑰,則無法擷取它。反之,請產生新的 API 金鑰並將舊金鑰設為非作用中。
產生長期 API 金鑰 (AWS CLI)
若要使用 產生長期 API 金鑰 AWS CLI,請使用下列步驟:
-
使用 create-user 命令建立將與 服務搭配使用的 IAM 使用者
: aws iam create-user \ --user-nameAPIKeyUser_1 -
使用 attach-user-policy
命令將 AWS 受管政策連接至 IAM 使用者。 對於 Amazon Bedrock:
aws iam attach-user-policy --user-nameAPIKeyUser_1\ --policy-arn arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess對於 AWS 上的 Claude Platform:
aws iam attach-user-policy --user-nameAPIKeyUser_1\ --policy-arn arn:aws:iam::aws:policy/AnthropicInferenceAccess對於 Amazon CloudWatch:
aws iam attach-user-policy --user-nameAPIKeyUser_1\ --policy-arn arn:aws:iam::aws:policy/CloudWatchAPIKeyAccess對於 Amazon CloudWatch Logs:
aws iam attach-user-policy --user-nameAPIKeyUser_1\ --policy-arn arn:aws:iam::aws:policy/CloudWatchLogsAPIKeyAccess -
使用 create-service-specific-credential
命令產生長期 API 金鑰。 對於 Amazon Bedrock:
aws iam create-service-specific-credential \ --user-nameAPIKeyUser_1\ --service-name bedrock.amazonaws.com \ --credential-age-days30對於 AWS 上的 Claude Platform:
aws iam create-service-specific-credential \ --user-nameAPIKeyUser_1\ --service-name aws-external-anthropic.amazonaws.com \ --credential-age-days30對於 Amazon CloudWatch:
aws iam create-service-specific-credential \ --user-nameAPIKeyUser_1\ --service-name cloudwatch.amazonaws.com \ --credential-age-days30對於 Amazon CloudWatch Logs:
aws iam create-service-specific-credential \ --user-nameAPIKeyUser_1\ --service-name logs.amazonaws.com \ --credential-age-days30注意
--credential-age-days為選用參數。您可以指定介於 1–36600 天之間的值。如果您省略此參數,API 金鑰不會過期。
回應ServiceApiKeyValue中傳回的 是個別服務的長期 API 金鑰。請妥善儲存 ServiceApiKeyValue 值,因為您之後將無法再擷取它。
列出長期 API 金鑰 (AWS CLI)
若要列出特定使用者的長期 API 金鑰中繼資料,請使用 list-service-specific-credentials--user-name 參數:
aws iam list-service-specific-credentials \ --service-name bedrock.amazonaws.com \ --user-nameAPIKeyUser_1
注意
bedrock.amazonaws.com 以適當的服務名稱取代 (例如,logs.amazonaws.com.rproxy.goskope.comAmazon CloudWatch Logs 或 aws-external-anthropic.amazonaws.com AWS 上的 Claude Platform)。
若要列出帳戶中的所有長期 API 金鑰中繼資料,請使用 list-service-specific-credentials--all-users 參數:
aws iam list-service-specific-credentials \ --service-name bedrock.amazonaws.com \ --all-users
更新長期 API 金鑰的狀態 (AWS CLI)
若要更新長期 API 金鑰的狀態,請使用 update-service-specific-credential
aws iam update-service-specific-credential \ --user-name "APIKeyUser_1" \ --service-specific-credential-id "ACCA1234EXAMPLE1234" \ --statusInactive|Active
產生長期 API 金鑰 (AWS API)
您可以使用下列 IAM API 操作來管理任何支援服務的長期 API 金鑰:
短期 API 金鑰 (選取服務)
選取的服務目前支援短期 API 金鑰。
如需有關搭配 Amazon Bedrock 產生和使用短期 API 金鑰的資訊,請參閱《Amazon Bedrock 使用者指南》中的產生 API 金鑰。
如需有關為 產生和使用短期 API 金鑰的資訊 AWS 上的 Claude Platform,請參閱AWS 上的 Claude Platform 《 使用者指南》中的身分驗證。
服務特定的資訊
-
如需搭配 Amazon Bedrock 使用 API 金鑰的詳細資訊,請參閱《Amazon Bedrock 使用者指南》中的使用 Amazon Bedrock API 金鑰。
-
如需搭配 使用 API 金鑰的詳細資訊 AWS 上的 Claude Platform,請參閱AWS 上的 Claude Platform 《 使用者指南》中的身分驗證。
-
如需搭配 Amazon CloudWatch 使用 API 金鑰的詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的為指標設定承載字符身分驗證。
-
如需搭配 Amazon CloudWatch Logs 使用 API 金鑰的詳細資訊,請參閱《Amazon CloudWatch Logs 使用者指南》中的設定承載字符身分驗證。