View a markdown version of this page

Configurar la autoridad de certificación raíz para Amazon Bedrock AgentCore Code Interpreter - Amazon Bedrock AgentCore

Configurar la autoridad de certificación raíz para Amazon Bedrock AgentCore Code Interpreter

De forma predeterminada, las sesiones de Amazon Bedrock AgentCore Code Interpreter solo confían en las autoridades de certificación reconocidas públicamente. Si sus agentes necesitan acceder a servicios o recursos internos a través de un TLS-intercepting proxy que utilice certificados firmados por una entidad emisora de certificados privada, debe proporcionar sus certificados de entidad de certificación raíz personalizados al iniciar una sesión.

Amazon Bedrock AgentCore recupera el contenido del PEM-encoded certificado de AWS Secrets Manager con las credenciales de la persona que llama, valida el X.509 formato y la caducidad e instala los certificados en el almacén de confianza del sistema operativo de la sesión. Esto permite al intérprete de código establecer conexiones HTTPS confiables con sus recursos internos.

Funcionamiento

La autoridad de certificación raíz para Amazon Bedrock AgentCore Code Interpreter funciona de la siguiente manera:

  1. Debe proporcionar una lista de ubicaciones de certificados, cada una de las cuales apunta a un secreto en AWS Secrets Manager que contiene un certificado de CA PEM-encoded raíz.

  2. Amazon Bedrock AgentCore utiliza las credenciales de la persona que llama para recuperar cada certificado de AWS Secrets Manager.

  3. Cada certificado se valida con el formato X.509 PEM correcto y se comprueba para garantizar que no haya caducado ni se utilice antes de la fecha de inicio de la validez.

  4. Los certificados válidos se implementan en el almacén de confianza del sistema operativo de la sesión, lo que los pone a disposición de los usuarios en tiempo de ejecución de código y de cualquier cliente de red que se encuentre dentro del entorno limitado.

Los certificados configurados a nivel de herramienta (de principio a finCreateCodeInterpreter) se combinan con cualquier certificado que se proporcione al inicio de la sesión. Esto le permite configurar certificados para toda la organización en la herramienta y agregar certificados específicos de la sesión según sea necesario.

nota

La configuración de los certificados es una operación que se realiza una sola vez por sesión. Una vez instalados los certificados, no se pueden modificar durante esa sesión.

Requisitos previos

Antes de configurar los certificados de CA raíz, asegúrese de tener lo siguiente:

  • Ha completado los requisitos previos generales.

  • Sus certificados de CA raíz se almacenan como secretos en AWS Secrets Manager. Cada secreto debe contener un PEM-encoded X.509 certificado válido

  • Permisos de IAM para leer los secretos de los certificados de AWS Secrets Manager. Añada los siguientes permisos a su política de IAM:

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

Guarde su certificado en AWS Secrets Manager 

Antes de poder utilizar un certificado de CA raíz con Amazon Bedrock AgentCore Code Interpreter, debe guardarlo como secreto en AWS Secrets Manager. El valor secreto debe ser el contenido del PEM-encoded certificado.

ejemplo
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']}")

Anote el ARN secreto de la salida. Utilizará este ARN al iniciar las sesiones con una configuración de certificado.

importante

El secreto debe contener un PEM-encoded X.509 certificado válido. El certificado no debe estar vencido y debe estar dentro de su período de validez. Amazon Bedrock AgentCore valida el formato y la caducidad del certificado antes de instalarlo.

Inicie una sesión de intérprete de código con certificados personalizados

Para iniciar una sesión de intérprete de código que confíe en sus certificados de CA raíz personalizados, incluya el certificates parámetro en la StartCodeInterpreterSession solicitud.

ejemplo
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>" } } } ] }

Uso de varios certificados

Puede proporcionar varios certificados de CA raíz en una sola sesión de intérprete de código. Esto resulta útil cuando su entorno requiere la confianza de varias autoridades de certificación internas, como entidades de certificación independientes para distintos servicios o entornos internos.

ejemplo
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" } } } ] )

Configure los certificados a nivel de herramienta

Puede configurar los certificados a nivel de herramienta al crear un intérprete de código personalizado. Los certificados configurados a nivel de herramienta se aplican automáticamente a todas las sesiones iniciadas con esa herramienta, además de a los certificados proporcionados al inicio de la sesión.

Esto resulta útil para los certificados de toda la organización en los que deberían confiar todas las sesiones de interpretación de código.

ejemplo
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}")

Al iniciar una sesión con un intérprete de código que tiene los certificados configurados, los certificados de nivel de herramienta se combinan con cualquier certificado de nivel de sesión. Tool-level Los certificados se aplican primero, seguidos de los certificados de nivel de sesión.

Requisitos y límites de los certificados

Los certificados deben cumplir los siguientes requisitos:

Requisito Details

Formato

PEM-encoded X.509 certificado

Almacenamiento

AWS Secrets Manager secret (como valor de cadena, no binario)

Validez

El certificado no debe estar caducado y debe estar dentro de su período de validez (entre notBefore y notAfter fechas)

Número máximo de certificados por sesión

10 por sesión y 10 por herramienta. Una sesión puede tener hasta 20 certificados en total.

Formato ARN secreto

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

Tipo de ubicación

Solo AWS Secrets Manager es compatible como ubicación de certificado

Resolución de problemas

En la siguiente tabla se describen los errores más comunes y sus soluciones al configurar los certificados de CA raíz para Amazon Bedrock AgentCore Code Interpreter.

Error Causa Resolución

No se encuentra el secreto del certificado en Secrets Manager

El ARN secreto no existe o se ha eliminado.

Compruebe que el ARN secreto es correcto y que el secreto existe en la región especificada.

Acceso denegado al secreto del certificado en Secrets Manager

La persona que llama no tiene secretsmanager:GetSecretValue permiso sobre el secreto.

Añada el secretsmanager:GetSecretValue permiso a su política de IAM para el ARN secreto especificado.

El contenido del certificado no tiene un formato válido PEM/X.509

El valor secreto no es un PEM-encoded X.509 certificado válido.

Asegúrese de que el secreto contenga un certificado PEM con el formato correcto que comience -----BEGIN CERTIFICATE----- y termine en. -----END CERTIFICATE-----

El certificado ha caducado

La notAfter fecha del certificado es pasada.

Sustituya el certificado caducado por uno válido en AWS Secrets Manager y vuelva a intentarlo.

El certificado aún no es válido

La notBefore fecha del certificado es futura.

Espere a que comience el período de validez del certificado o utilice un certificado que sea válido actualmente.

El número de certificados supera el máximo permitido

Se proporcionaron más de 10 certificados a nivel de sesión o a nivel de herramienta.

Reduzca la cantidad de certificados a 10 o menos por sesión y a 10 o menos por herramienta.

Se requiere la ubicación del certificado

Se proporcionó una entrada de certificado sin una ubicación.

Asegúrese de que cada certificado de la matriz incluya un certificado location con una secretsManager entrada que contenga un certificado válidosecretArn.

La configuración de los certificados no está habilitada

La función de certificados no está habilitada para su cuenta.

Póngase en contacto con AWS Support para activar la función de certificados en su cuenta.