產生 Amazon Bedrock API 金鑰 - Amazon Bedrock

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

產生 Amazon Bedrock API 金鑰

您可以使用 AWS Management Console 或 API 產生 Amazon Bedrock AWS API 金鑰。我們建議您使用 AWS Management Console 輕鬆產生 Amazon Bedrock API 金鑰,只需幾個步驟。

使用主控台產生 Amazon Bedrock API 金鑰

若要使用主控台產生 Amazon Bedrock API 金鑰,請執行下列動作:

  1. AWS Management Console 使用具有使用 Amazon Bedrock 主控台之許可的 IAM 身分登入 。然後,開啟位於 https://https://console.aws.amazon.com/bedrock/ 的 Amazon Bedrock 主控台。

  2. 在左側導覽窗格中,選取 API 金鑰

  3. 產生下列其中一種類型的金鑰:

    • 短期 API 金鑰 – 在短期 API 金鑰索引標籤中,選擇產生短期 API 金鑰。金鑰會在主控台工作階段過期 (且不超過 12 小時) 時過期,並可讓您呼叫您從 AWS 區域 中產生的 。您可以直接在產生的金鑰中修改區域。

    • 長期 API 金鑰 – 在長期 API 金鑰索引標籤中,選擇產生長期 API 金鑰

      1. API 金鑰過期區段中,選擇金鑰過期的時間。

      2. (選用) 根據預設,授予核心 Amazon Bedrock API 操作存取權的 AmazonBedrockLimitedAccess AWS受管政策會連接至與金鑰相關聯的 IAM 使用者。若要選取要連接到使用者的更多政策,請展開進階許可區段,然後選取您要新增的政策。

      3. 選擇 Generate (產生)

      警告

      我們強烈建議限制使用長期金鑰來探索 Amazon Bedrock。當您準備好將 Amazon Bedrock 納入具有更高安全需求的應用程式時,您應該檢閱下列文件:

使用 API 產生 Amazon Bedrock API 金鑰

我們建議您使用 AWS Management Console 來產生 Amazon Bedrock API 金鑰,以便輕鬆體驗。不過,您也可以透過 API 產生金鑰。展開與您的使用案例對應的區段。

在 API 中建立長期 Amazon Bedrock API 金鑰的一般步驟如下:

  1. 使用 IAM 端點傳送 CreateUser 請求來建立 IAM 使用者。 https://docs.aws.amazon.com/general/latest/gr/iam-service.html

  2. 透過使用 IAM 端點傳送 AttachUserPolicy 請求,將 AmazonBedrockLimitedAccess 連接至 IAM 使用者。 https://docs.aws.amazon.com/general/latest/gr/iam-service.html您可以重複此步驟,視需要將其他受管或自訂政策連接到使用者。

    注意

    作為最佳實務,強烈建議您將 IAM 政策連接至 IAM 使用者,以限制 Amazon Bedrock API 金鑰的使用。如需時間限制政策和限制可使用金鑰之 IP 地址的範例,請參閱透過將內嵌政策連接至 IAM 使用者來控制存取金鑰的使用

  3. 使用 IAM 端點傳送 CreateServiceSpecificCredential 請求,並將 指定bedrock.amazonaws.com為 ,以產生長期 Amazon Bedrock API 金鑰ServiceName

    • 回應中ServiceApiKeyValue傳回的 是您的長期 Amazon Bedrock API 金鑰。

    • 回應中ServiceSpecificCredentialId傳回的 可用來執行與金鑰相關的 API 操作。

若要了解如何產生長期 Amazon Bedrock API 金鑰,請選擇您偏好方法的標籤,然後遵循下列步驟:

CLI

若要建立長期 Amazon Bedrock API 金鑰,請使用 AWS Identity and Access Management API 操作。首先,請確定您已完成先決條件:

先決條件

請確定您的設定允許 AWS CLI 自動辨識您的 AWS 登入資料。若要進一步了解,請參閱設定 的設定 AWS CLI

開啟終端機並執行下列命令:

  1. 建立 IAM 使用者。您可以將名稱取代為您選擇的其中一個名稱:

    aws iam create-user --user-name bedrock-api-user
  2. AmazonBedrockLimitedAccess 連接至使用者。您可以使用要新增至 API 金鑰的任何其他 AWS受管或自訂政策ARNs 重複此步驟:

    aws iam attach-user-policy --user-name bedrock-api-user --policy-arn arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess
  3. 建立長期 Amazon Bedrock API 金鑰,以您希望金鑰持續的天數取代 ${NUMBER-OF-DAYS}

    aws iam create-service-specific-credential \ --user-name bedrock-api-user \ --service-name bedrock.amazonaws.com \ --credential-age-days ${NUMBER-OF-DAYS}
Python

若要建立長期 Amazon Bedrock API 金鑰,請使用 AWS Identity and Access Management API 操作。首先,請確定您已完成先決條件:

先決條件

請確定您的設定允許 Python 自動辨識您的 AWS 登入資料。若要進一步了解,請參閱設定 的設定 AWS CLI

執行下列指令碼來建立 IAM 使用者、連接執行 Amazon Bedrock 動作的許可,以及產生要與使用者建立關聯的長期 Amazon Bedrock API 金鑰:

import boto3 from datetime import datetime, timedelta # Replace with name for your IAM user username = "bedrock-api-user" # Add any AWS-managed or custom policies that you want to the user bedrock_policies = [ "arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess", # Limited access # "arn:aws:iam::aws:policy/AmazonBedrockMarketplaceAccess", # Optional: Access to Amazon Bedrock Marketplace actions ] # Set the key expiration time to a number of your choice expiration_time_in_days = 30 iam_client = boto3.client("iam") # Create IAM user user = iam_client.create_iam_user(username) # Attach policies to user for policy_arn in bedrock_policies: iam_client.attach_managed_policy(username, policy_arn) # Create long-term Amazon Bedrock API key and return it service_credentials = iam_client.create_service_specific_credential( user_name=username, service_name="bedrock", credential_age_days=expiration_time_in_days ) api_key = service_credentials["ServiceApiKeyValue"] print(api_key)

您可以產生短期 Amazon Bedrock API 金鑰,只要工作階段用於產生它 (且不超過 12 小時)。

先決條件
  • 請確定您的設定允許 Python 自動辨識您的 AWS 登入資料。若要進一步了解,請參閱設定 的設定 AWS CLI

  • 開啟終端機並下載 Amazon Bedrock 字符產生器,其命令對應至您正在使用的 SDK:

    • Python

      python3 -m pip install aws-bedrock-token-generator
    • Javascript

      npm install @aws/bedrock-token-generator
  • 請確定您用來進行 API 呼叫的 IAM 身分具有擔任角色和建立角色工作階段的許可:

    • IAM 身分必須具有擔任角色的許可。如果身分具有限制的許可,您可以將下列身分型政策連接至身分 (將 ${arn:aws:iam::111122223333:role/SessionRole} 取代為工作階段角色的實際 ARN):

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "${arn:aws:iam::111122223333:role/SessionRole}" } ] }

      如需授予身分許可以擔任角色的詳細資訊,請參閱授予使用者許可以切換角色

    • IAM 角色必須具有允許 IAM 身分擔任的信任政策。您可以將下列信任政策連接至 IAM 角色,以允許 Principal 欄位中指定的委託人擔任該角色來建立金鑰。此範例指定 IAM 使用者做為委託人。將其取代為使用者的實際 ARN。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "${arn:aws:iam::111122223333:user/UserId}" }, "Action": "sts:AssumeRole" } ] }

      如需主體的詳細資訊,請參閱 AWS JSON 政策元素:主體。若要了解如何更新角色的信任政策,請參閱更新角色信任政策

選擇對應至您正在使用之 SDK 的索引標籤,然後執行指令碼以從您的工作階段登入資料產生短期 Amazon Bedrock API 金鑰:

Python
from aws_bedrock_token_generator import BedrockTokenGenerator import boto3 # Replace with a region of your choice region = "us-east-1" # Fetch credentials session = boto3.Session() credentials = session.get_credentials() # Initialize token generator generator = BedrockTokenGenerator() # Generate one-time token token = generator.get_token(credentials, region)
Javascript
import { BedrockTokenGenerator } from '@aws/bedrock-token-generator'; import { fromNodeProviderChain } from '@aws-sdk/credential-providers'; async function example() { // Set region const region = 'us-east-1' // Create token generator const generator = new BedrockTokenGenerator(); // Get credentials from default provider chain const credentials = fromNodeProviderChain(); // Generate token const token = await generator.generateToken(credentials, region); // Use the token for API calls (valid for 12 hours) console.log(`Bearer Token: ${token}`); }
Java

Maven 匯入

<dependency> <groupId>software.amazon.bedrock</groupId> <artifactId>aws-bedrock-token-generator</artifactId> <version>1.0.0</version> </dependency>

Gradle 匯入

implementation 'software.amazon.bedrock:aws-bedrock-token-generator:1.0.0'

用途

import software.amazon.bedrock.token.BedrockTokenGenerator; import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider; import software.amazon.awssdk.regions.Region; // Create token generator BedrockTokenGenerator tokenGenerator = new BedrockTokenGenerator(); // Generate token using default credentials String bearerToken = tokenGenerator.getToken( DefaultCredentialsProvider.create().resolveCredentials(), Region ); // Use the token for API calls (valid for 12 hours) System.out.println("Bearer Token: " + bearerToken);
注意

短期金鑰的許可將是下列項目的交集: