

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
<a name="api-keys"></a>

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
<a name="api-keys-gen-short"></a>

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/bedrock](https://console.aws.amazon.com/bedrock)l'adresse.

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

1. 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
<a name="api-keys-gen-long"></a>

**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](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds-programmatic-access.html#security-creds-alternatives-to-long-term-access-keys).

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/bedrock](https://console.aws.amazon.com/bedrock)l'adresse.

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

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

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

1. 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
<a name="api-keys-use"></a>

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'`Authorization`entê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
<a name="api-keys-auto-refresh"></a>

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](https://github.com/aws/aws-bedrock-token-generator-python/blob/main/README.md) \| [Javascript](https://github.com/aws/aws-bedrock-token-generator-js/blob/main/README.md) \| [Java](https://github.com/aws/aws-bedrock-token-generator-java/blob/main/README.md).

## Modifier les autorisations
<a name="api-keys-modify"></a>

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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

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
<a name="api-keys-compromised"></a>

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
<a name="api-keys-control"></a>

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, voir[Référence des clés d'API](api-keys-reference.md).