

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>

Vous pouvez facilement appeler l’API Amazon Bedrock en générant une clé d’API Amazon Bedrock et en l’utilisant pour authentifier votre identité lorsque vous envoyez des demandes à l’API Amazon Bedrock.

**Note**  
À des fins d'audit et de conformité, tous les appels d'API sont enregistrés AWS CloudTrail. Les clés d’API Amazon Bedrock sont transmises en tant qu’en-têtes d’autorisation aux demandes d’API et ne sont pas journalisées.  
Les clés d’API Amazon Bedrock sont limitées aux actions [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock.html) et d’[exécution d’Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html). Vous ne pouvez pas les utiliser avec les opérations d’API suivantes :  
[InvokeModelWithBidirectionalStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithBidirectionalStream.html).
Opérations d’API [Agents Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html) ou [Exécution des agents Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html).
Opérations d’API [Automatisation des données Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Data_Automation_for_Amazon_Bedrock.html) ou [Automatisation des données d’exécution d’Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Runtime_for_Amazon_Bedrock_Data_Automation).

Amazon Bedrock vous permet de générer les types de clés d’API Amazon Bedrock suivants :
+ **À court terme** : créez une clé d’API Amazon Bedrock qui dure aussi longtemps que votre session (et pas plus de 12 heures). Vous devez avoir déjà configuré un [principal IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html#intro-structure-terms) avec les autorisations appropriées pour utiliser Amazon Bedrock. Cette option est préférable aux clés à long terme pour les environnements de production qui nécessitent une modification régulière des informations d’identification pour une sécurité accrue.

  Les clés à court terme possèdent les propriétés suivantes :
  + Valables pour la plus courte des valeurs suivantes :
    + 12 heures
    + Durée de la session générée par le principal IAM utilisé pour générer la clé.
  + Héritez des autorisations associées au principal utilisé pour générer la clé.
  + Peut être utilisé uniquement dans la AWS région à partir de laquelle vous l'avez généré.
+ **À long terme** : créez une clé d’API Amazon Bedrock avec les autorisations nécessaires afin d’effectuer des demandes d’API de base dans Amazon Bedrock. Cette option simple en un clic vous permet de commencer rapidement à explorer l'API Amazon Bedrock sans avoir à comprendre l'infrastructure de sécurité sous-jacente ou à configurer Gestion des identités et des accès AWS manuellement les autorisations. Si vous essayez Amazon Bedrock pour la première fois, vous pouvez essayer l’exemple fournit dans [Démarrer avec les clés d’API Amazon Bedrock : génération d’une clé de 30 jours et réalisation de votre premier appel d’API](getting-started-api-keys.md) pour bénéficier d’un didacticiel simple permettant de créer une clé à long terme et de commencer à utiliser Amazon Bedrock.
**Avertissement**  
Nous vous recommandons vivement de restreindre l’utilisation des clés d’API Amazon Bedrock pour explorer Amazon Bedrock. Lorsque vous serez prêt à intégrer Amazon Bedrock dans des applications présentant des exigences de sécurité plus strictes, vous devriez passer à des informations d’identification à court terme. Pour plus d’informations, consultez [Alternatives aux clés d’accès à long terme](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds-programmatic-access.html#security-creds-alternatives-to-long-term-access-keys) dans le Guide de l’utilisateur IAM.

Sélectionnez une rubrique pour en découvrir plus sur les clés d’API d’Amazon Bedrock. Il existe différentes options pour différents types de clés Amazon Bedrock et différentes manières de les personnaliser. Pour bénéficier d’un didacticiel de démarrage rapide expliquant comment générer une clé d’API Amazon Bedrock à long terme et l’utiliser à des fins exploratoires, consultez [Démarrer avec les clés d’API Amazon Bedrock : génération d’une clé de 30 jours et réalisation de votre premier appel d’API](getting-started-api-keys.md).

**Topics**
+ [Fonctionnement des clés d’API Amazon Bedrock](api-keys-how.md)
+ [Régions prises en charge et kits de développement AWS logiciel (SDKs) pour les clés d'API Amazon Bedrock](api-keys-supported.md)
+ [Génération d’une clé d’API Amazon Bedrock](api-keys-generate.md)
+ [Utilisation d’une clé d’API Amazon Bedrock](api-keys-use.md)
+ [Modification des autorisations pour les clés d’API Amazon Bedrock à long et à court terme](api-keys-modify.md)
+ [Gestion des clés d’API Amazon Bedrock compromises à long et à court terme](api-keys-revoke.md)
+ [Contrôle des autorisations permettant de générer et d’utiliser les clés d’API Amazon Bedrock](api-keys-permissions.md)

# Fonctionnement des clés d’API Amazon Bedrock
<a name="api-keys-how"></a>

L’image suivante compare le processus par défaut pour obtenir des informations d’identification à l’utilisation de la clé d’API Amazon Bedrock :

![\[Processus de configuration d’API par défaut comparé au processus de configuration d’API utilisant la clé d’API Amazon Bedrock\]](http://docs.aws.amazon.com/fr_fr/bedrock/latest/userguide/images/setup/setup-api.png)


Le flux le plus à gauche du diagramme montre le processus par défaut de création d’une identité dans AWS IAM Identity Center ou IAM. Dans le cadre de ce processus, vous associez des politiques IAM à cette identité afin de fournir des autorisations pour effectuer des opérations d’API, puis vous générez des informations d’identification AWS générales pour cette identité. Vous pouvez ensuite utiliser les informations d’identification pour effectuer des appels d’API dans AWS.

Les nœuds bleus indiquent deux autres flux à authentifier spécifiquement auprès d’Amazon Bedrock. Les deux flux impliquent la création d’une clé d’API Amazon Bedrock avec laquelle vous pouvez vous authentifier à l’aide des actions Amazon Bedrock. Vous pouvez générer les types de clés suivants :
+ **Clé à court terme** : option sécurisée qui permet un accès temporaire à Amazon Bedrock.

  Les clés à court terme possèdent les propriétés suivantes :
  + Valables pour la plus courte des valeurs suivantes :
    + 12 heures
    + Durée de la session générée par le principal IAM utilisé pour générer la clé.
  + Héritez des autorisations associées au principal utilisé pour générer la clé.
  + Ne peuvent être utilisées que dans la région AWS à partir de laquelle vous les avez générées.
+ **Clé à long terme** : recommandée uniquement pour l’exploration d’Amazon Bedrock. Vous pouvez définir la durée après laquelle la clé expire. Lorsque vous générez une clé à long terme, elle crée automatiquement un utilisateur IAM qui vous est destiné, attache les politiques IAM que vous sélectionnez et associe la clé à l’utilisateur. Après avoir généré la clé, vous pouvez utiliser le service IAM [pour modifier les autorisations de l’utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).
**Avertissement**  
Nous vous recommandons vivement de restreindre l’utilisation des clés d’API Amazon Bedrock pour explorer Amazon Bedrock. Lorsque vous serez prêt à intégrer Amazon Bedrock dans des applications présentant des exigences de sécurité plus strictes, vous devriez passer à des informations d’identification à court terme. Pour plus d’informations, consultez [Alternatives aux clés d’accès à long terme](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds-programmatic-access.html#security-creds-alternatives-to-long-term-access-keys) dans le Guide de l’utilisateur IAM.

# Régions prises en charge et kits de développement AWS logiciel (SDKs) pour les clés d'API Amazon Bedrock
<a name="api-keys-supported"></a>

La liste suivante indique celles Régions AWS qui prennent en charge les clés d'API :
+ ap-northeast-1
+ ap-northeast-2
+ ap-northeast-3
+ ap-south-1
+ ap-south-2
+ ap-southeast-1
+ ap-southeast-2
+ ca-central-1
+ eu-central-1
+ eu-central-2
+ eu-north-1
+ eu-south-1
+ eu-south-2
+ eu-west-1
+ eu-west-2
+ eu-west-3
+ sa-east-1
+ us-east-1
+ us-gov-east-1
+ us-gov-west-1
+ us-west-2

**Note**  
Les clés d’API Amazon Bedrock sont limitées aux actions [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock.html) et d’[exécution d’Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html). Vous ne pouvez pas les utiliser avec les opérations d’API suivantes :  
[InvokeModelWithBidirectionalStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithBidirectionalStream.html).
Opérations d’API [Agents Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html) ou [Exécution des agents Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html).
Opérations d’API [Automatisation des données Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Data_Automation_for_Amazon_Bedrock.html) ou [Automatisation des données d’exécution d’Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Runtime_for_Amazon_Bedrock_Data_Automation).

Les clés d'API Amazon Bedrock sont prises en charge avec les éléments suivants : AWS SDKs
+ Python
+ JavaScript
+ Java

# Génération d’une clé d’API Amazon Bedrock
<a name="api-keys-generate"></a>

Vous pouvez générer une clé d’API Amazon Bedrock à l’aide de la AWS Management Console ou de l’API AWS. Nous vous recommandons d’utiliser la AWS Management Console pour générer facilement une clé d’API Amazon Bedrock en quelques étapes.

**Avertissement**  
Nous vous recommandons vivement de restreindre l’utilisation des clés d’API Amazon Bedrock pour explorer Amazon Bedrock. Lorsque vous serez prêt à intégrer Amazon Bedrock dans des applications présentant des exigences de sécurité plus strictes, vous devriez passer à des informations d’identification à court terme. Pour plus d’informations, consultez [Alternatives aux clés d’accès à long terme](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds-programmatic-access.html#security-creds-alternatives-to-long-term-access-keys) dans le Guide de l’utilisateur IAM.

**Topics**
+ [Génération d’une clé d’API Amazon Bedrock à l’aide de la console](#api-keys-generate-console)
+ [Génération d’une clé d’API Amazon Bedrock à long terme à l’aide de l’API](#api-keys-generate-api-long-term)
+ [Générez une clé d’API Amazon Bedrock à court terme à l’aide d’une bibliothèque cliente](#api-keys-generate-short-term)
+ [Configuration de l’actualisation automatique des clés d’API Amazon Bedrock à court terme](#api-keys-refresh-short-term)

## Génération d’une clé d’API Amazon Bedrock à l’aide de la console
<a name="api-keys-generate-console"></a>

Pour générer une clé d’API Amazon Bedrock à l’aide de la console, procédez comme suit :

1. Connectez-vous à la AWS Management Console avec une identité IAM autorisée à utiliser la console Amazon Bedrock. Ensuite, ouvrez la console Amazon Bedrock à l’adresse [https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock).

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

1. Générez l’un des types de clés suivants :
   + **Clé d’API à court terme** : dans l’onglet **Clés d’API à court terme**, choisissez **Générer des clés d’API à court terme**. La clé expire lorsque votre session de console expire (et pas plus de 12 heures) et vous permet de passer des appels vers la console à la Région AWS depuis laquelle vous l’avez générée. Vous pouvez modifier la région directement dans la clé générée.
   + **Clé d’API à long terme** : dans l’onglet **Clés d’API à long terme**, choisissez **Générer des clés d’API à long terme**.

     1. Dans la section **Expiration de la clé API**, choisissez un délai au terme duquel la clé expirera.

     1. (Facultatif) Par défaut, la stratégie [AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess) gérée par AWS, qui accorde un accès aux opérations d’API Amazon Bedrock principales, est associée à l’utilisateur IAM associé à la clé. Pour sélectionner d’autres stratégies à associer à l’utilisateur, développez la section **Autorisations avancées** et sélectionnez les stratégies que vous souhaitez ajouter.

     1. Choisissez **Générer**.
**Avertissement**  
Nous vous recommandons vivement de restreindre l’utilisation des clés d’API Amazon Bedrock pour explorer Amazon Bedrock. Lorsque vous serez prêt à intégrer Amazon Bedrock dans des applications présentant des exigences de sécurité plus strictes, vous devriez passer à des informations d’identification à court terme. Pour plus d’informations, consultez [Alternatives aux clés d’accès à long terme](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds-programmatic-access.html#security-creds-alternatives-to-long-term-access-keys) dans le Guide de l’utilisateur IAM.



## Génération d’une clé d’API Amazon Bedrock à long terme à l’aide de l’API
<a name="api-keys-generate-api-long-term"></a>

Les étapes générales de création d’une clé d’API Amazon Bedrock à long terme dans l’API sont les suivantes :

1. Créez un utilisateur IAM en envoyant une demande [CreateUser](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateUser.html) avec un [point de terminaison IAM](https://docs.aws.amazon.com/general/latest/gr/iam-service.html).

1. Associez [AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess) à l’utilisateur IAM en envoyant une demande [AttachUserPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_AttachUserPolicy.html) avec un [point de terminaison IAM](https://docs.aws.amazon.com/general/latest/gr/iam-service.html). Vous pouvez répéter cette étape pour associer d’autres stratégies gérées ou personnalisées selon les besoins à l’utilisateur.
**Note**  
Pour des raisons de sécurité optimales, nous vous recommandons vivement d’associer des politiques IAM à l’utilisateur IAM afin de restreindre l’utilisation des clés d’API Amazon Bedrock. Pour des exemples de stratégies limitées dans le temps et de restriction des adresses IP autorisées à utiliser la clé, consultez [Contrôler l’utilisation des clés d’accès en associant une politique en ligne à un utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-keys_inline-policy.html).

1. Générez la clé d’API Amazon Bedrock à long terme en envoyant une demande [CreateServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceSpecificCredential.html.html) avec un [point de terminaison IAM](https://docs.aws.amazon.com/general/latest/gr/iam-service.html) et en spécifiant `bedrock.amazonaws.com` comme `ServiceName`.
   + La `ServiceApiKeyValue` renvoyée dans la réponse est votre clé d’API Amazon Bedrock à long terme.
   + La `ServiceSpecificCredentialId` renvoyée dans la réponse peut être utilisée pour effectuer des opérations d’API liées à la clé.

Pour savoir comment générer une clé d’API Amazon Bedrock à long terme, choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ CLI ]

Pour créer une clé d’API Amazon Bedrock à long terme, vous devez utiliser les opérations d’API Gestion des identités et des accès AWS. Tout d’abord, vérifiez que vous remplissez les conditions requises :

**Conditions préalables**  
Assurez-vous que votre configuration permet à l’AWS CLI de reconnaître automatiquement vos informations d’identification AWS. Pour en savoir plus, consultez [Configuration des paramètres pour l’AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html).

Ouvrez une fenêtre de terminal et exécutez les commandes suivantes :

1. Créer un utilisateur IAM. Vous pouvez remplacer le nom par celui de votre choix :

   ```
   aws iam create-user --user-name bedrock-api-user
   ```

1. Associez [AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess) à l’utilisateur. Vous pouvez répéter cette étape avec les ARN de toute autre stratégie personnalisée par AWS que vous souhaitez ajouter à la clé d’API :

   ```
   aws iam attach-user-policy --user-name bedrock-api-user --policy-arn arn:aws:iam::aws:policy/AmazonBedrockLimitedAccess
   ```

1. Créez la clé API Amazon Bedrock à long terme, en remplaçant *\$1\$1NUMBER-OF-DAYS\$1* par le nombre de jours pendant lesquels vous souhaitez que la clé dure :

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

------
#### [ Python ]

Pour créer une clé d’API Amazon Bedrock à long terme, vous devez utiliser les opérations d’API Gestion des identités et des accès AWS. Tout d’abord, vérifiez que vous remplissez les conditions requises :

**Conditions préalables**  
Assurez-vous que votre configuration permet à Python de reconnaître automatiquement vos informations d’identification AWS. Pour en savoir plus, consultez [Configuration des paramètres pour l’AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html).

Exécutez le script suivant pour créer un utilisateur IAM, associer des autorisations pour effectuer des actions Amazon Bedrock et générer une clé d’API Amazon Bedrock à long terme à associer à l’utilisateur :

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

------

## Générez une clé d’API Amazon Bedrock à court terme à l’aide d’une bibliothèque cliente
<a name="api-keys-generate-short-term"></a>

Les clés à court terme possèdent les propriétés suivantes :
+ Valables pour la plus courte des valeurs suivantes :
  + 12 heures
  + Durée de la session générée par le principal IAM utilisé pour générer la clé.
+ Héritez des autorisations associées au principal utilisé pour générer la clé.
+ Ne peuvent être utilisées que dans la région AWS à partir de laquelle vous les avez générées.

Pour les applications de longue durée, la bibliothèque cliente [aws-bedrock-token-generator](https://github.com/aws/aws-bedrock-token-generator-js/blob/main/README.md) peut créer de nouvelles clés d’API à court terme Amazon Bedrock selon les besoins lorsque les informations d’identification sont actualisées. Pour plus d’informations, consultez [Configuration de l’actualisation automatique des clés d’API Amazon Bedrock à court terme](#api-keys-refresh-short-term).

**Conditions préalables**
+ Assurez-vous que le principal IAM que vous utilisez pour générer la clé est configuré avec les autorisations appropriées pour utiliser Amazon Bedrock. À des fins d’expérimentation, vous pouvez associer la politique [AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess) gérée par AWS au principal. Vous pouvez vous référer aux [meilleures pratiques de sécurité d’IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) pour protéger vos informations d’identification.
+ Assurez-vous que votre configuration permet à Python de reconnaître automatiquement vos informations d’identification AWS. La méthode par défaut par laquelle les informations d’identification sont extraites suit une hiérarchie définie. Vous pouvez consulter la hiérarchie d’un kit SDK ou d’un outil dans [Fournisseurs d’informations d’identification normalisés pour les kits SDK et les outils AWS](https://docs.aws.amazon.com/sdkref/latest/guide/standardized-credentials.html).
+ Installez le générateur de jetons Amazon Bedrock. Choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Python ]

Ouvrez un terminal et exécutez la commande suivante :

```
pip install aws-bedrock-token-generator
```

------
#### [ Javascript ]

Ouvrez un terminal et exécutez la commande suivante :

```
npm install @aws/bedrock-token-generator
```

------
#### [ Java ]

Si vous utilisez Maven, ajoutez la dépendance suivante à votre fichier `pom.xml` :

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

Si vous utilisez Gradle, ajoutez ce qui suit à votre `build.gradle` :

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

------

**Exemples**  
Pour voir des exemples d’utilisation du générateur de jetons pour générer une clé d’API Amazon Bedrock à court terme avec vos informations d’identification par défaut dans différentes langues, choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ 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();
```

------

Pour voir d’autres exemples de différents cas d’utilisation lors de la génération de jetons, consultez les liens suivants :
+ [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)

## Configuration de l’actualisation automatique des clés d’API Amazon Bedrock à court terme
<a name="api-keys-refresh-short-term"></a>

Vous pouvez créer un script à l’aide du package `aws-bedrock-token-generator` pour régénérer par programmation une nouvelle clé à court terme chaque fois que votre clé actuelle a expiré. Tout d’abord, vérifiez que vous remplissez les conditions préalables énoncées dans [Générez une clé d’API Amazon Bedrock à court terme à l’aide d’une bibliothèque cliente](#api-keys-generate-short-term). Pour voir des exemples de scripts qui extraient un jeton et envoient une requête Converse, choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ 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());
    }
}
```

------

# Utilisation d’une clé d’API Amazon Bedrock
<a name="api-keys-use"></a>

Vous pouvez utiliser votre clé d’API Amazon Bedrock de la manière suivante :
+ **Définissez-la comme variable d’environnement** : le service Amazon Bedrock reconnaît la variable d’environnement `AWS_BEARER_TOKEN_BEDROCK`. Vous disposez des options suivantes pour définir la clé :
  + Ouvrez un terminal pour le définir :
    + **MacOS/Linux**

      ```
      export AWS_BEARER_TOKEN_BEDROCK=${api-key}
      ```
    + **Windows**

      ```
      setx AWS_BEARER_TOKEN_BEDROCK "${api-key}"
      ```
  + Définissez-la comme variable d’environnement dans votre code avant de faire la demande d’API. Par exemple, vous pouvez inclure les lignes suivantes avant de faire la demande :
    + **Python**

      ```
      import os                      
      os.environ['AWS_BEARER_TOKEN_BEDROCK'] = "${api-key}"
      ```
+ **Spécifiez-le dans une demande** : vous pouvez inclure la clé d’API Amazon Bedrock dans l’en-tête d’autorisation de la manière suivante (remplacez *\$1AWS\$1BEARER\$1TOKEN\$1BEDROCK* par la valeur réelle) :
  + **Dans une requête HTTP directe** : incluez ce qui suit dans l’en-tête d’autorisation :

    ```
    Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK
    ```
  + **En tant que paramètre dans un kit SDK pris en charge** : spécifiez la valeur du paramètre lors de la configuration du client. Par exemple, vous pouvez le spécifier dans le champ `api_key` lors de la configuration d’un client avec le [kit SDK OpenAI Python](https://github.com/openai/openai-python?tab=readme-ov-file#usage).

**Note**  
Les clés d’API Amazon Bedrock sont limitées aux actions [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock.html) et d’[exécution d’Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html). Vous ne pouvez pas les utiliser avec les opérations d’API suivantes :  
[InvokeModelWithBidirectionalStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithBidirectionalStream.html).
Opérations d’API [Agents Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html) ou [Exécution des agents Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html).
Opérations d’API [Automatisation des données Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Data_Automation_for_Amazon_Bedrock.html) ou [Automatisation des données d’exécution d’Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Runtime_for_Amazon_Bedrock_Data_Automation).

Pour voir un exemple d’utilisation de la clé d’API pour envoyer une requête [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) afin de générer une réponse, choisissez l’onglet correspondant à votre méthode préférée, puis suivez les étapes :

------
#### [ Python ]

L’exemple suivant montre comment envoyer une demande d’API avec AWS SDK pour Python (Boto3). Si vous n’avez pas encore défini la clé d’API comme variable d’environnement `AWS_BEARER_TOKEN_BEDROCK`, spécifiez-la à la place de *\$1\$1api-key\$1* dans le code suivant :

```
import os
import boto3
                        
# If you already set the API key as an environment variable, you can comment this line out                        
os.environ['AWS_BEARER_TOKEN_BEDROCK'] = "${api-key}"

# Create an Amazon Bedrock client
client = boto3.client(
    service_name="bedrock-runtime",
    region_name="us-east-1" # If you've configured a default region, you can omit this line
)

# Define the model and message
model_id = "us.anthropic.claude-3-5-haiku-20241022-v1:0"
messages = [{"role": "user", "content": [{"text": "Hello"}]}]

response = client.converse(
    modelId=model_id,
    messages=messages,
)
```

------
#### [ HTTP Client (requests package in Python) ]

**Condition préalable** : installez le package `requests` en ouvrant un terminal et en exécutant la commande suivante :

```
python3 -m pip install requests
```

L’exemple suivant montre comment envoyer directement une demande d’API avec un client HTTP. Spécifiez le *\$1\$1api-key\$1* dans l’en-tête.

```
import requests

url = "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-3-5-haiku-20241022-v1:0/converse"

payload = {
    "messages": [
        {
            "role": "user",
            "content": [{"text": "Hello"}]
        }
    ]
}

headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer ${api-key}"
}

response = requests.request("POST", url, json=payload, headers=headers)

print(response.text)
```

------
#### [ HTTP request using cURL ]

L’exemple suivant montre comment envoyer directement une demande d’API à l’aide de cURL. Si vous n’avez pas défini la clé d’API comme variable d’environnement AWS\$1BEARER\$1TOKEN\$1BEDROCK, vous devrez remplacer `$AWS_BEARER_TOKEN_BEDROCK` dans l’exemple par la valeur littérale de la clé.

```
curl -X POST "https://bedrock-runtime.us-east-1.amazonaws.com/model/us.anthropic.claude-3-5-haiku-20241022-v1:0/converse" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $AWS_BEARER_TOKEN_BEDROCK" \
  -d '{
    "messages": [
        {
            "role": "user",
            "content": [{"text": "Hello"}]
        }
    ]
  }'
```

------

# Modification des autorisations pour les clés d’API Amazon Bedrock à long et à court terme
<a name="api-keys-modify"></a>

Lorsque vous générez une clé d’API Amazon Bedrock à long terme, vous créez un utilisateur IAM associé à la clé. Pour modifier les autorisations associées à la clé, modifiez les autorisations de l’utilisateur IAM via le service IAM. Pour plus d’informations, consultez [Ajout et suppression d’autorisations basées sur l’identité IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) dans le Guide de l’utilisateur IAM.

**Note**  
Si vous avez généré la clé à long terme dans le AWS Management Console, elle y [AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess)est attachée par défaut. Si vous envisagez de modifier les autorisations, supprimez d’abord cette politique avant de définir des autorisations personnalisées.

## Exemple de modification des autorisations pour les clés d’API
<a name="api-keys-modify-example"></a>

La procédure suivante montre comment remplacer le par [AmazonBedrockLimitedAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockLimitedAccess)un autre plus restrictif :

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

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

1. Sélectionnez l’onglet **Clés d’API à long terme**.

1. Sélectionnez votre clé d’API et choisissez **Gérer dans la console IAM**.

1. Sélectionnez l'onglet **Autorisations**, choisissez la **AmazonBedrockLimitedAccess**politique, puis choisissez **Supprimer**.
**Note**  
À ce stade, vous avez supprimé toutes les autorisations de la APi clé et vous ne pourrez rien en faire.

1. Dans la section **Politiques d’autorisations**, choisissez **Créer une politique en ligne** dans la liste déroulante **Ajouter des autorisations**.

1. Dans l’**Éditeur de politique**, sélectionnez **JSON**. Collez ensuite la politique suivante dans l’éditeur :

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "bedrock:CallWithBearerToken"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "bedrock:InvokeModel*"
               ],
               "Resource": [
                   "arn:aws:bedrock:us-west-2:111122223333:inference-profile/us.anthropic.claude-3-haiku-20240307-v1:0"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "bedrock:InvokeModel*"
               ],
               "Resource": [
                   "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-haiku-20240307-v1:0",
                   "arn:aws:bedrock:us-west-2::foundation-model/anthropic.claude-3-haiku-20240307-v1:0"
               ],
               "Condition": {
                   "StringLike": {
                       "bedrock:InferenceProfileArn": "arn:aws:bedrock:us-west-2:111122223333:inference-profile/us.anthropic.claude-3-haiku-20240307-v1:0"
                   }
               }
           }
       ]
   }
   ```

------

1. Choisissez **Suivant**, fournissez un **Nom de politique**, puis choisissez **Créer une politique**.

1. Avec cette clé d’API, un utilisateur ne peut désormais exécuter une inférence qu’avec le profil d’inférence Anthropic Claude 3 Haiku américain dans la région USA Ouest (Oregon).

# Gestion des clés d’API Amazon Bedrock compromises à long et à court terme
<a name="api-keys-revoke"></a>

Si votre clé d’API est compromise, vous devez révoquer les autorisations d’utilisation. Vous pouvez utiliser différentes méthodes pour révoquer les autorisations associées à une clé d’API Amazon Bedrock :
+ Pour les clés API Amazon Bedrock à long terme [UpdateServiceSpecificCredential[ResetServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResetServiceSpecificCredential.html.html)](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServiceSpecificCredential.html.html), vous pouvez utiliser ou [DeleteServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceSpecificCredential.html.html)révoquer les autorisations de la manière suivante :
  + Définissez le statut de la clé sur inactif. Vous pouvez la réactiver par la suite.
  + Réinitialisez la clé. Cette action génère un nouveau mot de passe pour la clé.
  + Supprimez définitivement la clé.
**Note**  
Pour effectuer ces actions via l'API, vous devez vous authentifier avec des AWS informations d'identification et non avec une clé d'API Amazon Bedrock.
+ Pour les clés d’API Amazon Bedrock à court et à long terme, vous pouvez joindre des politiques IAM pour révoquer les autorisations.

**Topics**
+ [Modification du statut d’une clé d’API Amazon Bedrock à long terme](#api-keys-change-status)
+ [Réinitialisation d’une clé d’API Amazon Bedrock à long terme](#api-keys-reset)
+ [Suppression d’une clé d’API Amazon Bedrock à long terme](#api-keys-delete)
+ [Association de politiques IAM pour supprimer les autorisations d’utilisation d’une clé d’API Amazon Bedrock](#api-keys-iam-policies)

## Modification du statut d’une clé d’API Amazon Bedrock à long terme
<a name="api-keys-change-status"></a>

Si vous devez empêcher l’utilisation temporaire d’une clé, désactivez-la. Une fois que vous êtes prêt à l’utiliser à nouveau, réactivez-la.

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

------
#### [ Console ]

**Pour désactiver une clé**

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

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

1. Dans la section **Clés d’API à long terme**, choisissez une clé dont le **statut** est **inactif**.

1. Choisissez **Actions**.

1. Sélectionnez **Deactivate** (Désactiver).

1. Pour confirmer, sélectionnez **Désactiver la clé API**. Le **statut** de la clé devient **inactif**.

**Pour réactiver une clé**

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

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

1. Dans la section **Clés d’API à long terme**, choisissez une clé dont le **statut** est **inactif**.

1. Choisissez **Actions**.

1. Sélectionnez **Activer**.

1. Pour confirmer, sélectionnez **Activer la clé API**. Le **statut** de la clé devient **actif**.

------
#### [ Python ]

Pour désactiver une clé à l'aide de l'API, envoyez une [UpdateServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServiceSpecificCredential.html.html)demande avec un point de [terminaison IAM](https://docs.aws.amazon.com/general/latest/gr/iam-service.html) et spécifiez le `Status` as. `Inactive` Vous pouvez utiliser l'extrait de code suivant pour désactiver une clé, en la *\$1\$1ServiceSpecificCredentialId\$1* remplaçant par la valeur renvoyée lors de la création de la clé.

```
import boto3
                        
iam_client = boto3.client("iam")
                      
iam_client.update_service_specific_credential(
    service_specific_credential_id=${ServiceSpecificCredentialId},
    status="Inactive"
)
```

Pour réactiver une clé à l'aide de l'API, envoyez une [UpdateServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_UpdateServiceSpecificCredential.html.html)demande avec un point de [terminaison IAM](https://docs.aws.amazon.com/general/latest/gr/iam-service.html) et spécifiez le `Status` as. `Active` Vous pouvez utiliser l'extrait de code suivant pour réactiver une clé, en la *\$1\$1ServiceSpecificCredentialId\$1* remplaçant par la valeur renvoyée lors de la création de la clé.

```
import boto3
                        
iam_client = boto3.client("iam")
                      
iam_client.update_service_specific_credential(
    service_specific_credential_id=${ServiceSpecificCredentialId},
    status="Active"
)
```

------

## Réinitialisation d’une clé d’API Amazon Bedrock à long terme
<a name="api-keys-reset"></a>

Si la valeur de votre clé a été compromise ou si vous ne l’avez plus, réinitialisez-la. La clé ne doit pas encore avoir expirée. Si elle est déjà expirée, supprimez la clé et créez-en une nouvelle.

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

------
#### [ Console ]

**Pour réinitialiser une clé**

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

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

1. Dans la section **Clés d’API à long terme**, choisissez une clé.

1. Choisissez **Actions**.

1. Sélectionnez **Réinitialiser la clé**.

1. Sélectionnez **Suivant**.

------
#### [ Python ]

Pour réinitialiser une clé à l'aide de l'API, envoyez une [ResetServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ResetServiceSpecificCredential.html.html)demande avec un point de [terminaison IAM](https://docs.aws.amazon.com/general/latest/gr/iam-service.html). Vous pouvez utiliser l'extrait de code suivant pour réinitialiser une clé, en la *\$1\$1ServiceSpecificCredentialId\$1* remplaçant par la valeur renvoyée lors de la création de la clé.

```
import boto3
            
iam_client = boto3.client("iam")
          
iam_client.reset_service_specific_credential(
    service_specific_credential_id=${ServiceSpecificCredentialId}
)
```

------

## Suppression d’une clé d’API Amazon Bedrock à long terme
<a name="api-keys-delete"></a>

Si vous n’avez plus besoin d’une clé ou si elle a expiré, supprimez-la.

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

------
#### [ Console ]

**Pour supprimer une clé**

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

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

1. Dans la section **Clés d’API à long terme**, choisissez une clé.

1. Choisissez **Actions**.

1. Sélectionnez **Supprimer**.

1. Confirmez la suppression.

**Une clé d'API est liée à un utilisateur IAM**  
La suppression de cette clé d'API ne supprime pas l'utilisateur IAM créé avec cette clé en tant que propriétaire. Vous pouvez supprimer l'utilisateur IAM de la console IAM à l'étape suivante.

------
#### [ Python ]

Pour supprimer une clé à l'aide de l'API, envoyez une [DeleteServiceSpecificCredential](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceSpecificCredential.html.html)demande avec un point de [terminaison IAM](https://docs.aws.amazon.com/general/latest/gr/iam-service.html). Vous pouvez utiliser l'extrait de code suivant pour supprimer une clé, en la *\$1\$1ServiceSpecificCredentialId\$1* remplaçant par la valeur renvoyée lors de la création de la clé.

```
import boto3
            
iam_client = boto3.client("iam")
          
iam_client.delete_service_specific_credential(
    service_specific_credential_id=${ServiceSpecificCredentialId}
)
```

------

## Association de politiques IAM pour supprimer les autorisations d’utilisation d’une clé d’API Amazon Bedrock
<a name="api-keys-iam-policies"></a>

Cette section fournit des politiques IAM que vous pouvez utiliser pour restreindre l’accès à une clé d’API Amazon Bedrock.

### Refus de la possibilité de passer des appels avec une clé d’API Amazon Bedrock
<a name="api-keys-iam-policies-deny-call-with-bearer-token"></a>

L’action qui permet à une identité de passer des appels avec une clé d’API Amazon Bedrock est `bedrock:CallWithBearerToken`. Pour empêcher une identité de passer des appels avec la clé d’API Amazon Bedrock, vous pouvez associer une politique IAM à une identité en fonction du type de clé :
+ **Clé à long terme** : associez la politique à l’utilisateur IAM associé à la clé.
+ **Clé à court terme** : associez la politique au rôle IAM utilisé pour générer la clé.

La politique IAM que vous pouvez associer à l’identité IAM est la suivante :

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Deny",
    "Action": "bedrock:CallWithBearerToken",
    "Resource": "*"
  }
}
```

------

### Invalidation d’une session de rôle IAM
<a name="api-keys-iam-policies-invalidate-session"></a>

Si une clé à court terme est compromise, vous pouvez empêcher son utilisation en invalidant la session de rôle utilisée pour générer la clé. Pour invalider la session de rôle, associez la stratégie suivante à l’identité IAM qui a généré la clé. Remplacez *2014-05-07T23:47:00Z* par le délai après lequel vous souhaitez que la session soit invalidée.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Deny",
    "Action": "*",
    "Resource": "*",
    "Condition": {
      "DateLessThan": {"aws:TokenIssueTime": "2014-05-07T23:47:00Z"}
    }
  }
}
```

------

# Contrôle des autorisations permettant de générer et d’utiliser les clés d’API Amazon Bedrock
<a name="api-keys-permissions"></a>

La génération et l’utilisation des clés d’API Amazon Bedrock sont contrôlées par des actions et des clés de condition dans les services Amazon Bedrock et IAM.

**Contrôle de la génération des clés d’API Amazon Bedrock**  
L'CreateServiceSpecificCredentialaction [iam :](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsidentityandaccessmanagementiam.html#awsidentityandaccessmanagementiam-actions-as-permissions) contrôle la génération d'une clé spécifique au service (telle qu'une clé d'API Amazon Bedrock à long terme). Vous pouvez étendre cette action aux utilisateurs IAM en tant que ressource afin de limiter le nombre d’utilisateurs pour lesquels une clé peut être générée.

Vous pouvez utilisez les clés de condition suivantes pour imposer des conditions à l’autorisation pour l’action `iam:CreateServiceSpecificCredential` :
+ [iam : ServiceSpecificCredentialAgeDays](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_ServiceSpecificCredentialAgeDays) — Permet de spécifier, dans la condition, le délai d'expiration de la clé en jours. Par exemple, vous pouvez utiliser cette clé de condition pour autoriser uniquement des clés API qui expirent au terme d’un délai de 90 jours.
+ [iam : ServiceSpecificCredentialServiceName](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_ServiceSpecificCredentialAgeDays) — Permet de spécifier, dans la condition, le nom d'un service. Par exemple, vous pouvez utiliser cette clé de condition pour autoriser uniquement la clé d’API pour Amazon Bedrock et non pour d’autres services.

**Contrôle de l’utilisation des clés d’API Amazon Bedrock**  
L'CallWithBearerTokenaction [bedrock :](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions) contrôle l'utilisation d'une clé API Amazon Bedrock à court ou à long terme.

Vous pouvez utiliser la clé de condition `bedrock:bearerTokenType` avec des [opérateurs de condition de chaîne](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String) pour spécifier le type de jeton porteur pour lequel vous souhaitez demander l’autorisation pour `bedrock:CallWithBearerToken`. Vous pouvez spécifier l’une des valeurs suivantes :
+ `SHORT_TERM` : spécifie les clés d’API Amazon Bedrock à court terme dans la condition.
+ `LONG_TERM` : spécifie les clés API Amazon Bedrock à long terme dans la condition.

Le tableau suivant explique comment empêcher une identité de générer ou d’utiliser des clés d’API Amazon Bedrock :


****  

| Objectif | Clé à long terme | Clé à court terme | 
| --- | --- | --- | 
| Empêcher la génération de clés | Associez une stratégie qui refuse l’action iam:CreateServiceSpecificCredential à une identité IAM. | N/A | 
| Empêcher l’utilisation d’une clé | Associez une stratégie qui refuse l’action bedrock:CallWithBearerToken à l’utilisateur IAM associé à la clé. | Associez une politique qui refuse l’action bedrock:CallWithBearerToken aux identités IAM dont vous ne souhaitez pas qu’elles puissent utiliser la clé. | 

**Avertissement**  
Dans la mesure où une clé d’API Amazon Bedrock à court terme utilise les informations d’identification existantes d’une session, vous pouvez empêcher son utilisation en refusant à l’action `bedrock:CallWithBearerToken` d’agir sur l’identité qui a généré la clé. Toutefois, vous ne pouvez pas empêcher la génération d’une clé de courte durée.

## Exemples de stratégies pour contrôler la génération et l’utilisation des clés d’API
<a name="api-keys-permissions-examples"></a>

Par exemple, les politiques IAM pour contrôler la génération et l’utilisation des clés d’API, sélectionnez l’une des rubriques suivantes :

**Topics**
+ [Empêcher une identité de générer des clés à long terme et d’utiliser les clés d’API Amazon Bedrock](#api-keys-permissions-examples-prevent-generation-and-use)
+ [Empêcher une identité d’utiliser des clés d’API à court terme](#api-keys-permissions-examples-prevent-use-short-term)
+ [Empêcher une identité d’utiliser des clés d’API à long terme](#api-keys-permissions-examples-prevent-use-long-term)
+ [Empêcher explicitement une identité d’utiliser des clés d’API à court terme](#api-keys-permissions-examples-deny-use-short-term-explicitly)
+ [Empêcher explicitement une identité d’utiliser des clés d’API à long terme](#api-keys-permissions-examples-deny-use-long-term-explicitly)
+ [Autorisation de la création de clés Amazon Bedrock uniquement si elles expirent au terme d’un délai de 90 jours](#api-keys-permissions-examples-allow-bedrock-keys-expire-within-90-days)

### Empêcher une identité de générer des clés à long terme et d’utiliser les clés d’API Amazon Bedrock
<a name="api-keys-permissions-examples-prevent-generation-and-use"></a>

Pour empêcher une identité IAM de générer des clés d’API Amazon Bedrock à long terme et d’utiliser des clés d’API Amazon Bedrock, associez la stratégie suivante à l’identité :

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid":"DenyBedrockShortAndLongTermAPIKeys",
      "Effect": "Deny",
      "Action": [
        "iam:CreateServiceSpecificCredential",
        "bedrock:CallWithBearerToken"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

**Avertissement**  
Vous ne pouvez pas empêcher la génération de clés à court terme.
Cette politique empêchera la création d'informations d'identification pour tous les AWS services qui prennent en charge la création d'informations d'identification spécifiques au service. Pour plus d’informations, consultez [Informations d’identification spécifiques au service pour les utilisateurs IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_service-specific-creds.html).

### Empêcher une identité d’utiliser des clés d’API à court terme
<a name="api-keys-permissions-examples-prevent-use-short-term"></a>

Pour empêcher une identité IAM d’utiliser des clés d’API Amazon Bedrock à court terme, associez la stratégie suivante à l’identité :

### Empêcher une identité d’utiliser des clés d’API à long terme
<a name="api-keys-permissions-examples-prevent-use-long-term"></a>

Pour empêcher une identité IAM d’utiliser des clés d’API Amazon Bedrock à long terme, associez la stratégie suivante à l’identité :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "bedrock:CallWithBearerToken",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "bedrock:bearerTokenType": "LONG_TERM"
                }
            }
        }
    ]
}
```

------

### Empêcher explicitement une identité d’utiliser des clés d’API à court terme
<a name="api-keys-permissions-examples-deny-use-short-term-explicitly"></a>

Pour empêcher explicitement une identité IAM d’utiliser des clés d’API Amazon Bedrock à court terme, mais autoriser l’utilisation d’autres clés d’API, associez la stratégie suivante à l’identité :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "bedrock:CallWithBearerToken",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "bedrock:bearerTokenType": "SHORT_TERM"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "bedrock:CallWithBearerToken",
            "Resource": "*"
        }
    ]
}
```

------

### Empêcher explicitement une identité d’utiliser des clés d’API à long terme
<a name="api-keys-permissions-examples-deny-use-long-term-explicitly"></a>

Pour empêcher explicitement une identité IAM d’utiliser des clés d’API Amazon Bedrock à long terme, mais autoriser l’utilisation d’autres clés d’API, associez la stratégie suivante à l’identité :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "bedrock:CallWithBearerToken",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "bedrock:bearerTokenType": "LONG_TERM"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "bedrock:CallWithBearerToken",
            "Resource": "*"
        }
    ]
}
```

------

### Autorisation de la création de clés Amazon Bedrock uniquement si elles expirent au terme d’un délai de 90 jours
<a name="api-keys-permissions-examples-allow-bedrock-keys-expire-within-90-days"></a>

Pour autoriser une identité IAM à créer une clé d’API à long terme uniquement si elle est destinée à Amazon Bedrock et si le délai d’expiration est inférieur ou égal à 90 jours, associez la stratégie suivante à l’identité :

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
           "Effect": "Allow",
           "Action": "iam:CreateServiceSpecificCredential",
           "Resource": "arn:aws:iam::123456789012:user/username",
           "Condition": {
               "StringEquals": {
                   "iam:ServiceSpecificCredentialServiceName": "bedrock.amazonaws.com"
               },
               "NumericLessThanEquals": {
                   "iam:ServiceSpecificCredentialAgeDays": "90"
               }
           }
       }
   ]
}
```

------