

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.

# Rôles du service
<a name="security-iam-sr"></a>

Amazon Bedrock utilise les [rôles de service IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) pour certaines fonctionnalités afin de permettre à Amazon Bedrock d’effectuer des tâches en votre nom.

La console crée automatiquement des rôles de service pour les fonctionnalités prises en charge.

Vous pouvez également créer un rôle de service personnalisé et personnaliser les autorisations associées à votre cas d’utilisation spécifique. Si vous utilisez la console, vous pouvez sélectionner ce rôle au lieu de laisser Amazon Bedrock en créer un pour vous.

Pour configurer le rôle de service personnalisé, procédez comme suit.

1. Créez le rôle en suivant les étapes de la section [Création d'un rôle pour déléguer des autorisations à un AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).

1. Joignez une **politique de confiance**.

1. Joignez les **autorisations pertinentes basées sur l’identité**.

**Important**  
Lors de la définition de l’autorisation `iam:PassRole`, assurez-vous qu’un utilisateur ne transfère pas un rôle ayant plus d’autorisations que ce que vous souhaitez pour l’utilisateur. Par exemple, Alice n’est peut-être pas autorisée à exécuter `bedrock:InvokeModel` sur un modèle personnalisé. Si Alice peut transmettre un rôle à Amazon Bedrock pour créer une évaluation de ce modèle personnalisé, le service pourrait invoquer ce modèle au nom d’Alice lors de l’exécution de la tâche.

Pour plus d’informations sur les concepts IAM pertinents pour la configuration des autorisations de rôle de service, consultez les liens suivants.
+ [AWS rôle de service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)
+ [Politiques basées sur l'identité et politiques basées sur les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)
+ [Utilisation de politiques basées sur les ressources pour Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html)
+ [AWS clés contextuelles de condition globale](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)
+ [Clés de condition pour Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)

Sélectionnez une rubrique pour en savoir plus sur les rôles de service associés à une fonctionnalité spécifique.

**Topics**
+ [Création d’un rôle de service pour l’inférence par lots](batch-iam-sr.md)
+ [Création d’un rôle de service pour la personnalisation du modèle](model-customization-iam-role.md)
+ [Création d’un rôle de service pour l’importation de modèles pré-entraînés](model-import-iam-role.md)
+ [Création d’un rôle de service pour les agents Amazon Bedrock](agents-permissions.md)
+ [Création d’un rôle de service pour les bases de connaissances Amazon Bedrock](kb-permissions.md)
+ [Création d’un rôle de service pour Amazon Bedrock Flows dans Amazon Bedrock](flows-permissions.md)
+ [Exigences de fonction du service pour les tâches d’évaluation de modèle](model-evaluation-security-service-roles.md)

# Création d’un rôle de service pour l’inférence par lots
<a name="batch-iam-sr"></a>

Pour utiliser un rôle de service personnalisé pour l'inférence par lots au lieu de celui qu'Amazon Bedrock crée automatiquement pour vous dans leAWS Management Console, créez un rôle IAM et associez les autorisations suivantes en suivant les étapes de la section [Création d'un rôle pour déléguer des autorisations à](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) un service. AWS

**Topics**
+ [Relation d’approbation](#batch-iam-sr-trust)
+ [Autorisations basées sur l’identité pour le rôle de service d’inférence par lots.](#batch-iam-sr-identity)

## Relation d’approbation
<a name="batch-iam-sr-trust"></a>

La stratégie d’approbation suivante autorise Amazon Bedrock à endosser ce rôle et à effectuer des tâches d’inférence par lots. Remplacez-les *values* si nécessaire. La politique contient des clés de condition facultatives (consultez [Clés de condition pour Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) et [Clés de contexte de condition globale AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) dans le champ `Condition` que nous vous recommandons d’utiliser comme bonne pratique de sécurité.

**Note**  
Pour des raisons de sécurité, remplacez les *\$1* tâches d'inférence par lots spécifiques une IDs fois que vous les avez créées.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:model-invocation-job/*"
                }
            }
        }
    ]
}
```

------

## Autorisations basées sur l’identité pour le rôle de service d’inférence par lots.
<a name="batch-iam-sr-identity"></a>

Les rubriques suivantes décrivent et fournissent des exemples de politiques d’autorisation que vous devrez peut-être associer à votre rôle de service d’inférence par lots personnalisé, en fonction de votre cas d’utilisation.

**Topics**
+ [(Obligatoire) Autorisations d’accès aux données d’entrée et de sortie dans Amazon S3](#batch-iam-sr-s3)
+ [(Facultatif) Autorisations d’exécuter une inférence par lots avec des profils d’inférence](#batch-iam-sr-ip)

### (Obligatoire) Autorisations d’accès aux données d’entrée et de sortie dans Amazon S3
<a name="batch-iam-sr-s3"></a>

Pour autoriser un rôle de service à accéder au compartiment Amazon S3 contenant vos données d’entrée et au compartiment dans lequel écrire vos données de sortie, associez la politique suivante au rôle de service. *values*Remplacez-le si nécessaire.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
         "Sid": "S3Access",
         "Effect": "Allow",
         "Action": [
            "s3:GetObject",
            "s3:PutObject",
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::${InputBucket}",
            "arn:aws:s3:::${InputBucket}/*",
            "arn:aws:s3:::${OutputBucket}",
            "arn:aws:s3:::${OutputBucket}/*"
         ],
         "Condition": {
            "StringEquals": {
                "aws:ResourceAccount": [
                    "123456789012"
                ]
            }
         }
        }
    ]
}
```

------

### (Facultatif) Autorisations d’exécuter une inférence par lots avec des profils d’inférence
<a name="batch-iam-sr-ip"></a>

Pour exécuter une inférence par lots avec un [profil d'inférence](inference-profiles.md), un rôle de service doit être autorisé à invoquer le profil d'inférence dans unRégion AWS, en plus du modèle de chaque région du profil d'inférence.

Pour obtenir les autorisations nécessaires à l’invocation d’un profil d’inférence entre régions (défini par le système), utilisez la stratégie suivante comme modèle pour la stratégie d’autorisation à associer à votre rôle de service :

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CrossRegionInference",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:inference-profile/${InferenceProfileId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}"
            ]
        }
    ]
}
```

------

Pour obtenir les autorisations nécessaires à l’invocation d’un profil d’inférence d’application, utilisez la stratégie suivante comme modèle pour la stratégie d’autorisation à associer à votre rôle de service :

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ApplicationInferenceProfile",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/${InferenceProfileId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}"
            ]
        }
    ]
}
```

------

# Création d’un rôle de service pour la personnalisation du modèle
<a name="model-customization-iam-role"></a>

Pour utiliser un rôle personnalisé pour la personnalisation du modèle au lieu de celui créé automatiquement par Amazon Bedrock, créez un rôle IAM et associez les autorisations suivantes en suivant les étapes de la section [Création d'un rôle pour déléguer des autorisations à un AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).
+ Relation d’approbation
+ Autorisations d’accès à vos données d’entraînement et de validation dans S3 et d’écriture de vos données de sortie sur S3
+ (Facultatif) Si vous chiffrez l’une des ressources suivantes avec une clé KMS, autorisations permettant de déchiffrer la clé (voir [Chiffrement de modèles personnalisés](encryption-custom-job.md))
  + Tâche de personnalisation du modèle ou modèle personnalisé qui en résulte
  + Données d’entraînement, de validation ou de sortie pour la tâche de personnalisation du modèle

**Topics**
+ [Relation d’approbation](#model-customization-iam-role-trust)
+ [Autorisations d’accès aux fichiers d’entraînement et de validation et d’écriture de fichiers de sortie dans S3](#model-customization-iam-role-s3)
+ [(Facultatif) Autorisations pour créer une tâche de distillation avec des profils d’inférence interrégionale](#customization-iam-sr-ip)

## Relation d’approbation
<a name="model-customization-iam-role-trust"></a>

La politique suivante autorise Amazon Bedrock à endosser ce rôle et à effectuer la tâche de personnalisation du modèle. L’exemple suivant illustre un exemple de politique que vous pouvez utiliser.

Vous pouvez éventuellement restreindre la portée de l’autorisation pour la [prévention des conflits de délégation entre services](cross-service-confused-deputy-prevention.md) en utilisant une ou plusieurs clés de contexte de condition globales avec le champ `Condition`. Pour plus d’informations, consultez [Clés contextuelles de condition globale AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html).
+ Définissez la valeur `aws:SourceAccount` sur l’ID de votre compte.
+ (Facultatif) Utilisez la condition `ArnEquals` ou `ArnLike` pour limiter la portée à des tâches de personnalisation de modèles spécifiques dans votre ID de compte.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:model-customization-job/*"
                }
            }
        }
    ]
}
```

------

## Autorisations d’accès aux fichiers d’entraînement et de validation et d’écriture de fichiers de sortie dans S3
<a name="model-customization-iam-role-s3"></a>

Associez la politique suivante pour autoriser le rôle à accéder à vos données d’entraînement et de validation et au compartiment dans lequel enregistrer vos données de sortie. Remplacez les valeurs de la liste `Resource` par les noms de vos compartiments réels.

Pour restreindre l’accès à un dossier spécifique dans un compartiment, ajoutez une clé de condition `s3:prefix` avec le chemin de votre dossier. Vous pouvez suivre l’exemple de **stratégie utilisateur** dans [Exemple 2 : Obtention d’une liste d’objets dans un compartiment avec un préfixe spécifique](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#condition-key-bucket-ops-2) 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::training-bucket",
                "arn:aws:s3:::training-bucket/*",
                "arn:aws:s3:::validation-bucket",
                "arn:aws:s3:::validation-bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::output-bucket",
                "arn:aws:s3:::output-bucket/*"
            ]
        }
    ]
}
```

------

## (Facultatif) Autorisations pour créer une tâche de distillation avec des profils d’inférence interrégionale
<a name="customization-iam-sr-ip"></a>

Pour utiliser un profil d'inférence interrégional pour un modèle d'enseignant dans le cadre d'une tâche de distillation, le rôle de service doit être autorisé à invoquer le profil d'inférence dans unRégion AWS, en plus du modèle de chaque région dans le profil d'inférence.

Pour obtenir les autorisations nécessaires à l’invocation d’un profil d’inférence entre régions (défini par le système), utilisez la stratégie suivante comme modèle pour la stratégie d’autorisation à associer à votre rôle de service :

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CrossRegionInference",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:inference-profile/${InferenceProfileId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}",
                "arn:aws:bedrock:us-east-1::foundation-model/${ModelId}"
            ]
        }
    ]
}
```

------

# Création d’un rôle de service pour l’importation de modèles pré-entraînés
<a name="model-import-iam-role"></a>

Pour utiliser un rôle personnalisé pour l’importation de modèles, créez un rôle de service IAM et associez les autorisations suivantes. Pour plus d'informations sur la création d'un rôle de service dans IAM, voir [Création d'un rôle pour déléguer des autorisations à un AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).

Ces autorisations s’appliquent aux deux méthodes d’importation de modèles dans Amazon Bedrock :
+ **Tâches d’importation de modèles personnalisés** : pour importer des modèles de fondation open source personnalisés (tels que les modèles Mistral AI et Llama). Pour de plus amples informations, veuillez consulter [Utilisation de l’importation de modèles personnalisés pour importer un modèle open source personnalisé dans Amazon Bedrock](model-customization-import-model.md).
+ **Créer un modèle personnalisé** : pour importer des Amazon Nova modèles que vous avez affinés dans l' SageMaker IA. Pour de plus amples informations, veuillez consulter [Importez un modèle SageMaker Amazon Nova entraîné par l'IA](import-with-create-custom-model.md).

**Topics**
+ [Relation d’approbation](#model-import-iam-role-trust)
+ [Autorisations d’accès aux fichiers modèles dans Amazon S3](#model-import-iam-role-s3)

## Relation d’approbation
<a name="model-import-iam-role-trust"></a>

La politique suivante autorise Amazon Bedrock à endosser ce rôle et à effectuer des opérations d’importation de modèles. L’exemple suivant illustre un exemple de politique que vous pouvez utiliser.

Vous pouvez éventuellement restreindre la portée de l’autorisation pour la [prévention des conflits de délégation entre services](cross-service-confused-deputy-prevention.md) en utilisant une ou plusieurs clés de contexte de condition globales avec le champ `Condition`. Pour plus d’informations, consultez [Clés contextuelles de condition globale AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html).
+ Définissez la valeur `aws:SourceAccount` sur l’ID de votre compte.
+ (Facultatif) Utilisez la condition `ArnEquals` ou `ArnLike` pour restreindre la portée aux opérations spécifiques dans votre compte. L’exemple suivant restreint l’accès aux tâches d’importation de modèles personnalisés.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:model-import-job/*"
                }
            }
        }
    ]
}
```

------

## Autorisations d’accès aux fichiers modèles dans Amazon S3
<a name="model-import-iam-role-s3"></a>

Ajoutez la politique suivante pour permettre au rôle d’accéder aux fichiers modèles dans le compartiment Amazon S3. Remplacez les valeurs de la liste `Resource` par les noms de vos compartiments réels.

Pour les tâches d’importation de modèles personnalisés, il s’agit de votre propre compartiment Amazon S3 contenant les fichiers modèles open source personnalisés. Pour créer des modèles personnalisés à partir de Amazon Nova modèles SageMaker entraînés par l'IA, il s'agit du compartiment Amazon S3 géré par Amazon dans SageMaker lequel l'IA stocke les artefacts du modèle entraîné. SageMaker L'IA crée ce compartiment lorsque vous exécutez votre premier job de formation en SageMaker IA. 

Pour restreindre l’accès à un dossier spécifique dans un compartiment, ajoutez une clé de condition `s3:prefix` avec le chemin de votre dossier. Vous pouvez suivre l’exemple de **stratégie utilisateur** dans [Exemple 2 : Obtention d’une liste d’objets dans un compartiment avec un préfixe spécifique](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#condition-key-bucket-ops-2) 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::bucket",
                "arn:aws:s3:::bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

------

# Création d’un rôle de service pour les agents Amazon Bedrock
<a name="agents-permissions"></a>

Pour utiliser un rôle de service personnalisé pour les agents au lieu de celui créé automatiquement par Amazon Bedrock, créez un rôle IAM et associez les autorisations suivantes en suivant les étapes de la section [Création d'un rôle pour déléguer des autorisations à un AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) service.
+ Politique d’approbation
+ Politique contenant les autorisations basées sur l’identité suivantes :
  + Accès aux modèles de base Amazon Bedrock
  + Accès aux objets Amazon S3 contenant les schémas OpenAPI pour les groupes d’actions de vos agents
  + Autorisations permettant à Amazon Bedrock d’interroger les bases de connaissances que vous souhaitez associer à vos agents
  + Si l’une des situations suivantes concerne votre cas d’utilisation, ajoutez l’instruction à la politique ou ajoutez une politique avec l’instruction relative au rôle de service :
    + (Facultatif) Si vous activez la collaboration multi-agent, autorisations pour obtenir les alias et invoquer des collaborateurs agents.
    + (Facultatif) Si vous associez un débit provisionné à l’alias de votre agent, vous êtes autorisé à effectuer une invocation de modèle à l’aide de ce débit provisionné.
    + (Facultatif) Si vous associez une barrière de protection à votre agent, autorisations pour appliquer cette barrière de protection. Si la barrière de protection est chiffrée avec une clé KMS, le rôle de service aura également besoin d’[autorisations pour déchiffrer la clé](guardrails-permissions-kms.md).
    + (Facultatif) Si vous chiffrez l’agent avec une clé KMS, [autorisations pour déchiffrer la clé](encryption-agents.md).

Que vous utilisiez un rôle personnalisé ou non, vous devez également associer une **politique basée sur les ressources** aux fonctions Lambda correspondant aux groupes d’actions des agents en accordant des autorisations au rôle de service pour l’accès aux fonctions. Pour de plus amples informations, veuillez consulter [Politique basée sur les ressources permettant à Amazon Bedrock d’invoquer une fonction Lambda de groupe d’actions](#agents-permissions-lambda).

**Topics**
+ [Relation d’approbation](#agents-permissions-trust)
+ [Autorisations basées sur l’identité pour le rôle de service Agents](#agents-permissions-identity)
+ [(Facultatif) Politique basée sur l’identité permettant à Amazon Bedrock d’utiliser le débit provisionné avec votre alias d’agent](#agents-permissions-pt)
+ [(Facultatif) Politique basée sur l’identité permettant à Amazon Bedrock d’associer et d’invoquer des agents collaborateurs](#agents-permissions-mac)
+ [(Facultatif) Politique basée sur l’identité permettant à Amazon Bedrock d’utiliser des barrières de protection avec votre agent](#agents-permissions-gr)
+ [(Facultatif) Politique basée sur l’identité permettant à Amazon Bedrock d’accéder aux fichiers depuis S3 afin de les utiliser pour l’interprétation du code](#agents-permissions-files-ci)
+ [Politique basée sur les ressources permettant à Amazon Bedrock d’invoquer une fonction Lambda de groupe d’actions](#agents-permissions-lambda)

## Relation d’approbation
<a name="agents-permissions-trust"></a>

La politique suivante permet à Amazon Bedrock d’endosser ce rôle, de créer des agents et de les gérer. Remplacez-les *\$1\$1values\$1* si nécessaire. La politique contient des clés de condition facultatives (consultez [Clés de condition pour Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) et [Clés de contexte de condition globale AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) dans le champ `Condition` que nous vous recommandons d’utiliser comme bonne pratique de sécurité.

**Note**  
Pour des raisons de sécurité, il est recommandé de les *\$1* remplacer par un agent spécifique une IDs fois que vous les avez créés.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:agent/*"
                }
            }
        }
    ]
}
```

------

## Autorisations basées sur l’identité pour le rôle de service Agents
<a name="agents-permissions-identity"></a>

Joignez la politique suivante pour fournir des autorisations pour le rôle de service, *\$1\$1values\$1* en la remplaçant si nécessaire. La politique contient les instructions suivantes : Omettez une instruction si elle ne s’applique pas à votre cas d’utilisation. La politique contient des clés de condition facultatives (consultez [Clés de condition pour Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) et [Clés de contexte de condition globale AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) dans le champ `Condition` que nous vous recommandons d’utiliser comme bonne pratique de sécurité.

**Note**  
Si vous chiffrez l’agent avec une clé KMS gérée par le client, consultez [Chiffrement des ressources des agents pour les agents créés avant le 22 janvier 2025](encryption-agents.md) pour connaître les autorisations supplémentaires que vous devez ajouter.
+ Autorisations permettant d’utiliser les modèles de fondation Amazon Bedrock pour exécuter l’inférence de modèle sur les invites utilisées dans l’orchestration de votre agent.
+ Autorisations d’accès aux schémas d’API des groupes d’actions de votre agent dans Amazon S3. Omettez cette déclaration si votre agent n’a aucun groupe d’action.
+ Autorisations permettant d’accéder aux bases de connaissances associées à un agent. Omettez cette déclaration si votre agent n’a aucune base de connaissances associée.
+ Autorisations permettant d’accéder à une base de connaissances tierce (Pinecone ou Redis Enterprise Cloud) associée à votre agent. Omettez cette déclaration si votre base de connaissances est de première partie (Amazon OpenSearch Serverless ou Amazon Aurora) ou si votre agent n'a aucune base de connaissances associée.
+ Autorisations permettant d’accéder à une invite depuis la gestion de invites. Omettez cette instruction si vous n’avez pas l’intention de tester une invite issue de la gestion des invites avec votre agent dans la console Amazon Bedrock.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AgentModelInvocationPermissions",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2",
                "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-v2:1",
                "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-instant-v1"
            ]
        },
        {
            "Sid": "AgentActionGroupS3",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/SchemaJson"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "AgentKnowledgeBaseQuery",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve",
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/knowledge-base-id"
            ]
        },
        {
            "Sid": "Agent3PKnowledgeBase",
            "Effect": "Allow",
            "Action": [
                "bedrock:AssociateThirdPartyKnowledgeBase"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/knowledge-base-id",
            "Condition": {
                "StringEquals": {
                    "bedrock:ThirdPartyKnowledgeBaseCredentialsSecretArn": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
                }
            }
        },
        {
            "Sid": "AgentPromptManagementConsole",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetPrompt"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:prompt/prompt-id"
            ]
        }
    ]
}
```

------

## (Facultatif) Politique basée sur l’identité permettant à Amazon Bedrock d’utiliser le débit provisionné avec votre alias d’agent
<a name="agents-permissions-pt"></a>

Si vous associez un [débit provisionné](prov-throughput.md) à un alias de votre agent, associez la politique basée sur l’identité suivante au rôle de service ou ajoutez l’instruction à la politique dans [Autorisations basées sur l’identité pour le rôle de service Agents](#agents-permissions-identity).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {        
        "Sid": "UseProvisionedThroughput",
        "Effect": "Allow",
        "Action": [
            "bedrock:InvokeModel", 
            "bedrock:GetProvisionedModelThroughput"
        ],
        "Resource": [
            "arn:aws:bedrock:us-east-1:123456789012:provisioned-model/${provisioned-model-id}"
        ]
      }
    ]
}
```

------

## (Facultatif) Politique basée sur l’identité permettant à Amazon Bedrock d’associer et d’invoquer des agents collaborateurs
<a name="agents-permissions-mac"></a>

Si vous activez la [collaboration multi-agent](agents-multi-agent-collaboration.md), associez la politique basée sur l’identité suivante au rôle de service ou ajoutez la déclaration à la stratégie dans [Autorisations basées sur l’identité pour le rôle de service Agents](#agents-permissions-identity).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AmazonBedrockAgentMultiAgentsPolicyProd",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetAgentAlias",
                "bedrock:InvokeAgent"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:agent-alias/${agent-id}/${agent-alias-id}"
            ]
        }
    ]
}
```

------

## (Facultatif) Politique basée sur l’identité permettant à Amazon Bedrock d’utiliser des barrières de protection avec votre agent
<a name="agents-permissions-gr"></a>

Si vous associez une [barrière de protection](guardrails.md) à votre agent, associez la politique basée sur l’identité suivante au rôle de service ou ajoutez la déclaration à la politique dans [Autorisations basées sur l’identité pour le rôle de service Agents](#agents-permissions-identity).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ApplyGuardrail",
            "Effect": "Allow",
            "Action": "bedrock:ApplyGuardrail",
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:guardrail/${guardrail-id}"
            ]
        }
    ]
}
```

------

## (Facultatif) Politique basée sur l’identité permettant à Amazon Bedrock d’accéder aux fichiers depuis S3 afin de les utiliser pour l’interprétation du code
<a name="agents-permissions-files-ci"></a>

Si vous activez [Activation de l’interprétation du code dans Amazon Bedrock](agents-enable-code-interpretation.md), associez la politique basée sur l’identité suivante au rôle de service ou ajoutez l’instruction à la politique dans [Identity-based permissions for the Agents service role](https://docs.aws.amazon.com//bedrock/latest/userguide/agents-permissions.html#agents-permissions-identity).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
      {       
        "Sid": "AmazonBedrockAgentFileAccess", 
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:GetObjectVersion",
            "s3:GetObjectVersionAttributes",
            "s3:GetObjectAttributes"
        ],
        "Resource": [
            "arn:aws:s3:::[[customerProvidedS3BucketWithKey]]"
        ]
      }
    ]
}
```

------

## Politique basée sur les ressources permettant à Amazon Bedrock d’invoquer une fonction Lambda de groupe d’actions
<a name="agents-permissions-lambda"></a>

Suivez les étapes décrites dans la section [Utilisation de politiques basées sur les ressources pour Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html) et associez la politique basée sur les ressources suivante à une fonction Lambda afin de permettre à Amazon Bedrock d'accéder à la fonction Lambda pour les groupes d'action de votre agent, en remplaçant la si nécessaire. *\$1\$1values\$1* La politique contient des clés de condition facultatives (consultez [Clés de condition pour Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) et [Clés de contexte de condition globale AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) dans le champ `Condition` que nous vous recommandons d’utiliser comme bonne pratique de sécurité.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AccessLambdaFunction",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "lambda:InvokeFunction",
            "Resource": "arn:aws:lambda:us-east-1:123456789012:function:function-name",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:agent/${agent-id}"
                }
            }
        }
    ]
}
```

------

# Création d’un rôle de service pour les bases de connaissances Amazon Bedrock
<a name="kb-permissions"></a>

Pour utiliser un rôle personnalisé pour une base de connaissances au lieu de celui créé automatiquement par Amazon Bedrock, créez un rôle IAM et associez les autorisations suivantes en suivant les étapes de la section [Création d'un rôle pour déléguer des autorisations à un AWS service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html). N’incluez que les autorisations nécessaires pour votre propre sécurité.

**Note**  
Une politique ne peut pas être partagée entre plusieurs rôles lorsque le rôle de service est utilisé.
+ Relation d’approbation
+ Accès aux modèles de base Amazon Bedrock
+ Accès à la source de données dans laquelle vous stockez vos données
+ (Si vous créez une base de données vectorielle dans Amazon OpenSearch Service) Accès à votre collection OpenSearch de services
+ (Si vous créez une base de données vectorielles dans Amazon Aurora) Accès à votre cluster Aurora
+ (Si vous créez une base de données vectorielle dans Pinecone ouRedis Enterprise Cloud) Autorisations AWS Secrets Manager pour authentifier votre compte Pinecone OR Redis Enterprise Cloud
+ (Facultatif) Si vous chiffrez l’une des ressources suivantes avec une clé KMS, autorisations permettant de déchiffrer la clé (voir [Chiffrement des ressources des bases de connaissances](encryption-kb.md)).
  + Votre base de connaissances
  + Sources de données pour votre base de connaissances
  + Votre base de données vectorielle dans Amazon OpenSearch Service
  + Le secret de votre base de données vectorielle tierce dans AWS Secrets Manager
  + Une tâche d’ingestion de données

**Topics**
+ [Relation d’approbation](#kb-permissions-trust)
+ [Autorisations d'accès aux modèles Amazon Bedrock](#kb-permissions-access-models)
+ [Autorisations d’accès aux sources de données](#kb-permissions-access-ds)
+ [Autorisations permettant de déchiffrer votre AWS KMS clé pour les sources de données chiffrées dans Amazon S3](#kb-permissions-kms-datasource)
+ [Autorisations de discussion avec votre document](#kb-permissions-chatdoc)
+ [Autorisations pour le contenu multimodal](#kb-permissions-multimodal)
+ [Autorisations pour accéder à votre index GenAI Amazon Kendra](#kb-permissions-kendra)
+ [Autorisations d'accès à votre base de données vectorielle dans Amazon OpenSearch Serverless](#kb-permissions-oss)
+ [Autorisations d'accès à votre base de données vectorielle dans OpenSearch Managed Clusters](#kb-permissions-osm)
+ [Autorisations d’accès à votre cluster de bases de données Amazon Aurora](#kb-permissions-rds)
+ [Autorisations permettant d’accéder à votre base de données vectorielles dans l’analytique Amazon Neptune](#kb-permissions-neptune)
+ [Autorisations permettant d’accéder à votre magasin de vecteurs dans Amazon S3 Vectors](#kb-permissions-s3vectors)
+ [Autorisations d'accès à une base de données vectorielle configurée avec un AWS Secrets Manager secret](#kb-permissions-secret)
+ [Autorisations permettant AWS de gérer une AWS KMS clé pour le stockage de données transitoires lors de l'ingestion de données](#kb-permissions-kms-ingestion)
+ [Autorisations AWS permettant de gérer une source de données à partir du AWS compte d'un autre utilisateur.](#kb-permissions-otherds)

## Relation d’approbation
<a name="kb-permissions-trust"></a>

La politique suivante permet à Amazon Bedrock d’endosser ce rôle, de créer des bases de connaissances et de les gérer. L'exemple suivant illustre un exemple de politique que vous pouvez utiliser. Vous pouvez restreindre la portée de l’autorisation en utilisant une ou plusieurs clés contextuelles de condition globale. Pour plus d’informations, consultez [Clés contextuelles de condition globale AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html). Définissez la valeur `aws:SourceAccount` sur l’ID de votre compte. Vous pouvez utiliser la condition `ArnEquals` ou `ArnLike` pour limiter le champ d’application à des bases de connaissances spécifiques.

**Note**  
Pour des raisons de sécurité, il est recommandé de les *\$1* remplacer par une base de connaissances spécifique une IDs fois que vous les avez créées.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/*"
                }
            }
        }
    ]
}
```

------

## Autorisations d'accès aux modèles Amazon Bedrock
<a name="kb-permissions-access-models"></a>

Associez la politique suivante pour accorder au rôle l’autorisation d’utiliser les modèles Amazon Bedrock pour intégrer vos données sources.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:ListFoundationModels",
                "bedrock:ListCustomModels"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v1",
                "arn:aws:bedrock:us-east-1::foundation-model/cohere.embed-english-v3",
                "arn:aws:bedrock:us-east-1::foundation-model/cohere.embed-multilingual-v3"
            ]
        }
    ]
}
```

------

## Autorisations d’accès aux sources de données
<a name="kb-permissions-access-ds"></a>

Sélectionnez l’une des sources de données suivantes pour associer les autorisations nécessaires au rôle.

**Topics**
+ [Autorisations d’accès à votre source de données Amazon S3](#kb-permissions-access-s3)
+ [Autorisations d’accès à votre source de données Confluence](#kb-permissions-access-confluence)
+ [Autorisations d'accès à votre source SharePoint de données Microsoft](#kb-permissions-access-sharepoint)
+ [Autorisations d’accès à votre source de données Salesforce](#kb-permissions-access-salesforce)

### Autorisations d’accès à votre source de données Amazon S3
<a name="kb-permissions-access-s3"></a>

Si votre source de données est Amazon S3, associez la politique suivante pour accorder au rôle l’autorisation d’accéder au compartiment S3 auquel vous vous connecterez en tant que source de données.

Si vous avez chiffré la source de données à l'aide d'une AWS KMS clé, associez des autorisations pour déchiffrer la clé au [Autorisations pour déchiffrer votre AWS KMS clé pour vos sources de données dans Amazon S3](encryption-kb.md#encryption-kb-ds) rôle en suivant les étapes décrites dans.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ListBucketStatement",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "S3GetObjectStatement",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

------

### Autorisations d’accès à votre source de données Confluence
<a name="kb-permissions-access-confluence"></a>

**Note**  
Le connecteur de source de données Confluence est proposé en version préliminaire et peut faire l’objet de modifications.

Associez la politique suivante pour accorder au rôle l’autorisation d’accéder à Confluence.

**Note**  
`secretsmanager:PutSecretValue`n'est nécessaire que si vous utilisez l'authentification OAuth 2.0 avec un jeton d'actualisation.  
Le jeton d'**accès** Confluence OAuth2 2.0 a un délai d'expiration par défaut de 60 minutes. S’il expire alors que votre source de données est en cours de synchronisation (tâche de synchronisation), Amazon Bedrock utilise le jeton d’**actualisation** fourni pour le régénérer. Cette régénération actualise à la fois les jetons d’accès et ceux d’actualisation. Pour maintenir les jetons à jour entre la tâche de synchronisation en cours et la tâche de synchronisation suivante, Amazon Bedrock a besoin d' write/put autorisations pour vos informations d'identification secrètes.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue",
                "secretsmanager:PutSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "secretsmanager.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

### Autorisations d'accès à votre source SharePoint de données Microsoft
<a name="kb-permissions-access-sharepoint"></a>

**Note**  
SharePoint le connecteur de source de données est en version préliminaire et est sujet à modification.

Joignez la politique suivante pour fournir des autorisations d'accès au rôle SharePoint.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "secretsmanager.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

### Autorisations d’accès à votre source de données Salesforce
<a name="kb-permissions-access-salesforce"></a>

**Note**  
Le connecteur de source de données Salesforce est proposé en version préliminaire et peut faire l’objet de modifications.

Associez la politique suivante pour accorder au rôle l’autorisation d’accéder à Salesforce.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "secretsmanager.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## Autorisations permettant de déchiffrer votre AWS KMS clé pour les sources de données chiffrées dans Amazon S3
<a name="kb-permissions-kms-datasource"></a>

Si vous avez chiffré vos sources de données dans Amazon S3 à l'aide d'une AWS KMS clé, associez la politique suivante à votre rôle de service Amazon Bedrock Knowledge Bases afin de permettre à Amazon Bedrock de déchiffrer votre clé. Remplacez *\$1\$1Region\$1* et *\$1\$1AccountId\$1* par la région et le numéro de compte auxquels appartient la clé. *\$1\$1KeyId\$1*Remplacez-le par l'identifiant de votre AWS KMS clé.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [{
        "Effect": "Allow",
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": [
            "arn:aws:kms:${Region}:${AccountId}:key/${KeyId}"
        ],
        "Condition": {
            "StringEquals": {
                "kms:ViaService": [
                    "s3.${Region}.amazonaws.com"
                ]
            }
        }
    }]
}
```

## Autorisations de discussion avec votre document
<a name="kb-permissions-chatdoc"></a>

Associez la politique suivante pour accorder au rôle l’autorisation d’utiliser les modèles Amazon Bedrock pour discuter avec votre document :

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
			"Effect": "Allow",
			"Action": [
				"bedrock:RetrieveAndGenerate"
			],
			"Resource": "*"
		}
    ]
}
```

------

Si vous souhaitez uniquement autoriser un utilisateur à discuter avec votre document (et non à accéder à toutes les bases de connaissances `RetrieveAndGenerate`), appliquez la politique suivante :

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
			"Effect": "Allow",
			"Action": [
				"bedrock:RetrieveAndGenerate"
			],
			"Resource": "*"
		},
        {
			"Effect": "Deny",
			"Action": [
				"bedrock:Retrieve"
			],
			"Resource": "*"
		}
    ]
}
```

------

Si vous souhaitez à la fois discuter avec votre document et l'utiliser `RetrieveAndGenerate` sur une base de connaissances spécifique*\$1\$1KnowledgeBaseArn\$1*, fournissez un et appliquez la politique suivante :

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/$KnowledgeBaseId"
        }
    ]
}
```

------

## Autorisations pour le contenu multimodal
<a name="kb-permissions-multimodal"></a>

Lorsque vous travaillez avec du contenu multimodal (images, audio, vidéo), des autorisations supplémentaires sont requises en fonction de votre approche de traitement.

### Autorisations Nova Multimodal Embeddings
<a name="kb-permissions-multimodal-mme"></a>

Lorsque vous utilisez Nova Multimodal Embeddings, attachez la politique suivante pour fournir des autorisations pour l'invocation de modèles asynchrones :

```
{
    "Sid": "BedrockInvokeModelStatement",
    "Effect": "Allow",
    "Action": ["bedrock:InvokeModel"],
    "Resource": [
        "arn:aws:bedrock:us-east-1::foundation-model/amazon.nova-*-multimodal-embeddings-*",
        "arn:aws:bedrock:us-east-1::async-invoke/*"
    ],
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": ""
        }
    }
},
{
    "Sid": "BedrockGetAsyncInvokeStatement",
    "Effect": "Allow",
    "Action": ["bedrock:GetAsyncInvoke"],
    "Resource": ["arn:aws:bedrock:us-east-1::async-invoke/*"],
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": ""
        }
    }
}
```

### Autorisations d'automatisation des données Bedrock (BDA)
<a name="kb-permissions-multimodal-bda"></a>

Lorsque vous utilisez BDA pour traiter du contenu multimodal, joignez la politique suivante :

```
{
    "Sid": "BDAInvokeStatement",
    "Effect": "Allow",
    "Action": ["bedrock:InvokeDataAutomationAsync"],
    "Resource": [
        "arn:aws:bedrock:us-east-1:aws:data-automation-project/public-rag-default",
        "arn:aws:bedrock:us-east-1::data-automation-profile/*"
    ]
},
{
    "Sid": "BDAGetStatement",
    "Effect": "Allow",
    "Action": ["bedrock:GetDataAutomationStatus"],
    "Resource": "arn:aws:bedrock:us-east-1::data-automation-invocation/*"
}
```

Si vous utilisez des AWS KMS clés gérées par le client avec BDA, joignez également la politique suivante. Remplacez *account-id**region*, et *key-id* par vos valeurs spécifiques :

```
{
    "Sid": "KmsPermissionStatementForBDA",
    "Effect": "Allow",
    "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt",
        "kms:DescribeKey",
        "kms:CreateGrant"
    ],
    "Resource": ["arn:aws:kms:region:account-id:key/key-id"],
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": "account-id",
            "kms:ViaService": "bedrock.region.amazonaws.com"
        }
    }
}
```

## Autorisations pour accéder à votre index GenAI Amazon Kendra
<a name="kb-permissions-kendra"></a>

Si vous avez créé un index GenAI Amazon Kendra pour votre base de connaissances, associez la politique suivante au rôle de service de vos bases de connaissances Amazon Bedrock pour autoriser l’accès à l’index. Dans la politique, remplacez*\$1\$1Partition\$1*, *\$1\$1Region\$1**\$1\$1AccountId\$1*, et *\$1\$1IndexId\$1* par les valeurs de votre index. Pour autoriser l’accès à plusieurs index de bases de données, ajoutez-les à la liste `Resource`. Pour autoriser l'accès à tous les index de votre index Compte AWS, remplacez-le *\$1\$1IndexId\$1* par un caractère générique (\$1).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kendra:Retrieve",
                "kendra:DescribeIndex"
            ],
            "Resource": "arn:aws:kendra:us-east-1:123456789012:index/${IndexId}" 
        }
    ]
}
```

------

## Autorisations d'accès à votre base de données vectorielle dans Amazon OpenSearch Serverless
<a name="kb-permissions-oss"></a>

Si vous avez créé une base de données vectorielle dans OpenSearch Serverless pour votre base de connaissances, associez la politique suivante à votre rôle de service Amazon Bedrock Knowledge Bases pour autoriser l'accès à la collection. Remplacez *\$1\$1Region\$1* et *\$1\$1AccountId\$1* par la région et l'ID de compte auxquels appartient la base de données. Entrez l'ID de votre collection Amazon OpenSearch Service dans*\$1\$1CollectionId\$1*. Pour autoriser l’accès à plusieurs collections, ajoutez-les à la liste `Resource`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "aoss:APIAccessAll"
            ],
            "Resource": [
                "arn:aws:aoss:us-east-1:123456789012:collection/${CollectionId}"
            ]
        }
    ]
}
```

------

## Autorisations d'accès à votre base de données vectorielle dans OpenSearch Managed Clusters
<a name="kb-permissions-osm"></a>

Si vous avez créé une base de données vectorielle dans OpenSearch Managed Cluster pour votre base de connaissances, associez la politique suivante à votre rôle de service Amazon Bedrock Knowledge Bases pour autoriser l'accès au domaine. Remplacez *<region>* et *<accountId>* par la région et l'ID de compte auxquels appartient la base de données. Pour autoriser l’accès à plusieurs domaines, ajoutez-les à la liste `Resource`. Pour plus d’informations sur la configuration d’autorisations, consultez [Conditions préalables et autorisations requises pour utiliser les clusters OpenSearch gérés avec les bases de connaissances Amazon BedrockVue d’ensemble de la configuration des autorisations](kb-osm-permissions-prereq.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",       
            "Action": [
                "es:ESHttpGet", 
                "es:ESHttpPost", 
                "es:ESHttpPut", 
                "es:ESHttpDelete" 
            ],
            "Resource": [
                "arn:aws:es:us-east-1:123456789012:domain/domainName/indexName"
            ]       
        }, 
        {
            "Effect": "Allow",
            "Action": [
                "es:DescribeDomain" 
            ],
            "Resource": [
                "arn:aws:es:us-east-1:123456789012:domain/domainName"
            ]       
        }
    ]
}
```

------

## Autorisations d’accès à votre cluster de bases de données Amazon Aurora
<a name="kb-permissions-rds"></a>

**Note**  
Le cluster Amazon Aurora doit résider dans le même emplacement Compte AWS que celui dans lequel la base de connaissances a été créée pour Amazon Bedrock.

Si vous avez créé un cluster de bases de données dans Amazon Aurora pour votre base de connaissances, associez la politique suivante au rôle de service de vos bases de connaissances Amazon Bedrock afin d’autoriser l’accès au cluster de base de données (DB) et d’accorder des autorisations de lecture et d’écriture annexes. Remplacez *\$1\$1Region\$1* et *\$1\$1AccountId\$1* par la région et l'ID de compte auxquels appartient le cluster de base de données. Entrez l'ID de votre cluster de base de données Amazon Aurora dans*\$1\$1DbClusterId\$1*. Pour autoriser l’accès à plusieurs clusters de bases de données, ajoutez-les à la liste `Resource`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "RdsDescribeStatementID",
            "Effect": "Allow",
            "Action": [
                "rds:DescribeDBClusters"
            ],
            "Resource": [
                "arn:aws:rds:us-east-1:123456789012:cluster:${DbClusterId}"
            ]
        },
        {
            "Sid": "DataAPIStatementID",
            "Effect": "Allow",
            "Action": [
                "rds-data:BatchExecuteStatement",
                "rds-data:ExecuteStatement"
            ],
            "Resource": [
                "arn:aws:rds:us-east-1:123456789012:cluster:${DbClusterId}"
            ]
        }
    ]
}
```

------

## Autorisations permettant d’accéder à votre base de données vectorielles dans l’analytique Amazon Neptune
<a name="kb-permissions-neptune"></a>

Si vous avez créé un graphique d’analytique Amazon Neptune pour votre base de connaissance, associez la politique suivante au rôle de service de vos bases de connaissances Amazon Bedrock afin d’autoriser l’accès au graphique. Dans la politique, remplacez *\$1\$1Region\$1* et *\$1\$1AccountId\$1* par la région et l'ID de compte auxquels appartient la base de données. *\$1\$1GraphId\$1*Remplacez-les par les valeurs de votre base de données de graphes.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "NeptuneAnalyticsAccess",
            "Effect": "Allow",
            "Action": [
                "neptune-graph:GetGraph",
                "neptune-graph:ReadDataViaQuery",
                "neptune-graph:WriteDataViaQuery",
                "neptune-graph:DeleteDataViaQuery"
            ],
            "Resource": [
                "arn:aws:neptune-graph:us-east-1:123456789012:graph/${GraphId}"
            ]
        }
    ]
}
```

------

## Autorisations permettant d’accéder à votre magasin de vecteurs dans Amazon S3 Vectors
<a name="kb-permissions-s3vectors"></a>

Si vous avez choisi d’utiliser Amazon S3 Vectors pour votre base de connaissances, associez la politique suivante au rôle de service de vos bases de connaissances Amazon Bedrock afin d’autoriser l’accès à l’index vectoriel.

Dans la politique, remplacez *\$1\$1Region\$1* et *\$1\$1AccountId\$1* par la région et l'ID de compte auxquels appartient l'indice vectoriel. *\$1\$1BucketName\$1*Remplacez-le par le nom de votre compartiment vectoriel S3 et *\$1\$1IndexName\$1* par le nom de votre index vectoriel. Pour plus d’informations sur les vecteurs Amazon S3, consultez [Configuration pour utiliser Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-setting-up.html).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3VectorBucketReadAndWritePermission",
            "Effect": "Allow",
            "Action": [
                "s3vectors:PutVectors",
                "s3vectors:GetVectors",
                "s3vectors:DeleteVectors",
                "s3vectors:QueryVectors",
                "s3vectors:GetIndex"
            ],
            "Resource": "arn:aws:s3vectors:us-east-1:123456789012:bucket/${BucketName}/index/${IndexName}"
        }
    ]
}
```

------

## Autorisations d'accès à une base de données vectorielle configurée avec un AWS Secrets Manager secret
<a name="kb-permissions-secret"></a>

Si votre base de données vectorielle est configurée avec un AWS Secrets Manager secret, associez la politique suivante à votre rôle de service Amazon Bedrock Knowledge Bases pour autoriser votre compte AWS Secrets Manager à accéder à la base de données. Remplacez *\$1\$1Region\$1* et *\$1\$1AccountId\$1* par la région et l'ID de compte auxquels appartient la base de données. Remplacez *\$1\$1SecretId\$1* par l'identifiant de votre secret.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:${SecretId}"
            ]
        }
    ]
}
```

------

Si vous avez chiffré votre secret à l'aide d'une AWS KMS clé, associez des autorisations pour déchiffrer la clé au rôle en suivant les étapes décrites dans[Autorisations permettant de déchiffrer un AWS Secrets Manager secret pour le magasin de vecteurs contenant votre base de connaissances](encryption-kb.md#encryption-kb-3p).

## Autorisations permettant AWS de gérer une AWS KMS clé pour le stockage de données transitoires lors de l'ingestion de données
<a name="kb-permissions-kms-ingestion"></a>

Pour autoriser la création d'une AWS KMS clé pour le stockage de données transitoires lors de l'ingestion de votre source de données, associez la politique suivante à votre rôle de service Amazon Bedrock Knowledge Bases. Remplacez le *\$1\$1Region\$1**\$1\$1AccountId\$1*, et *\$1\$1KeyId\$1* par les valeurs appropriées.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/${KeyId}"
            ]
        }
    ]
}
```

------

## Autorisations AWS permettant de gérer une source de données à partir du AWS compte d'un autre utilisateur.
<a name="kb-permissions-otherds"></a>

Pour autoriser l'accès au AWS compte d'un autre utilisateur, vous devez créer un rôle qui autorise l'accès entre comptes à un compartiment Amazon S3 dans le compte d'un autre utilisateur. Remplacez le *\$1\$1BucketName\$1**\$1\$1BucketOwnerAccountId\$1*, et *\$1\$1BucketNameAndPrefix\$1* par les valeurs appropriées.

**Autorisations requises pour le rôle de base de connaissances**

Le rôle de base de connaissances fourni lors de la création de la base de connaissances `createKnowledgeBase` nécessite les autorisations Amazon S3 suivantes.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ListBucketStatement",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "S3GetObjectStatement",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

------

Si le compartiment Amazon S3 est chiffré à l'aide d'une AWS KMS clé, les éléments suivants doivent également être ajoutés au rôle de base de connaissances. Remplacez le *\$1\$1BucketOwnerAccountId\$1* et *\$1\$1Region\$1* par les valeurs appropriées.

```
{
        "Sid": "KmsDecryptStatement",
        "Effect": "Allow",
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": [
            "arn:aws:kms:${Region}:${BucketOwnerAccountId}:key/${KeyId}"
        ],
        "Condition": {
        "StringEquals": {
            "kms:ViaService": [
                "s3.${Region}.amazonaws.com"
            ]
        }
        }
    }
```

**Autorisations requises pour une stratégie de compartiment Amazon S3 entre comptes**

Le compartiment de l’autre compte nécessite la stratégie de compartiment Amazon S3 suivante. Remplacez le *\$1\$1KbRoleArn\$1**\$1\$1BucketName\$1*, et *\$1\$1BucketNameAndPrefix\$1* par les valeurs appropriées. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "ListBucket",
         "Effect": "Allow",
         "Principal": {
            "AWS": "123456789012"
         },
         "Action": [
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket"
         ]
      },
      {
         "Sid": "GetObject",
         "Effect": "Allow",
         "Principal": {
            "AWS": "123456789012"
         },
         "Action": [
            "s3:GetObject"
         ],
         "Resource": [
            "arn:aws:s3:::amzn-s3-demo-bucket/*"
         ]
      }
   ]
}
```

------

**Autorisations requises dans le cadre de la politique relative aux AWS KMS clés entre comptes**

Si le compartiment Amazon S3 entre comptes est chiffré à l'aide d'une AWS KMS clé dans ce compte, la politique de la AWS KMS clé nécessite la politique suivante. Remplacez le *\$1\$1KbRoleArn\$1* et *\$1\$1KmsKeyArn\$1* par les valeurs appropriées.

```
{
    "Sid": "Example policy",
    "Effect": "Allow",
    "Principal": {
        "AWS": [
            "${KbRoleArn}"
        ]
    },
    "Action": [
        "kms:Decrypt"
    ],
    "Resource": "${KmsKeyArn}"
}
```

# Création d’un rôle de service pour Amazon Bedrock Flows dans Amazon Bedrock
<a name="flows-permissions"></a>

Vous devez créer et gérer un flux dans Amazon Bedrock à l’aide d’un rôle de service avec les autorisations nécessaires décrites sur cette page. Vous pouvez utiliser un rôle de service qu’Amazon Bedrock crée automatiquement pour vous dans la console ou un rôle que vous personnalisez vous-même.

**Note**  
Si vous utilisez le rôle de service qu’Amazon Bedrock crée automatiquement pour vous dans la console, les autorisations sont attachées de manière dynamique si vous ajoutez des nœuds à votre flux et que vous enregistrez ce dernier. Toutefois, si vous supprimez des nœuds, les autorisations ne sont pas supprimées. Vous devez donc supprimer les autorisations dont vous n’avez plus besoin. Pour gérer les autorisations associées au rôle créé pour vous, suivez les étapes sous [Modification d’un rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) dans le Guide de l’utilisateur IAM.

Pour créer un rôle de service personnalisé pour Amazon Bedrock Flows, créez un rôle IAM en suivant les étapes de la section [Création d'un rôle pour déléguer des autorisations à un AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) service. Attachez ensuite les autorisations suivantes au rôle.
+ Politique d’approbation
+ Les autorisations basées sur l’identité suivantes :
  + Accès aux modèles de base Amazon Bedrock que le flux utilisera. Ajoutez chaque modèle utilisé dans le flux à la liste `Resource`.
  + Si vous invoquez un modèle utilisant du débit alloué, les autorisations nécessaires pour accéder au modèle alloué et l’invoquer. Ajoutez chaque modèle utilisé dans le flux à la liste `Resource`.
  + Si vous invoquez un modèle personnalisé, les autorisations nécessaires pour accéder au modèle personnalisé et l’invoquer. Ajoutez chaque modèle utilisé dans le flux à la liste `Resource`.
  + Autorisations basées sur les nœuds que vous ajoutez au flux :
    + Si vous incluez des nœuds d’invite qui utilisent des invites de Prompt Management, vous devez disposer d’autorisations pour accéder à l’invite. Ajoutez chaque invite utilisée dans le flux à la liste `Resource`.
    + Si vous incluez des nœuds de base de connaissances, vous devez disposer d’autorisations pour interroger la base de connaissances. Ajoutez chaque base de connaissances interrogée dans le flux à la liste `Resource`.
    + Si vous incluez des nœuds d’agent, vous devez disposer d’autorisations pour invoquer un alias de l’agent. Ajoutez chaque agent invoqué dans le flux à la liste `Resource`.
    + Si vous incluez des nœuds de récupération S3, vous devez disposer d’autorisations pour accéder au compartiment Amazon S3 à partir duquel les données sont récupérées. Ajoutez chaque compartiment à partir duquel des données sont récupérées à la liste `Resource`.
    + Si vous incluez des nœuds de stockage S3, vous devez disposer d’autorisations pour écrire dans le compartiment Amazon S3 dans lequel les données de sortie sont stockées. Ajoutez chaque compartiment dans lequel des données sont écrites à la liste `Resource`.
    + Si vous incluez des barrières de protection pour un nœud de base de connaissances ou un nœud d’invite, vous devez disposer d’autorisations pour les appliquer dans un flux. Ajoutez chaque barrière de protection utilisée dans le flux à la liste `Resource`.
    + Si vous incluez des nœuds Lambda, vous devez disposer d’autorisations pour invoquer la fonction Lambda. Ajoutez chaque fonction Lambda à invoquer à la liste `Resource`.
    + Si vous incluez des nœuds Amazon Lex, vous devez disposer d’autorisations pour utiliser le bot Amazon Lex. Ajoutez chaque alias de bot à utiliser à la liste `Resource`.
    + Si vous avez chiffré une ressource invoquée dans un flux, vous devez disposer d’autorisations pour déchiffrer la clé. Ajoutez chaque clé à la liste `Resource`.
+ Si vous chiffrez le flux, vous devez également attacher une stratégie de clé à la clé KMS vous permettant de chiffrer le flux.

**Note**  
Les modifications suivantes ont été implémentées récemment :  
Auparavant, AWS Lambda les ressources Amazon Lex étaient invoquées à l'aide du principal de service Amazon Bedrock. Ce comportement est en train de changer pour les flux créés après le 22/11/2024 et le rôle de service Amazon Bedrock Flows sera utilisé pour invoquer les ressources et Amazon AWS Lambda Lex. Si vous avez créé des flux utilisant l'une de ces ressources avant le 22/11/2024, vous devez mettre à jour vos rôles de service Amazon Bedrock Flows et les autorisations Amazon AWS Lambda Lex.
Auparavant, les ressources Prompt Management s’affichaient à l’aide de l’action `bedrock:GetPrompt`. Ce comportement est en train de changer pour les flux créés après le 22/11/2024 et l’action `bedrock:RenderPrompt` permettra d’afficher la ressource d’invite. Si vous avez créé des flux utilisant une ressource d’invite avant le 22/11/2024, vous devez mettre à jour vos rôles de service Amazon Bedrock Flows avec des autorisations `bedrock:RenderPrompt`.
Si vous utilisez un rôle de service qu’Amazon Bedrock a automatiquement créé pour vous dans la console, Amazon Bedrock attache les autorisations corrigées de manière dynamique lorsque vous enregistrez le flux.

**Topics**
+ [Relation d’approbation](#flows-permissions-trust)
+ [Autorisations basées sur l’identité pour le rôle de service de flux.](#flows-permissions-identity)

## Relation d’approbation
<a name="flows-permissions-trust"></a>

Associez la politique d’approbation suivante au rôle d’exécution de flux pour permettre à Amazon Bedrock d’endosser ce rôle et de gérer un flux. Remplacez-les *values* si nécessaire. La politique contient des clés de condition facultatives (consultez [Clés de condition pour Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) et [Clés de contexte de condition globale AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) dans le champ `Condition` que nous vous recommandons d’utiliser comme bonne pratique de sécurité.

**Note**  
Il est recommandé de remplacer le *\$1* par un ID de flux après l'avoir créé.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "FlowsTrustBedrock",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnLike": {
                    "AWS:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:flow/*"
                }
            }
        }
    ]
}
```

------

## Autorisations basées sur l’identité pour le rôle de service de flux.
<a name="flows-permissions-identity"></a>

Joignez la politique suivante pour fournir des autorisations pour le rôle de service, *values* en la remplaçant si nécessaire. La politique contient les instructions suivantes : Omettez une instruction si elle ne s’applique pas à votre cas d’utilisation. La politique contient des clés de condition facultatives (consultez [Clés de condition pour Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) et [Clés de contexte de condition globale AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) dans le champ `Condition` que nous vous recommandons d’utiliser comme bonne pratique de sécurité.
+ Accès aux modèles de base Amazon Bedrock que le flux utilisera. Ajoutez chaque modèle utilisé dans le flux à la liste `Resource`.
+ Si vous invoquez un modèle utilisant du débit alloué, les autorisations nécessaires pour accéder au modèle alloué et l’invoquer. Ajoutez chaque modèle utilisé dans le flux à la liste `Resource`.
+ Si vous invoquez un modèle personnalisé, les autorisations nécessaires pour accéder au modèle personnalisé et l’invoquer. Ajoutez chaque modèle utilisé dans le flux à la liste `Resource`.
+ Autorisations basées sur les nœuds que vous ajoutez au flux :
  + Si vous incluez des nœuds d’invite qui utilisent des invites de Prompt Management, vous devez disposer d’autorisations pour accéder à l’invite. Ajoutez chaque invite utilisée dans le flux à la liste `Resource`.
  + Si vous incluez des nœuds de base de connaissances, vous devez disposer d’autorisations pour interroger la base de connaissances. Ajoutez chaque base de connaissances interrogée dans le flux à la liste `Resource`.
  + Si vous incluez des nœuds d’agent, vous devez disposer d’autorisations pour invoquer un alias de l’agent. Ajoutez chaque agent invoqué dans le flux à la liste `Resource`.
  + Si vous incluez des nœuds de récupération S3, vous devez disposer d’autorisations pour accéder au compartiment Amazon S3 à partir duquel les données sont récupérées. Ajoutez chaque compartiment à partir duquel des données sont récupérées à la liste `Resource`.
  + Si vous incluez des nœuds de stockage S3, vous devez disposer d’autorisations pour écrire dans le compartiment Amazon S3 dans lequel les données de sortie sont stockées. Ajoutez chaque compartiment dans lequel des données sont écrites à la liste `Resource`.
  + Si vous incluez des barrières de protection pour un nœud de base de connaissances ou un nœud d’invite, vous devez disposer d’autorisations pour les appliquer dans un flux. Ajoutez chaque barrière de protection utilisée dans le flux à la liste `Resource`.
  + Si vous incluez des nœuds Lambda, vous devez disposer d’autorisations pour invoquer la fonction Lambda. Ajoutez chaque fonction Lambda à invoquer à la liste `Resource`.
  + Si vous incluez des nœuds Amazon Lex, vous devez disposer d’autorisations pour utiliser le bot Amazon Lex. Ajoutez chaque alias de bot à utiliser à la liste `Resource`.
  + Si vous avez chiffré une ressource invoquée dans un flux, vous devez disposer d’autorisations pour déchiffrer la clé. Ajoutez chaque clé à la liste `Resource`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "InvokeModel",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1::foundation-model/ModelId"
            ]
        },
        {
            "Sid": "InvokeProvisionedThroughput",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:GetProvisionedModelThroughput"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:provisioned-model/ModelId"
            ]
        },
        {
            "Sid": "InvokeCustomModel",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:GetCustomModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:custom-model/ModelId"
            ]
        },
        {
            "Sid": "UsePromptFromPromptManagement",
            "Effect": "Allow",
            "Action": [
                "bedrock:RenderPrompt"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:prompt/PromptId"
            ]
        },
        {
            "Sid": "QueryKnowledgeBase",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/KnowledgeBaseId"
            ]
        },
        {
            "Sid": "InvokeAgent",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeAgent"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:agent-alias/AgentId/AgentAliasId"
            ]
        },
        {
            "Sid": "AccessS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "WriteToS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        },
        {
            "Sid": "GuardrailPermissions",
            "Effect": "Allow",
            "Action": [
                "bedrock:ApplyGuardrail"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:guardrail/GuardrailId"
            ]
        },
        {
            "Sid": "LambdaPermissions",
            "Effect": "Allow",
            "Action": [
                "lambda:InvokeFunction"
            ],
            "Resource": [
                "arn:aws:lambda:us-east-1:123456789012:function:FunctionId"
            ]
        },
        {
            "Sid": "AmazonLexPermissions",
            "Effect": "Allow",
            "Action": [
                "lex:RecognizeUtterance"
            ],
            "Resource": [ 
                "arn:aws:lex:us-east-1:123456789012:bot-alias/BotId/BotAliasId"
            ]
        },
        {
            "Sid": "KMSPermissions",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/KeyId"
            ],
             "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "123456789012"
                }
            }
        }
    ]
}
```

------

# Exigences de fonction du service pour les tâches d’évaluation de modèle
<a name="model-evaluation-security-service-roles"></a>

Pour créer une tâche d’évaluation de modèle, vous devez spécifier un rôle de service. Un rôle de service est un [rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) qu’un service endosse pour accomplir des actions en votre nom. Un administrateur IAM peut créer, modifier et supprimer un rôle de service à partir d’IAM. Pour plus d’informations, consultez [Création d’un rôle pour la délégation d’autorisations à un Service AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) dans le *Guide de l’utilisateur IAM*. 

Les actions et ressources IAM requises dépendent du type de tâche d’évaluation de modèles que vous créez. Consultez les sections suivantes pour en savoir plus sur les ressources, les principaux du service et les actions IAM nécessaires pour Amazon Bedrock, Amazon SageMaker AI et Amazon S3. Vous pouvez éventuellement choisir de chiffrer vos données à l’aide d’AWS Key Management Service.

**Topics**
+ [Exigences de fonction du service pour les tâches d’évaluation de modèle automatique](automatic-service-roles.md)
+ [Exigences du rôle de service pour les tâches d’évaluation de modèles basées sur l’humain](model-eval-service-roles.md)
+ [Autorisations de rôle de service requises pour créer une tâche d’évaluation des modèles faisant appel à un modèle d’évaluation](judge-service-roles.md)
+ [Exigences du rôle de service pour les tâches d’évaluation de base de connaissances](rag-eval-service-roles.md)

# Exigences de fonction du service pour les tâches d’évaluation de modèle automatique
<a name="automatic-service-roles"></a>

Pour créer une tâche d’évaluation de modèle automatique, vous devez spécifier une fonction du service. La politique que vous attachez accorde à Amazon Bedrock un accès aux ressources de votre compte et permet à Amazon Bedrock d’invoquer le modèle sélectionné en votre nom.

Vous devez également attacher une politique de confiance qui définisse Amazon Bedrock en tant que principal du service à l’aide de `bedrock.amazonaws.com`. Chacun des exemples de politique suivants montre les actions IAM exactes qui sont nécessaires en fonction du service invoqué dans le cadre d’une tâche d’évaluation de modèle automatique.

Pour créer une fonction du service personnalisée, consultez [Création d’un rôle à l’aide de politiques d’approbation personnalisées](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) dans le *Guide de l’utilisateur IAM*.

**Actions IAM Amazon S3 nécessaires**  
L’exemple de politique suivant accorde un accès aux compartiments S3 où sont enregistrés les résultats de vos évaluations de modèle, ainsi qu’un accès (facultatif) aux jeux de données d’invite personnalisés que vous avez spécifiés.

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

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
    {
        "Sid": "AllowAccessToCustomDatasets",
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:ListBucket"
        ],
        "Resource": [
            "arn:aws:s3:::my_customdataset1_bucket",
            "arn:aws:s3:::my_customdataset1_bucket/myfolder",
            "arn:aws:s3:::my_customdataset2_bucket",
            "arn:aws:s3:::my_customdataset2_bucket/myfolder"
        ]
    },
    {
        "Sid": "AllowAccessToOutputBucket",
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:ListBucket",
            "s3:PutObject",
            "s3:GetBucketLocation",
            "s3:AbortMultipartUpload",
            "s3:ListBucketMultipartUploads"
        ],
        "Resource": [
            "arn:aws:s3:::my_output_bucket",
            "arn:aws:s3:::my_output_bucket/myfolder"
        ]
    }
]
}
```

------

**Actions IAM Amazon Bedrock nécessaires**  
Vous devez également créer une politique qui permette à Amazon Bedrock d’invoquer le modèle que vous prévoyez de spécifier dans la tâche d’évaluation de modèle automatique. Pour en savoir plus sur la gestion de l’accès aux modèles Amazon Bedrock, consultez [Accès aux modèles de fondation Amazon Bedrock](model-access.md). Dans la section `"Resource"` de la politique, vous devez spécifier au moins un ARN d’un modèle auquel vous avez également accès. Pour utiliser un modèle chiffré avec une clé KMS gérée par le client, vous devez ajouter les actions et ressources IAM requises à la politique du rôle de service IAM. Vous devez également ajouter le rôle de service à la politique AWS KMS clé.

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

****  

```
{
		    "Version":"2012-10-17",		 	 	 
            "Statement": [
        {
            "Sid": "AllowAccessToBedrockResources",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream",
                "bedrock:CreateModelInvocationJob",
                "bedrock:StopModelInvocationJob",
                "bedrock:GetProvisionedModelThroughput",
                "bedrock:GetInferenceProfile", 
                "bedrock:ListInferenceProfiles",
                "bedrock:GetImportedModel",
                "bedrock:GetPromptRouter",
                "sagemaker:InvokeEndpoint"
            ],
            "Resource": [
                "arn:aws:bedrock:*::foundation-model/*",
                "arn:aws:bedrock:*:111122223333:inference-profile/*",
                "arn:aws:bedrock:*:111122223333:provisioned-model/*",
                "arn:aws:bedrock:*:111122223333:imported-model/*",
                "arn:aws:bedrock:*:111122223333:application-inference-profile/*",
                "arn:aws:bedrock:*:111122223333:default-prompt-router/*",
                "arn:aws:sagemaker:*:111122223333:endpoint/*",
                "arn:aws:bedrock:*:111122223333:marketplace/model-endpoint/all-access"
            ]
        }
    ]
}
```

------

**Exigences de principal du service**  
Vous devez également spécifier une politique de confiance qui définisse Amazon Bedrock en tant que principal du service. Cela permet à Amazon Bedrock d’endosser le rôle. L'ARN des tâches d'évaluation de modèles wildcard (`*`) est requis pour qu'Amazon Bedrock puisse créer des tâches d'évaluation de modèles dans votre AWS compte.

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

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [{
    "Sid": "AllowBedrockToAssumeRole",
    "Effect": "Allow",
    "Principal": {
        "Service": "bedrock.amazonaws.com"
    },
    "Action": "sts:AssumeRole",
    "Condition": {
        "StringEquals": {
            "aws:SourceAccount": "111122223333"
        },
        "ArnEquals": {
            "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:evaluation-job/*"
        }
    }
}]
}
```

------

# Exigences du rôle de service pour les tâches d’évaluation de modèles basées sur l’humain
<a name="model-eval-service-roles"></a>

Pour créer une tâche d’évaluation de modèle faisant appel à des évaluateurs humains, vous devez spécifier deux fonctions du service.

Les listes suivantes résument les exigences de politique IAM pour chaque fonction du service nécessaire qui doit être spécifiée dans la console Amazon Bedrock.

**Résumé des exigences de politique IAM pour la fonction du service Amazon Bedrock**
+ Vous devez attacher une politique de confiance qui définisse Amazon Bedrock en tant que principal du service.
+ Vous devez autoriser Amazon Bedrock à invoquer les modèles sélectionnés en votre nom.
+ Vous devez autoriser Amazon Bedrock à accéder au compartiment S3 qui contient votre jeu de données d’invite et au compartiment S3 où doivent être enregistrés les résultats.
+ Vous devez autoriser Amazon Bedrock à créer les ressources de boucle humaine nécessaires dans votre compte.
+ (Recommandé) Utilisez un *bloc* `Condition` pour spécifier les comptes autorisés à y accéder.
+ (Facultatif) Vous devez autoriser Amazon Bedrock à déchiffrer votre clé KMS si vous avez chiffré le compartiment de votre jeu de données d’invite ou le compartiment Amazon S3 où doivent être enregistrés les résultats.

**Résumé des exigences de la politique IAM pour le rôle de service Amazon SageMaker AI**
+ Vous devez joindre une politique de confiance qui définit l' SageMaker IA comme le principal du service.
+ Vous devez autoriser l' SageMaker IA à accéder au compartiment S3 qui contient votre ensemble de données d'invite et au compartiment S3 dans lequel vous souhaitez enregistrer les résultats.
+ (Facultatif) Vous devez autoriser l' SageMaker IA à utiliser les clés gérées par vos clients si vous avez chiffré le bucket de votre ensemble de données demandé ou l'emplacement où vous vouliez obtenir les résultats.

Pour créer une fonction du service personnalisée, consultez [Création d’un rôle à l’aide de politiques d’approbation personnalisées](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) dans le *Guide de l’utilisateur IAM*.

**Actions IAM Amazon S3 nécessaires**  
L’exemple de politique suivant accorde un accès aux compartiments S3 où sont enregistrés les résultats de vos évaluations de modèle, ainsi qu’un accès au jeu de données d’invite personnalisé que vous avez spécifié. Vous devez associer cette politique au rôle de service SageMaker AI et au rôle de service Amazon Bedrock.

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

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
    {
        "Sid": "AllowAccessToCustomDatasets",
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:ListBucket"
        ],
        "Resource": [
            "arn:aws:s3:::custom-prompt-dataset"
        ]
    },
    {
        "Sid": "AllowAccessToOutputBucket",
        "Effect": "Allow",
        "Action": [
            "s3:GetObject",
            "s3:ListBucket",
            "s3:PutObject",
            "s3:GetBucketLocation",
            "s3:AbortMultipartUpload",
            "s3:ListBucketMultipartUploads"
        ],
        "Resource": [
            "arn:aws:s3:::model_evaluation_job_output"
        ]
    }
]
}
```

------

**Actions IAM Amazon Bedrock nécessaires**  
Pour autoriser Amazon Bedrock à invoquer le modèle que vous prévoyez de spécifier dans la tâche d’évaluation de modèles automatique, associez la politique suivante au rôle de service Amazon Bedrock. Dans la section `"Resource"` de la politique, vous devez spécifier au moins un ARN d’un modèle auquel vous avez également accès. Pour utiliser un modèle chiffré avec une clé KMS gérée par le client, vous devez ajouter les actions et ressources IAM requises au rôle de service IAM. Vous devez également ajouter tous les éléments de politique AWS KMS clés requis.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAccessToBedrockResources",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream",
                "bedrock:CreateModelInvocationJob",
                "bedrock:StopModelInvocationJob",
                "bedrock:GetProvisionedModelThroughput",
                "bedrock:GetInferenceProfile", 
                "bedrock:ListInferenceProfiles",
                "bedrock:GetImportedModel",
                "bedrock:GetPromptRouter",
                "sagemaker:InvokeEndpoint"
            ],
            "Resource": [
                "arn:aws:bedrock:*::foundation-model/*",
                "arn:aws:bedrock:*:111122223333:inference-profile/*",
                "arn:aws:bedrock:*:111122223333:provisioned-model/*",
                "arn:aws:bedrock:*:111122223333:imported-model/*",
                "arn:aws:bedrock:*:111122223333:application-inference-profile/*",
                "arn:aws:bedrock:*:111122223333:default-prompt-router/*",
                "arn:aws:sagemaker:*:111122223333:endpoint/*",
                "arn:aws:bedrock:*:111122223333:marketplace/model-endpoint/all-access"
            ]
        }
    ]
}
```

------

**Actions IAM d’IA augmentée d’Amazon nécessaires**  
Vous devez également créer une politique qui permette à Amazon Bedrock de créer des ressources liées à des tâches d’évaluation de modèles basées sur l’humain. Comme Amazon Bedrock crée les ressources nécessaires au démarrage de la tâche d’évaluation de modèle, vous devez utiliser `"Resource": "*"`. Vous devez attacher cette politique à la fonction du service Amazon Bedrock.

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

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
    {
        "Sid": "ManageHumanLoops",
        "Effect": "Allow",
        "Action": [
            "sagemaker:StartHumanLoop",
            "sagemaker:DescribeFlowDefinition",
            "sagemaker:DescribeHumanLoop",
            "sagemaker:StopHumanLoop",
            "sagemaker:DeleteHumanLoop"
        ],
        "Resource": "*"
    }
]
}
```

------

**Exigences de principal du service (Amazon Bedrock)**  
Vous devez également spécifier une politique de confiance qui définisse Amazon Bedrock en tant que principal du service. Cela permet à Amazon Bedrock d’endosser le rôle.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowBedrockToAssumeRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:evaluation-job/*"
                }
            }
        }
    ]
}
```

------

**Principales exigences du service (SageMaker AI)**  
Vous devez également spécifier une politique de confiance qui définisse Amazon Bedrock en tant que principal du service. Cela permet à SageMaker l'IA d'assumer ce rôle.

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

****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
{
  "Sid": "AllowSageMakerToAssumeRole",
  "Effect": "Allow",
  "Principal": {
    "Service": "sagemaker.amazonaws.com"
  },
  "Action": "sts:AssumeRole"
}
]
}
```

------

# Autorisations de rôle de service requises pour créer une tâche d’évaluation des modèles faisant appel à un modèle d’évaluation
<a name="judge-service-roles"></a>

Pour créer une tâche d’évaluation de modèles qui utilise un LLM-juge, vous devez spécifier un rôle de service. La politique que vous attachez accorde à Amazon Bedrock un accès aux ressources de votre compte et permet à Amazon Bedrock d’invoquer le modèle sélectionné en votre nom.

La politique de confiance définit Amazon Bedrock en tant que principal du service à l’aide de `bedrock.amazonaws.com`. Chacun des exemples de politique suivants montre les actions IAM exactes qui sont nécessaires en fonction du service invoqué dans le cadre d’une tâche d’évaluation de modèles

Pour créer un rôle de service personnalisé comme décrit ci-dessous, consultez [Création d’un rôle à l’aide de politiques d’approbation personnalisées](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) dans le *Guide de l’utilisateur IAM*.

## Actions IAM Amazon Bedrock nécessaires
<a name="judge-service-roles-br"></a>

Vous devez créer une politique qui permette à Amazon Bedrock d’invoquer les modèles que vous prévoyez de spécifier dans la tâche d’évaluation de modèles. Pour en savoir plus sur la gestion de l’accès aux modèles Amazon Bedrock, consultez [Accès aux modèles de fondation Amazon Bedrock](model-access.md). Dans la section `"Resource"` de la politique, vous devez spécifier au moins un ARN d’un modèle auquel vous avez également accès. Pour utiliser un modèle chiffré avec une clé KMS gérée par le client, vous devez ajouter les actions et ressources IAM requises à la politique du rôle de service IAM. Vous devez également ajouter le rôle de service à la politique AWS KMS clé.

Le rôle de service doit inclure l’accès à au moins un modèle évaluateur pris en charge. Pour obtenir la liste des modèles évaluateurs actuellement pris en charge, consultez [Modèles pris en charge](evaluation-judge.md#evaluation-judge-supported).

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

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "BedrockModelInvoke",
			"Effect": "Allow",
			"Action": [
				"bedrock:InvokeModel",
				"bedrock:CreateModelInvocationJob",
				"bedrock:StopModelInvocationJob"
			],
			"Resource": [
				"arn:aws:bedrock:us-east-1::foundation-model/*",
				"arn:aws:bedrock:us-east-1:111122223333:inference-profile/*",
				"arn:aws:bedrock:us-east-1:111122223333:provisioned-model/*",
				"arn:aws:bedrock:us-east-1:111122223333:imported-model/*"
			]
		}
	]
}
```

------

## Actions et ressources IAM Amazon S3 nécessaires
<a name="judge-service-roles-s3"></a>

Votre politique en matière de rôle de service doit inclure l’accès au compartiment Amazon S3 dans lequel vous souhaitez enregistrer les résultats des tâches d’évaluation de modèles, ainsi que l’accès au jeu de données d’invite que vous avez spécifié dans votre demande `CreateEvaluationJob` ou via la console Amazon Bedrock.

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

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "FetchAndUpdateOutputBucket",
			"Effect": "Allow",
			"Action": [
				"s3:GetObject",
				"s3:ListBucket",
				"s3:PutObject",
				"s3:GetBucketLocation",
				"s3:AbortMultipartUpload",
				"s3:ListBucketMultipartUploads"
			],
			"Resource": [
				"arn:aws:s3:::my_customdataset1_bucket",
	            "arn:aws:s3:::my_customdataset1_bucket/myfolder",
	            "arn:aws:s3:::my_customdataset2_bucket",
				"arn:aws:s3:::my_customdataset2_bucket/myfolder"
			]
		}
	]
}
```

------

# Exigences du rôle de service pour les tâches d’évaluation de base de connaissances
<a name="rag-eval-service-roles"></a>

Pour créer une tâche d’évaluation de base de connaissances, vous devez spécifier un rôle de service. La politique que vous attachez au rôle accorde à Amazon Bedrock un accès aux ressources de votre compte et permet à Amazon Bedrock d’effectuer les tâches suivantes :
+ Invoquez les modèles que vous sélectionnez pour la génération de sortie à l’aide de l’action d’API `RetrieveAndGenerate` et évaluez les sorties de la base de connaissances.
+ Invoquez les actions d’API `Retrieve` et `RetrieveAndGenerate` des bases de connaissances Amazon Bedrock sur votre instance de base de connaissances.

Pour créer un rôle de service personnalisé, consultez [Création d’un rôle à l’aide de politiques d’approbation personnalisées](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) dans le *Guide de l’utilisateur IAM*.

**Autorisations IAM requises pour un accès à Amazon S3**  
L’exemple de politique suivant autorise l’accès aux compartiments S3 dans lesquels les deux événements suivants se produisent : 
+ Vous enregistrez les résultats de l’évaluation de votre base de connaissances.
+ Amazon Bedrock lit votre jeu de données d’entrée.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":
    [
        {
            "Sid": "AllowAccessToCustomDatasets",
            "Effect": "Allow",
            "Action":
            [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource":
            [
                "arn:aws:s3:::my_customdataset1_bucket",
                "arn:aws:s3:::my_customdataset1_bucket/myfolder",
                "arn:aws:s3:::my_customdataset2_bucket",
                "arn:aws:s3:::my_customdataset2_bucket/myfolder"
            ]
        },
        {
            "Sid": "AllowAccessToOutputBucket",
            "Effect": "Allow",
            "Action":
            [
                "s3:GetObject",
                "s3:ListBucket",
                "s3:PutObject",
                "s3:GetBucketLocation",
                "s3:AbortMultipartUpload",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource":
            [
                "arn:aws:s3:::my_output_bucket",
                "arn:aws:s3:::my_output_bucket/myfolder"
            ]
        }
    ]
}
```

------

**Actions IAM Amazon Bedrock nécessaires**  
Vous devez également créer une politique qui permette à Amazon Bedrock d’effectuer les opérations suivantes :

1. Invoquez les modèles que vous souhaitez spécifier pour les éléments suivants : 
   + Génération de résultats à l’aide de l’action d’API `RetrieveAndGenerate`.
   + Évaluation des résultats.

   Pour la clé `Resource` de la politique, vous devez spécifier au moins un ARN d’un modèle auquel vous avez accès. Pour utiliser un modèle chiffré à l’aide d’une clé KMS gérée par le client, vous devez ajouter les actions et ressources IAM requises à la politique du rôle de service IAM. Vous devez également ajouter le rôle de service à la politique AWS KMS clé.

1. Appelez les actions d’API `Retrieve` et `RetrieveAndGenerate`. Notez que, lors de la création automatique des rôles dans la console, nous accordons des autorisations aux actions d’API `Retrieve` et `RetrieveAndGenerate`, quelle que soit l’action que vous choisissez d’évaluer pour cette tâche. Ce faisant, nous donnons plus de flexibilité et de réutilisabilité à ce rôle. Toutefois, pour plus de sécurité, ce rôle créé automatiquement est lié à une seule instance de base de connaissances.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowSpecificModels",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel",
                "bedrock:InvokeModelWithResponseStream",
                "bedrock:CreateModelInvocationJob",
                "bedrock:StopModelInvocationJob",
                "bedrock:GetProvisionedModelThroughput",
                "bedrock:GetInferenceProfile",
                "bedrock:GetImportedModel"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1::foundation-model/*",
                "arn:aws:bedrock:us-east-1:123456789012:inference-profile/*",
                "arn:aws:bedrock:us-east-1:123456789012:provisioned-model/*",
                "arn:aws:bedrock:us-east-1:123456789012:imported-model/*",
                "arn:aws:bedrock:us-east-1:123456789012:application-inference-profile/*"
            ]
        },
        {
            "Sid": "AllowKnowledgeBaseAPis",
            "Effect": "Allow",
            "Action": [
                "bedrock:Retrieve",
                "bedrock:RetrieveAndGenerate"
            ],
            "Resource": [
                "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/knowledge-base-id"
            ]
        }
    ]
}
```

------

**Exigences de principal du service**  
Vous devez également spécifier une politique de confiance qui définisse Amazon Bedrock en tant que principal du service. Cette politique permet à Amazon Bedrock d’endosser le rôle. L'ARN des tâches d'évaluation de modèles wildcard (`*`) est requis pour qu'Amazon Bedrock puisse créer des tâches d'évaluation de modèles dans votre AWS compte.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowBedrockToAssumeRole",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "123456789012"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:bedrock:us-east-1:123456789012:evaluation-job/*"
                }
            }
        }
    ]
}
```

------