Generieren eines API-Schlüssels von Amazon Bedrock - Amazon Bedrock

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Generieren eines API-Schlüssels von Amazon Bedrock

Sie können einen API-Schlüssel von Amazon Bedrock entweder unter Verwendung der AWS-Managementkonsole oder mit der AWS-API generieren. Wir empfehlen Ihnen, die AWS-Managementkonsole zu verwenden, um mit wenigen Schritten auf einfache Weise einen API-Schlüssel von Amazon Bedrock zu generieren.

Warnung

Wir empfehlen dringend, die Verwendung der API-Schlüssel von Amazon Bedrock auf die Erkundung von Amazon Bedrock zu beschränken. Wenn Sie bereit sind, Amazon Bedrock in Anwendungen mit höheren Sicherheitsanforderungen zu integrieren, sollten Sie zu kurzfristigen Anmeldeinformationen wechseln. Weitere Informationen finden Sie unter Alternativen zu Langzeit-Zugriffsschlüsseln im IAM-Benutzerhandbuch.

Generieren eines API-Schlüssels von Amazon Bedrock mit der Konsole

Generieren Sie einen API-Schlüssel von Amazon Bedrock mit der Konsole wie folgt:

  1. Melden Sie sich bei der AWS-Managementkonsole mit einer IAM-Identität an, die zur Verwendung der Amazon-Bedrock-Konsole berechtigt ist. Öffnen Sie dann die Amazon-Bedrock-Konsole unter https://console.aws.amazon.com/bedrock.

  2. Wählen Sie im linken Navigationsbereich API-Schlüssel aus.

  3. Sie können die folgenden Arten von Schlüsseln generieren:

    • Kurzfristiger API-Schlüssel – Wählen Sie auf der Registerkarte Kurzfristige API-Schlüssel die Option Kurzfristige API-Schlüssel generieren aus. Der Schlüssel läuft ab, wenn Ihre Konsolensitzung abläuft (bzw. nach spätestens 12 Stunden) und ermöglicht es Ihnen, Aufrufe an die AWS-Region zu tätigen, aus der Sie ihn generiert haben. Sie können die Region direkt im generierten Schlüssel ändern.

    • Langfristiger API-Schlüssel – Wählen Sie auf der Registerkarte Langfristige API-Schlüssel die Option Langfristige API-Schlüssel generieren aus.

      1. Wählen Sie im Abschnitt Ablauf des API-Schlüssels einen Zeitraum aus, nach dessen Verstreichen der Schlüssel abläuft.

      2. (Optional) Standardmäßig ist die AWS-verwaltete Richtlinie AmazonBedrockLimitedAccess, die Zugriff auf wichtige API-Operationen in Amazon Bedrock gewährt, dem mit dem Schlüssel verknüpften IAM-Benutzer angefügt. Um weitere Richtlinien auszuwählen, die dem Benutzer angefügt werden sollen, erweitern Sie den Abschnitt Erweiterte Berechtigungen und wählen anschließend die Richtlinien aus, die Sie hinzufügen möchten.

      3. Wählen Sie Erstellen aus.

      Warnung

      Wir empfehlen dringend, die Verwendung der API-Schlüssel von Amazon Bedrock auf die Erkundung von Amazon Bedrock zu beschränken. Wenn Sie bereit sind, Amazon Bedrock in Anwendungen mit höheren Sicherheitsanforderungen zu integrieren, sollten Sie zu kurzfristigen Anmeldeinformationen wechseln. Weitere Informationen finden Sie unter Alternativen zu Langzeit-Zugriffsschlüsseln im IAM-Benutzerhandbuch.

Generieren eines langfristigen API-Schlüssels von Amazon-Bedrock mit der API

Allgemeine Schritte zur Erstellung eines langfristigen API-Schlüssels von Amazon Bedrock in der API:

  1. Erstellen Sie einen IAM-Benutzer, indem Sie eine CreateUser-Anfrage mit einem IAM-Endpunkt senden.

  2. Fügen Sie dem IAM-Benutzer AmazonBedrockLimitedAccess an, indem Sie eine AttachUserPolicy-Anfrage mit einem IAM-Endpunkt senden. Sie können diesen Schritt wiederholen, um dem Benutzer bei Bedarf weitere verwaltete oder benutzerdefinierte Richtlinien anzufügen.

    Anmerkung

    Als bewährte Sicherheitsmaßnahme empfehlen wir dringend, dem IAM-Benutzer IAM-Richtlinien anzufügen, um die Verwendung von API-Schlüsseln von Amazon Bedrock einzuschränken. Beispiele für Richtlinien zur zeitlichen Beschränkung und die Beschränkung der IP-Adressen, die den Schlüssel verwenden können, finden Sie unter Steuern der Verwendung von Zugriffsschlüsseln durch das Anfügen einer Inline-Richtlinie an einen IAM-Benutzer.

  3. Generieren Sie einen langfristigen API-Schlüssel von Amazon Bedrock, indem Sie eine CreateServiceSpecificCredential-Anfrage mit einem IAM-Endpunkt senden und bedrock.amazonaws.com als ServiceName angeben.

    • Der in der Antwort zurückgegebene ServiceApiKeyValue ist Ihr langfristiger API-Schlüssel von Amazon Bedrock.

    • Der in der Antwort zurückgegebene ServiceSpecificCredentialId kann verwendet werden, um API-Operationen im Zusammenhang mit dem Schlüssel auszuführen.

Um zu erfahren, wie Sie einen langfristigen API-Schlüssel von Amazon Bedrock generieren, wählen Sie die Registerkarte für Ihre bevorzugte Methode aus und befolgen Sie die angegebenen Schritte:

CLI

Verwenden Sie AWS Identity and Access Management-API-Operationen, um einen langfristigen API-Schlüssel von Amazon Bedrock zu erstellen. Stellen Sie zunächst sicher, dass die Voraussetzung erfüllt ist:

Voraussetzung

Vergewissern Sie sich dass Ihr Setup es der AWS CLI erlaubt, Ihre AWS-Anmeldeinformationen automatisch zu erkennen. Weitere Informationen finden Sie unter Konfigurieren der Einstellungen für die AWS CLI.

Öffnen Sie ein Terminal und führen Sie die folgenden Befehle aus:

  1. Erstellen Sie einen IAM-Benutzer. Sie können den Namen durch einen Namen Ihrer Wahl ersetzen:

    aws iam create-user --user-name bedrock-api-user
  2. Fügen Sie AmazonBedrockLimitedAccess an den Benutzer an. Sie können diesen Schritt mit den ARNs aller anderen AWS-verwalteten oder benutzerdefinierten Richtlinien wiederholen, die Sie dem API-Schlüssel hinzufügen möchten:

    aws iam attach-user-policy --user-name bedrock-api-user --policy-arn arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess
  3. Erstellen Sie den langfristigen API-Schlüssel von Amazon Bedrock und ersetzen Sie $ {NUMBER-OF-DAYS} durch die Anzahl der Tage, für die der Schlüssel gültig sein soll:

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

Verwenden Sie AWS Identity and Access Management-API-Operationen, um einen langfristigen API-Schlüssel von Amazon Bedrock zu erstellen. Stellen Sie zunächst sicher, dass die Voraussetzung erfüllt ist:

Voraussetzung

Vergewissern Sie sich, dass Ihr Setup es Python erlaubt, Ihre AWS-Anmeldeinformationen automatisch zu erkennen. Weitere Informationen finden Sie unter Konfigurieren der Einstellungen für die AWS CLI.

Führen Sie das folgende Skript aus, um einen IAM-Benutzer zu erstellen, Berechtigungen zur Ausführung von Amazon-Bedrock-Aktionen anzufügen und einen langfristigen API-Schlüssel von Amazon Bedrock zu generieren, der dem Benutzer zugeordnet wird:

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)

Generieren eines kurzfristigen API-Schlüssel von Amazon Bedrock mit einer Client-Bibliothek

Kurzfristige Schlüssel haben die folgenden Eigenschaften:

  • Sie gelten für den kürzeren der folgenden Werte:

    • 12 Stunden

    • Die Dauer der Sitzung, die vom IAM-Prinzipal generiert wurde, welcher zur Generierung des Schlüssels verwendet wurde.

  • Sie erben die Berechtigungen, die dem Prinzipal zugewiesen sind, der zur Generierung des Schlüssels verwendet wurde.

  • Sie können nur in der AWS-Region verwendet werden, in der Sie sie generiert haben.

Bei Langzeit-Anwendungen kann die Client-Bibliothek aws-bedrock-token-generator bei Bedarf neue kurzfristige API-Schlüssel von Amazon Bedrock erstellen, wenn die Anmeldeinformationen aktualisiert werden. Weitere Informationen finden Sie unter Einrichten der automatischen Aktualisierung der kurzfristigen API-Schlüssel von Amazon Bedrock.

Voraussetzungen
  • Stellen Sie sicher, dass der IAM-Prinzipal, den Sie zum Generieren des Schlüssels verwenden, über die richtigen Berechtigungen für die Verwendung von Amazon Bedrock verfügt. Zu Testzwecken können Sie dem Prinzipal die mit AWS verwaltete AmazonBedrockLimitedAccess-Richtlinie anfügen. Informationen zum Schutz Ihrer Anmeldeinformationen finden Sie unter Bewährte Sicherheitsmethoden in IAM.

  • Vergewissern Sie sich, dass Ihr Setup es Python erlaubt, Ihre AWS-Anmeldeinformationen automatisch zu erkennen. Die Standardmethode, mit der Anmeldeinformationen abgerufen werden, folgt einer festgelegten Hierarchie. Die Hierarchie für ein bestimmtes SDK oder Tool finden Sie unter AWSStandardisierte Anbieter von Anmeldeinformationen für SDKs und Tools.

  • Installieren Sie den Token-Generator von Amazon Bedrock. Wählen Sie die Registerkarte für Ihre bevorzugte Methode aus und befolgen Sie die angegebenen Schritte:

Python

Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:

pip install aws-bedrock-token-generator
Javascript

Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:

npm install @aws/bedrock-token-generator
Java

Wenn Sie Maven verwenden, fügen Sie pom.xml die folgende Abhängigkeit hinzu:

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

Wenn Sie Gradle verwenden, fügen build.gradle Folgendes hinzu:

implementation 'software.amazon.bedrock:aws-bedrock-token-generator:1.1.0'
Beispiele

Um Beispiele für die Verwendung des Token-Generators zur Generierung eines kurzfristigen API-Schlüssels von Amazon Bedrock mit Ihren Standardanmeldeinformationen in verschiedenen Sprachen zu sehen, wählen Sie die Registerkarte für Ihre bevorzugte Methode aus und befolgen Sie die angegebenen Schritte:

Python
from aws_bedrock_token_generator import provide_token token = provide_token() print(f"Token: {token}")
Javascript
import { getTokenProvider } from "@aws/bedrock-token-generator"; // Create a token provider that uses default credentials and region providers. // You can configure it to use other credential providers. const provideToken = getTokenProvider(); async function example() { const token = await provideToken(); // Use the token for API calls. The token has a default expiration of 12 hour. // If the expiresInSeconds parameter is specified during token creation, the // expiration can be configured up to a maximum of 12 hours. However, the actual // token validity period will always be the minimum of the requested expiration // time and the AWS credentials' expiry time console.log(`Bearer Token: ${token}`); }
Java
import software.amazon.bedrock.token.BedrockTokenGenerator; // Credentials and region will be picked up from the default provider chain BedrockTokenGenerator tokenGenerator = BedrockTokenGenerator.builder().build(); tokenGenerator.getToken();

Weitere Beispiele für verschiedene Anwendungsfälle beim Generieren von Token finden Sie unter den folgenden Links:

Einrichten der automatischen Aktualisierung der kurzfristigen API-Schlüssel von Amazon Bedrock

Mithilfe des aws-bedrock-token-generator-Pakets können Sie ein Skript erstellen, um programmgesteuert einen neuen kurzfristigen Schlüssel zu regenerieren, wenn Ihr aktueller abgelaufen ist. Stellen Sie zunächst sicher, dass die Voraussetzungen unter Generieren eines kurzfristigen API-Schlüssel von Amazon Bedrock mit einer Client-Bibliothek erfüllt sind. Um Beispielskripte zu sehen, die ein Token abrufen und eine Converse-Anfrage stellen, wählen Sie die Registerkarte für Ihre bevorzugte Methode aus und befolgen Sie die angegebenen Schritte:

Python
from aws_bedrock_token_generator import provide_token import requests def get_new_token(): url = "https://bedrock-runtime.us-west-2.amazonaws.com/model/us.anthropic.claude-3-5-haiku-20241022-v1:0/converse" payload = { "messages": [ { "role": "user", "content": [{"text": "Hello"}] } ] } # Create a token provider that uses default credentials and region providers. # You can configure it to use other credential providers. # https://github.com/aws/aws-bedrock-token-generator-python/blob/main/README.md # It can be used for each API call as it is inexpensive. token = provide_token() headers = { "Content-Type": "application/json", "Authorization": f"Bearer {token}" } response = requests.post(url, headers=headers, json=payload) print(response.json()) if __name__ == "__main__": get_new_token()
Javascript
import { getTokenProvider } from "@aws/bedrock-token-generator"; // Create a token provider that uses default credentials and region providers. // You can configure it to use other credential providers. // https://github.com/aws/aws-bedrock-token-generator-js/blob/main/README.md // This can be created just once. Use await provideToken() to fetch the token const provideToken = getTokenProvider(); async function example() { const url = "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-3-5-haiku-20241022-v1:0/converse"; const payload = { messages: [ { role: "user", content: [{ text: "Hello" }] } ] }; const headers = { "Content-Type": "application/json", // provideToken retrieves a valid token. It can be used for each API call as it is inexpensive. "Authorization": `Bearer ${await provideToken()}` }; await fetch(url, { method: 'POST', headers: headers, body: JSON.stringify(payload) }) }
Java
package com.amazon.bedrocktoken; import software.amazon.bedrock.token.BedrockTokenGenerator; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; public class GetNewToken { public static void main(String[] args) throws Exception { // Use default credentials and region from environment/profile chain // Create a token generator that uses default credentials and region providers. // You can configure it to use other credential providers. // https://github.com/aws/aws-bedrock-token-generator-java/blob/main/README.md BedrockTokenGenerator tokenGenerator = BedrockTokenGenerator.builder().build(); // getToken() retrieves a valid token. It can be used for each API call as it is inexpensive. String token = tokenGenerator.getToken(); String url = "https://bedrock-runtime.us-west-2.amazonaws.com/model/us.anthropic.claude-3-5-haiku-20241022-v1:0/converse"; String payload = "{\n" + " \"messages\": [\n" + " {\n" + " \"role\": \"user\",\n" + " \"content\": [{ \"text\": \"Hello\" }]\n" + " }\n" + " ]\n" + "}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(url)) .header("Content-Type", "application/json") .header("Authorization", "Bearer " + token) .POST(HttpRequest.BodyPublishers.ofString(payload)) .build(); HttpClient client = HttpClient.newHttpClient(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } }