View a markdown version of this page

clés d’API - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

clés d’API

Les clés d'API Amazon Bedrock vous permettent d'authentifier les demandes d'API à l'aide d'un jeton porteur plutôt que d'informations d'identification. AWS Deux types de listes de préfixes existent :

  • Short-term— Dure jusqu'à 12 heures (ou la durée de votre séance, selon la plus courte des deux). Hérite des autorisations du principal IAM utilisé pour le générer. Recommandé pour une utilisation en production.

  • Long-term— Dure jusqu'à une date d'expiration configurée. Crée un utilisateur IAM auquel sont associées des politiques. Recommandé uniquement pour l'exploration.

Note

Tous les appels d'API sont enregistrés AWS CloudTrail. Les clés d'API sont transmises sous forme d'en-têtes d'autorisation et ne sont pas enregistrées.

Génération d'une clé d'API à court terme

Choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

Console
  1. Connectez-vous au AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ouvrez ensuite la console Amazon Bedrock à https://console.aws.amazon.com/bedrockl'adresse.

  2. Dans le panneau de navigation de gauche, sélectionnez Clés d’API.

  3. Dans l'onglet Clés Short-term d'API, choisissez Générer des clés d'API à court terme.

La clé expire à l'expiration de votre session de console (12 heures maximum). Pour générer une clé pour une autre région, changez d'abord de région dans la console.

Python

Installez le générateur de jetons :

pip install aws-bedrock-token-generator

Générez un jeton :

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

Installez le générateur de jetons :

npm install @aws/bedrock-token-generator

Générez un jeton :

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

Ajoutez la dépendance (Maven) :

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

Générez un jeton :

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

Génération d'une clé d'API à long terme

Avertissement

Long-term les clés sont uniquement destinées à l'exploration. Pour la production, utilisez des clés à court terme. Pour plus d'informations, consultez la section Alternatives aux clés d'accès longue durée.

Choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

Console
  1. Connectez-vous au AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ouvrez ensuite la console Amazon Bedrock à https://console.aws.amazon.com/bedrockl'adresse.

  2. Dans le panneau de navigation de gauche, sélectionnez Clés d’API.

  3. Dans l'onglet Clés Long-term d'API, choisissez Générer des clés d'API à long terme.

  4. Choisissez une date d'expiration et ajoutez éventuellement des autorisations dans Autorisations avancées.

  5. Choisissez Générer.

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}

La ServiceApiKeyValue réponse contient votre clé d'API.

Pour désactiver ou supprimer la clé ultérieurement, utilisez le code ServiceSpecificCredentialId de la réponse :

# 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)

Utilisation d’une clé d’API

Définissez la clé comme variable d'environnement :

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

Ou passez-le directement dans l'Authorizationentête :

Authorization: Bearer ${api-key}
Exemple : faire une demande Converse

choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :

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 clés à court terme

Pour les applications de longue durée, appelez le générateur de jetons avant chaque demande. Il renvoie un jeton mis en cache s'il est toujours valide ou en génère un nouveau automatiquement :

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)});

Pour plus d'exemples, consultez la documentation du générateur de jetons : Python | Javascript | Java.

Modifier les autorisations

Une clé d'API à long terme est associée à un utilisateur IAM. Pour modifier ses autorisations, modifiez les politiques associées à cet utilisateur. Consultez la section Ajout et suppression d'autorisations d'identité IAM.

Depuis la console : accédez à Clés d'API > Clés d'Long-term API > Sélectionnez votre clé > Gérer dans la console IAM.

Clés compromises

Si une clé est compromise, effectuez l'une des actions suivantes :

Action Type de clé Comment ?
Désactiver Long-term Console : clés d'API > touche de sélection > Actions > Désactiver. API : UpdateServiceSpecificCredential avecStatus=Inactive.
Reset Long-term Console : Actions > Touche de réinitialisation. API :ResetServiceSpecificCredential.
Suppression Long-term Console : Actions > Supprimer. API :DeleteServiceSpecificCredential.
Session invalidée Short-term Associez une politique IAM à l'identité qui refuse bedrock:CallWithBearerToken ou invalide la session utilisée pour générer la clé.

Contrôlez qui peut générer et utiliser les clés d'API

Deux actions IAM contrôlent la génération et l'utilisation des clés d'API :

  • iam:CreateServiceSpecificCredential— Contrôle la génération de clés à long terme. Utilisez la clé de iam:ServiceSpecificCredentialAgeDays condition pour limiter l'expiration (par exemple, 90 jours maximum).

  • bedrock:CallWithBearerToken— Contrôle l'utilisation de n'importe quelle clé d'API. Utilisez la clé de bedrock:bearerTokenType condition avec des valeurs SHORT_TERM ou LONG_TERM pour cibler des types de clés spécifiques.

Exemple : empêcher une identité d'utiliser une clé d'API

Associez cette politique à l'identité :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "bedrock:CallWithBearerToken", "Resource": "*" } ] }
Exemple : autoriser uniquement les clés de courte durée (90 jours maximum)

Associez cette politique à l'identité :

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

Pour des exemples de politiques plus détaillés, voirRéférence des clés d'API.