View a markdown version of this page

Configurer l'autorité de certification racine pour Amazon Bedrock AgentCore Code Interpreter - Amazon Bedrock AgentCore

Configurer l'autorité de certification racine pour Amazon Bedrock AgentCore Code Interpreter

Par défaut, les sessions Amazon Bedrock AgentCore Code Interpreter ne font confiance qu'aux autorités de certification reconnues publiquement. Si vos agents ont besoin d'accéder à des services ou à des ressources internes via un TLS-intercepting proxy utilisant des certificats signés par une autorité de certification privée, vous devez fournir vos certificats d'autorité racine personnalisés lors du démarrage d'une session.

Amazon Bedrock AgentCore récupère le contenu des PEM-encoded certificats auprès de AWS Secrets Manager à l'aide des informations d'identification de votre appelant, valide le X.509 format et l'expiration, et installe les certificats dans le magasin de confiance du système d'exploitation de la session. Cela permet à l'interpréteur de code d'établir des connexions HTTPS fiables avec vos ressources internes.

Comment ça marche

L'autorité de certification racine pour Amazon Bedrock AgentCore Code Interpreter fonctionne comme suit :

  1. Vous fournissez une liste d'emplacements de certificats, chacun pointant vers un secret dans AWS Secrets Manager contenant un certificat CA PEM-encoded racine.

  2. Amazon Bedrock AgentCore utilise les informations d'identification de votre appelant pour récupérer chaque certificat auprès de AWS Secrets Manager.

  3. Chaque certificat est validé selon le format X.509 PEM correct et vérifié pour s'assurer qu'il n'a pas expiré et qu'il n'est pas utilisé avant sa date de début de validité.

  4. Les certificats valides sont déployés dans le magasin de confiance du système d'exploitation de la session, ce qui les rend disponibles pour les environnements d'exécution du code et pour tous les clients réseau du sandbox.

Les certificats configurés au niveau de l'outil (jusqu'àCreateCodeInterpreter) sont combinés à tous les certificats fournis au début de la session. Cela vous permet de définir des certificats à l'échelle de l'organisation sur l'outil et d'ajouter des certificats spécifiques à la session si nécessaire.

Note

La configuration des certificats est une opération unique par session. Une fois les certificats installés, ils ne peuvent pas être modifiés pendant la durée de cette session.

Conditions préalables

Avant de configurer les certificats de l'autorité de certification racine, assurez-vous de disposer des éléments suivants :

  • Vous avez rempli les prérequis généraux.

  • Vos certificats CA racine sont stockés sous forme de AWS secrets dans Secrets Manager. Chaque secret doit contenir PEM-encoded X.509 un certificat valide

  • Autorisations IAM pour lire les secrets du certificat depuis AWS Secrets Manager. Ajoutez les autorisations suivantes à votre politique IAM :

    { "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerCertificateAccess", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:<Region>:<account-id>:secret:<secret-name>" } ] }

Stockez votre certificat dans AWS Secrets Manager

Avant de pouvoir utiliser un certificat CA racine avec Amazon Bedrock AgentCore Code Interpreter, vous devez le stocker en tant que secret dans AWS Secrets Manager. La valeur secrète doit être le contenu du PEM-encoded certificat.

Exemple
AWS CLI
  1. aws secretsmanager create-secret \ --name "my-corporate-root-ca" \ --description "Corporate root CA certificate for AgentCore sessions" \ --secret-string file://my-root-ca.pem \ --region <region>
Boto3
  1. import boto3 client = boto3.client('secretsmanager', region_name='<region>') # Read the PEM certificate file with open('my-root-ca.pem', 'r') as f: cert_content = f.read() response = client.create_secret( Name='my-corporate-root-ca', Description='Corporate root CA certificate for AgentCore sessions', SecretString=cert_content ) print(f"Secret ARN: {response['ARN']}")

Notez l'ARN secret de la sortie. Vous utiliserez cet ARN lorsque vous démarrerez des sessions avec une configuration de certificat.

Important

Le secret doit contenir un PEM-encoded X.509 certificat valide. Le certificat ne doit pas être expiré et doit respecter sa période de validité. Amazon Bedrock AgentCore valide le format et l'expiration du certificat avant de l'installer.

Démarrez une session d'interpréteur de code avec des certificats personnalisés

Pour démarrer une session d'interpréteur de code qui fait confiance à vos certificats d'autorité de certification racine personnalisés, incluez le certificates paramètre dans votre StartCodeInterpreterSession demande.

Exemple
AWS CLI
  1. aws bedrock-agentcore start-code-interpreter-session \ --code-interpreter-identifier "aws.codeinterpreter.v1" \ --name "ci-session-with-custom-ca" \ --certificates '[ { "location": { "secretsManager": { "secretArn": "arn:aws:secretsmanager:<region>:<account-id>:secret:<secret-name>" } } } ]'
Boto3
  1. import boto3 client = boto3.client('bedrock-agentcore', region_name='<region>') response = client.start_code_interpreter_session( codeInterpreterIdentifier="aws.codeinterpreter.v1", name="ci-session-with-custom-ca", certificates=[ { "location": { "secretsManager": { "secretArn": "arn:aws:secretsmanager:<region>:<account-id>:secret:<secret-name>" } } } ] ) print(f"Session ID: {response['sessionId']}") print(f"Status: {response['status']}")
API
  1. { "name": "ci-session-with-custom-ca", "certificates": [ { "location": { "secretsManager": { "secretArn": "arn:aws:secretsmanager:<region>:<account-id>:secret:<secret-name>" } } } ] }

Utilisation de plusieurs certificats

Vous pouvez fournir plusieurs certificats d'autorité de certification racine au cours d'une seule session d'interpréteur de code. Cela est utile lorsque votre environnement nécessite la confiance de plusieurs autorités de certification internes, telles que des autorités de certification distinctes pour différents services ou environnements internes.

Exemple
AWS CLI
  1. aws bedrock-agentcore start-code-interpreter-session \ --code-interpreter-identifier "aws.codeinterpreter.v1" \ --name "ci-session-with-multiple-cas" \ --certificates '[ { "location": { "secretsManager": { "secretArn": "arn:aws:secretsmanager:<region>:<account-id>:secret:corporate-root-ca" } } }, { "location": { "secretsManager": { "secretArn": "arn:aws:secretsmanager:<region>:<account-id>:secret:proxy-ca" } } } ]'
Boto3
  1. response = client.start_code_interpreter_session( codeInterpreterIdentifier="aws.codeinterpreter.v1", name="ci-session-with-multiple-cas", certificates=[ { "location": { "secretsManager": { "secretArn": "arn:aws:secretsmanager:<region>:<account-id>:secret:corporate-root-ca" } } }, { "location": { "secretsManager": { "secretArn": "arn:aws:secretsmanager:<region>:<account-id>:secret:proxy-ca" } } } ] )

Configuration des certificats au niveau de l'outil

Vous pouvez configurer les certificats au niveau de l'outil lors de la création d'un interpréteur de code personnalisé. Les certificats configurés au niveau de l'outil sont automatiquement appliqués à chaque session démarrée avec cet outil, en plus des certificats fournis au début de la session.

Cela est utile pour les certificats à l'échelle de l'organisation qui devraient être approuvés par toutes les sessions d'interpréteur de code.

Exemple
Boto3
  1. response = client.create_code_interpreter( name="corporate-code-interpreter", description="Code interpreter with corporate CA trust", certificates=[ { "location": { "secretsManager": { "secretArn": "arn:aws:secretsmanager:<region>:<account-id>:secret:corporate-root-ca" } } } ] ) ci_id = response['codeInterpreterIdentifier'] print(f"Code Interpreter ID: {ci_id}")

Lorsque vous démarrez une session avec un interpréteur de code dont les certificats sont configurés, les certificats de niveau outil sont combinés à tous les certificats de niveau session. Tool-level les certificats sont appliqués en premier, suivis des certificats au niveau de la session.

Exigences et limites des certificats

Les certificats doivent répondre aux exigences suivantes :

Exigence Détails

Format

PEM-encoded X.509 certificat

Stockage

AWS Secret Secrets Manager (sous forme de chaîne, pas de binaire)

Validité

Le certificat ne doit pas être expiré et doit respecter sa période de validité (entre notBefore et notAfter dates)

Nombre maximum de certificats par session

10 par session et 10 par outil. Une session peut contenir jusqu'à 20 certificats au total.

Format d'ARN secret

arn:aws:secretsmanager:region:account-id:secret:secret-name

Type de lieu

Seul AWS Secrets Manager est pris en charge comme emplacement de certificats

Résolution des problèmes

Le tableau suivant décrit les erreurs courantes et leurs résolutions lors de la configuration de certificats CA racine pour Amazon Bedrock AgentCore Code Interpreter.

Erreur Cause Résolution

Le secret du certificat est introuvable dans Secrets Manager

L'ARN secret n'existe pas ou le secret a été supprimé.

Vérifiez que l'ARN du secret est correct et que le secret existe dans la région spécifiée.

Accès refusé au certificat secret dans Secrets Manager

L'appelant n'a pas secretsmanager:GetSecretValue l'autorisation de communiquer le secret.

Ajoutez l'secretsmanager:GetSecretValueautorisation à votre politique IAM pour l'ARN secret spécifié.

Le contenu du certificat n'est pas un PEM/X.509 format valide

La valeur secrète n'est pas un PEM-encoded X.509 certificat valide.

Assurez-vous que le secret contient un certificat PEM correctement formaté commençant par -----BEGIN CERTIFICATE----- et se terminant par. -----END CERTIFICATE-----

Le certificat a expiré

La notAfter date du certificat est passée.

Remplacez le certificat expiré par un certificat valide dans AWS Secrets Manager et réessayez.

Le certificat n'est pas encore valide

La notBefore date du certificat est dans le futur.

Attendez le début de la période de validité du certificat ou utilisez un certificat actuellement valide.

Le nombre de certificats dépasse le maximum autorisé

Plus de 10 certificats ont été fournis au niveau de la session ou au niveau de l'outil.

Réduisez le nombre de certificats à 10 ou moins par session et à 10 ou moins par outil.

L'emplacement du certificat est requis

Une entrée de certificat a été fournie sans indication de localisation.

Assurez-vous que chaque certificat du tableau inclut un location avec une secretsManager entrée contenant un code validesecretArn.

La configuration des certificats n'est pas activée

La fonctionnalité des certificats n'est pas activée pour votre compte.

Contactez le AWS Support pour activer la fonctionnalité de certificats pour votre compte.