View a markdown version of this page

API-Schlüssel - 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.

API-Schlüssel

Mit Amazon Bedrock API-Schlüsseln können Sie API-Anfragen mit einem Bearer-Token anstelle von Anmeldeinformationen authentifizieren. AWS Es gibt zwei Arten:

  • Short-term— Dauert bis zu 12 Stunden (oder die Dauer Ihrer Sitzung, je nachdem, welcher Zeitraum kürzer ist). Erbt die Berechtigungen des IAM-Prinzipals, der zur Generierung verwendet wurde. Für den produktiven Einsatz empfohlen.

  • Long-term— Hält bis zu einem konfigurierten Ablaufdatum an. Erstellt einen IAM-Benutzer mit angehängten Richtlinien. Nur für Erkundungszwecke empfohlen.

Anmerkung

Alle API-Aufrufe sind angemeldet AWS CloudTrail. API-Schlüssel werden als Autorisierungsheader übergeben und nicht protokolliert.

Generieren Sie einen kurzfristigen API-Schlüssel

Wählen Sie die Registerkarte für Ihre bevorzugte Methode aus und befolgen Sie dann die Schritte:

Console
  1. Melden Sie sich bei der AWS-Managementkonsole mit einer IAM-Identität an, die berechtigt ist, die Amazon Bedrock-Konsole zu verwenden. Ö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. Wählen Sie auf der Registerkarte Short-term API-Schlüssel die Option Kurzfristige API-Schlüssel generieren aus.

Der Schlüssel läuft ab, wenn Ihre Konsolensitzung abläuft (maximal 12 Stunden). Um einen Schlüssel für eine andere Region zu generieren, wechseln Sie zuerst in der Konsole zwischen den Regionen.

Python

Installieren Sie den Token-Generator:

pip install aws-bedrock-token-generator

Generieren Sie ein Token:

from aws_bedrock_token_generator import provide_token token = provide_token() print(f"Token: {token}")
Javascript

Installieren Sie den Token-Generator:

npm install @aws/bedrock-token-generator

Generieren Sie ein Token:

import { getTokenProvider } from "@aws/bedrock-token-generator"; const provideToken = getTokenProvider(); const token = await provideToken(); console.log(`Bearer Token: ${token}`);
Java

Fügen Sie die Abhängigkeit hinzu (Maven):

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

Generieren Sie ein Token:

import software.amazon.bedrock.token.BedrockTokenGenerator; BedrockTokenGenerator tokenGenerator = BedrockTokenGenerator.builder().build(); String token = tokenGenerator.getToken();

Generieren Sie einen langfristigen API-Schlüssel

Warnung

Long-term Schlüssel dienen nur zur Erkundung. Verwenden Sie für die Produktion kurzfristige Schlüssel. Weitere Informationen finden Sie unter Alternativen zu langfristigen Zugriffsschlüsseln.

Wählen Sie die Registerkarte für Ihre bevorzugte Methode aus und befolgen Sie dann die Schritte:

Console
  1. Melden Sie sich bei der AWS-Managementkonsole mit einer IAM-Identität an, die berechtigt ist, die Amazon Bedrock-Konsole zu verwenden. Ö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. Wählen Sie auf der Registerkarte Long-term API-Schlüssel die Option Langfristige API-Schlüssel generieren aus.

  4. Wählen Sie eine Ablaufzeit und fügen Sie optional Berechtigungen unter Erweiterte Berechtigungen hinzu.

  5. Klicken Sie auf Generieren.

CLI
# Create an IAM user aws iam create-user --user-name bedrock-api-user # Attach permissions aws iam attach-user-policy --user-name bedrock-api-user \ --policy-arn arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess # Generate the API key (replace 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}

ServiceApiKeyValueIn der Antwort steht Ihr API-Schlüssel.

Um den Schlüssel später zu deaktivieren oder zu löschen, verwenden Sie den ServiceSpecificCredentialId aus der Antwort:

# Deactivate the key aws iam update-service-specific-credential \ --user-name bedrock-api-user \ --service-specific-credential-id ${ServiceSpecificCredentialId} \ --status Inactive # Delete the key permanently aws iam delete-service-specific-credential \ --user-name bedrock-api-user \ --service-specific-credential-id ${ServiceSpecificCredentialId}
Python
import boto3 iam_client = boto3.client("iam") # Create IAM user iam_client.create_user(UserName="bedrock-api-user") # Attach permissions iam_client.attach_user_policy( UserName="bedrock-api-user", PolicyArn="arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess" ) # Generate API key response = iam_client.create_service_specific_credential( UserName="bedrock-api-user", ServiceName="bedrock.amazonaws.com", CredentialAgeDays=30 ) api_key = response["ServiceSpecificCredential"]["ServiceApiKeyValue"] print(api_key)

Verwenden eines API-Schlüssels

Legen Sie den Schlüssel als Umgebungsvariable fest:

# macOS/Linux export AWS_BEARER_TOKEN_BEDROCK=${api-key} # Windows setx AWS_BEARER_TOKEN_BEDROCK "${api-key}"

Oder übergebe es direkt in der Authorization Kopfzeile:

Authorization: Bearer ${api-key}
Beispiel: Stellen Sie eine Converse-Anfrage

Wählen Sie die Registerkarte für Ihre bevorzugte Methode und folgen Sie dann den Schritten:

cURL
curl -X POST "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-sonnet-4-6/converse" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK" \ -d '{ "messages": [{"role": "user", "content": [{"text": "Hello"}]}] }'
Python (boto3)
import os import boto3 os.environ['AWS_BEARER_TOKEN_BEDROCK'] = "${api-key}" client = boto3.client("bedrock-runtime", region_name="us-east-1") response = client.converse( modelId="us.anthropic.claude-sonnet-4-6", messages=[{"role": "user", "content": [{"text": "Hello"}]}] )

Auto-refresh kurzfristige Schlüssel

Rufen Sie bei Anwendungen mit langer Laufzeit vor jeder Anfrage den Token-Generator auf. Er gibt ein zwischengespeichertes Token zurück, falls es noch gültig ist, oder generiert automatisch ein neues:

Python
from aws_bedrock_token_generator import provide_token import requests url = "https://bedrock-runtime.us-west-2.amazonaws.com/model/us.anthropic.claude-sonnet-4-6/converse" payload = {"messages": [{"role": "user", "content": [{"text": "Hello"}]}]} # Call provide_token() before each request — it handles caching/refresh token = provide_token() headers = {"Content-Type": "application/json", "Authorization": f"Bearer {token}"} response = requests.post(url, headers=headers, json=payload) print(response.json())
Javascript
import { getTokenProvider } from "@aws/bedrock-token-generator"; const provideToken = getTokenProvider(); const url = "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-sonnet-4-6/converse"; const payload = {messages: [{role: "user", content: [{text: "Hello"}]}]}; // provideToken() handles caching/refresh automatically const headers = { "Content-Type": "application/json", "Authorization": `Bearer ${await provideToken()}` }; await fetch(url, {method: 'POST', headers, body: JSON.stringify(payload)});

Weitere Beispiele finden Sie in der Token-Generator-Dokumentation: Python | Javascript | Java.

Berechtigungen ändern

Ein langfristiger API-Schlüssel ist einem IAM-Benutzer zugeordnet. Um seine Berechtigungen zu ändern, ändern Sie die diesem Benutzer zugewiesenen Richtlinien. Weitere Informationen finden Sie unter Hinzufügen und Entfernen von IAM-Identitätsberechtigungen.

Von der Konsole aus: Gehen Sie zu API-Schlüssel > Long-term API-Schlüssel > Wählen Sie Ihren Schlüssel aus > In der IAM-Konsole verwalten.

Kompromittierte Schlüssel

Wenn ein Schlüssel kompromittiert wurde, ergreifen Sie eine der folgenden Maßnahmen:

Action Schlüsseltyp Wie
Deaktivieren Long-term Konsole: API-Schlüssel > Schlüssel auswählen > Aktionen > Deaktivieren. API: UpdateServiceSpecificCredential mitStatus=Inactive.
Zurücksetzen Long-term Konsole: Aktionen > Reset-Taste. API:ResetServiceSpecificCredential.
Delete Long-term Konsole: Aktionen > Löschen. API:DeleteServiceSpecificCredential.
Sitzung ungültig machen Short-term Hängen Sie eine IAM-Richtlinie an die Identität an, die die Sitzungbedrock:CallWithBearerToken, die zur Generierung des Schlüssels verwendet wurde, verweigert oder ungültig macht.

Steuern Sie, wer API-Schlüssel generieren und verwenden kann

Zwei IAM-Aktionen steuern die Generierung und Verwendung von API-Schlüsseln:

  • iam:CreateServiceSpecificCredential— Steuert die Generierung von langfristigen Schlüsseln. Verwenden Sie den iam:ServiceSpecificCredentialAgeDays Bedingungsschlüssel, um den Ablauf zu begrenzen (z. B. maximal 90 Tage).

  • bedrock:CallWithBearerToken— Steuert die Verwendung eines beliebigen API-Schlüssels. Verwenden Sie den bedrock:bearerTokenType Bedingungsschlüssel mit Werten SHORT_TERM oder LONG_TERM als Ziel für bestimmte Schlüsseltypen.

Beispiel: Verhindern Sie, dass eine Identität einen beliebigen API-Schlüssel verwendet

Hängen Sie diese Richtlinie an die Identität an:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "bedrock:CallWithBearerToken", "Resource": "*" } ] }
Beispiel: Nur kurzlebige Schlüssel zulassen (max. 90 Tage)

Hängen Sie diese Richtlinie an die Identität an:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:CreateServiceSpecificCredential", "Resource": "*", "Condition": { "NumericLessThanEquals": { "iam:ServiceSpecificCredentialAgeDays": "90" }, "StringEquals": { "iam:ServiceSpecificCredentialServiceName": "bedrock.amazonaws.com" } } } ] }

Ausführlichere Beispiele für Richtlinien finden Sie unterReferenz zu API-Schlüsseln.