

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Seguridad
<a name="security-overview"></a>

La seguridad de Amazon Bedrock abarca varios niveles de protección para sus datos, aplicaciones e infraestructura.

**Topics**
+ [Protección de datos](data-protection.md)
+ [Administración de identidades y accesos para Amazon Bedrock](security-iam.md)
+ [Acceso entre cuentas al bucket de Amazon S3 para trabajos de importación de modelos personalizados](cross-account-access-cmi.md)
+ [Validación de la conformidad en Amazon Bedrock](compliance-validation.md)
+ [Respuesta frente a incidencias en Amazon Bedrock](security-incident-response.md)
+ [Resiliencia en Amazon Bedrock](disaster-recovery-resiliency.md)
+ [Seguridad de la infraestructura en Amazon Bedrock](infrastructure-security.md)
+ [Prevención de la sustitución confusa entre servicios](cross-service-confused-deputy-prevention.md)
+ [Configuración y análisis de vulnerabilidades en Amazon Bedrock](vulnerability-analysis-and-management.md)
+ [Detección de abusos de Amazon Bedrock](abuse-detection.md)
+ [Seguridad de la inyección de peticiones](prompt-injection.md)

# Protección de datos
<a name="data-protection"></a>

El [modelo de ](https://aws.amazon.com/compliance/shared-responsibility-model/) se aplica a protección de datos en Amazon Bedrock. Como se describe en este modelo, AWS es responsable de proteger la infraestructura global en la que se ejecutan todos los Nube de AWS. Eres responsable de mantener el control sobre el contenido alojado en esta infraestructura. También eres responsable de las tareas de administración y configuración de seguridad para los Servicios de AWS que utiliza. Para obtener más información sobre la privacidad de los datos, consulte las [Preguntas frecuentes sobre la privacidad de datos](https://aws.amazon.com/compliance/data-privacy-faq/). Para obtener información sobre la protección de datos en Europa, consulte la publicación de blog sobre el [Modelo de responsabilidad compartida de AWS y GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) en el * Blog de seguridad de AWS *.

Con fines de protección de datos, le recomendamos que proteja Cuenta de AWS las credenciales y configure los usuarios individuales con AWS IAM Identity Center o AWS Identity and Access Management (IAM). De esta manera, solo se otorgan a cada usuario los permisos necesarios para cumplir sus obligaciones laborales. También recomendamos proteger sus datos de la siguiente manera:
+ Utiliza la autenticación multifactor (MFA) en cada cuenta.
+ Se utiliza SSL/TLS para comunicarse con AWS los recursos. Exigimos TLS 1.2 y recomendamos TLS 1.3.
+ Configure la API y el registro de actividad de los usuarios con AWS CloudTrail. Para obtener información sobre el uso de CloudTrail senderos para capturar AWS actividades, consulte [Cómo trabajar con CloudTrail senderos](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) en la *Guía del AWS CloudTrail usuario*.
+ Utilice soluciones de AWS cifrado, junto con todos los controles de seguridad predeterminados que contienen Servicios de AWS.
+ Utiliza servicios de seguridad administrados avanzados, como Amazon Macie, que lo ayuden a detectar y proteger la información confidencial almacenada en Amazon S3.
+ Si necesita módulos criptográficos validados por FIPS 140-3 para acceder a AWS través de una interfaz de línea de comandos o una API, utilice un punto final FIPS. Para obtener más información sobre los puntos de conexión de FIPS disponibles, consulte [Estándar de procesamiento de la información federal (FIPS) 140-3](https://aws.amazon.com/compliance/fips/).

Se recomienda encarecidamente no introducir nunca información confidencial o sensible, como por ejemplo, direcciones de correo electrónico de clientes, en etiquetas o campos de formato libre, tales como el campo **Nombre**. Esto incluye cuando trabaja con Amazon Bedrock u otro dispositivo Servicios de AWS mediante la consola, la API o AWS SDKs. AWS CLI Cualquier dato que introduzca en etiquetas o campos de formato libre utilizados para los nombres se pueden emplear para los registros de facturación o diagnóstico. Si proporciona una URL a un servidor externo, recomendamos encarecidamente que no incluya información de credenciales en la URL a fin de validar la solicitud para ese servidor.

Amazon Bedrock no almacena ni registra las peticiones ni las finalizaciones. Amazon Bedrock no utiliza tus instrucciones ni tus instrucciones para entrenar a ningún AWS modelo ni las distribuye a terceros.

Amazon Bedrock tiene un concepto de cuenta de implementación modelo: en cada región en la AWS que Amazon Bedrock esté disponible, hay una cuenta de implementación de este tipo por proveedor de modelos. Estas cuentas son propiedad y están administradas por el equipo de servicio de Amazon Bedrock. Los proveedores de modelos no tienen acceso a esas cuentas. Tras la entrega de un modelo de un proveedor de modelos a AWS, Amazon Bedrock realizará una copia exhaustiva del software de inferencia y formación del proveedor de modelos en esas cuentas para su despliegue. Como los proveedores de modelos no tienen acceso a esas cuentas, no pueden acceder a los registros de Amazon Bedrock ni a las peticiones y finalizaciones de los clientes.

**Topics**
+ [Cifrado de datos](data-encryption.md)
+ [Protección de los datos con Amazon VPC y AWS PrivateLink](usingVPC.md)

# Cifrado de datos
<a name="data-encryption"></a>

Amazon Bedrock utiliza el cifrado para proteger los datos en reposo y los datos en tránsito.

**Cifrado en tránsito**

En su interior AWS, todos los datos en tránsito entre redes admiten el cifrado TLS 1.2.

Las solicitudes a la API de Amazon Bedrock se efectúan a través de una conexión segura (SSL). Usted transfiere las funciones AWS Identity and Access Management (IAM) a Amazon Bedrock para que le otorgue permisos de acceso a los recursos en su nombre con fines de capacitación e implementación. 

**Cifrado en reposo**

Amazon Bedrock proporciona [Cifrado de los modelos personalizados](encryption-custom-job.md) en reposo.

## Administración de claves
<a name="key-management"></a>

Úselo AWS Key Management Service para administrar las claves que utiliza para cifrar sus recursos. Para obtener más información, consulte [Conceptos de AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys). Puede cifrar los siguientes recursos con una clave KMS.
+ A través de Amazon Bedrock
  + Modele los trabajos de personalización y sus modelos personalizados de salida: durante la creación del trabajo en la consola o especificando el `customModelKmsKeyId` campo en la llamada a la [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)API.
  + Agentes: durante la creación del agente en la consola o especificando el `customerEncryptionKeyArn` campo en la llamada a la [CreateAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgent.html)API.
  + Trabajos de ingesta de fuentes de datos para las bases de conocimiento: durante la creación de la base de conocimientos en la consola o especificando el `kmsKeyArn` campo en la [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)llamada a la [UpdateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateDataSource.html)API.
  + Tiendas vectoriales en Amazon OpenSearch Service: durante la creación de tiendas vectoriales. Para obtener más información, consulta [Crear, publicar y eliminar colecciones de Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-manage.html) y [Cifrado de datos en reposo para Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html).
  + Trabajos de evaluación de modelos: cuando se crea un trabajo de evaluación de modelos en la consola o se especifica un ARN clave ` customerEncryptionKeyId` en la llamada a la [CreateEvaluationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateEvaluationJob.html)API.
+ A través de Amazon S3: para obtener más información, consulte [Uso del cifrado del lado del servidor con AWS KMS claves (SSE-KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)).
  + Datos de entrenamiento, validación y salida para la personalización del modelo
  + Orígenes de datos para bases de conocimientos
+ Mediante AWS Secrets Manager : para obtener más información, consulte Cifrado y descifrado [secretos](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) en AWS Secrets Manager
  + Almacenes vectoriales para modelos de terceros

Después de cifrar un recurso, puede encontrar el ARN de la clave KMS seleccionando un recurso y viendo sus **Detalles** en la consola o mediante las siguientes llamadas a la API `Get`.
+ [GetModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetModelCustomizationJob.html)
+ [GetAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetAgent.html)
+ [GetIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html)

# Cifrado de los modelos personalizados
<a name="encryption-custom-job"></a>

Amazon Bedrock utiliza los datos de entrenamiento con la [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)acción o con la [consola](model-customization-submit.md) para crear un modelo personalizado que es una versión mejorada de un modelo básico de Amazon Bedrock. Sus modelos personalizados son gestionados y almacenados por. AWS

Amazon Bedrock utiliza los datos de afinación que usted proporciona únicamente para afinar un modelo de Amazon Bedrock. Amazon Bedrock no utiliza los datos de afinación para ningún otro propósito. Sus datos de entrenamiento no se utilizan para entrenar los modelos básicos de Titan ni se distribuyen a terceros. Otros datos de uso, como las marcas de tiempo de uso, la cuenta IDs registrada y otra información registrada por el servicio, tampoco se utilizan para entrenar los modelos. 

Ninguno de los datos de entrenamiento o validación que proporcione para la afinación se almacena en Amazon Bedrock una vez finalizado el trabajo de afinación.

Tenga en cuenta que los modelos ajustados pueden reproducir algunos de los datos de afinación y, al mismo tiempo, generar finalizaciones. Si su aplicación no debe exponer datos de afinación de ningún tipo, primero deberá filtrar los datos confidenciales de los datos de entrenamiento. Si ya ha creado un modelo personalizado con datos confidenciales por error, puede eliminar ese modelo personalizado, filtrar la información confidencial de los datos de entrenamiento y, a continuación, crear un modelo nuevo.

Para cifrar modelos personalizados (incluidos los modelos copiados), Amazon Bedrock le ofrece dos opciones:

1. **Claves propiedad de AWS**— De forma predeterminada, Amazon Bedrock cifra los modelos personalizados con. Claves propiedad de AWS No puede ver, administrarClaves propiedad de AWS, usar ni auditar su uso. Sin embargo, no tiene que realizar ninguna acción ni cambiar ningún programa para proteger las claves que cifran sus datos. Para obtener más información, consulte [Claves propiedad de AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk) en la *Guía para desarrolladores de AWS Key Management Service*.

1. **Claves administradas por el cliente**: puede optar por cifrar los modelos personalizados con claves administradas por el cliente que administre usted mismo. Para obtener más informaciónAWS KMS keys, consulta [las claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) en la *Guía para AWS Key Management Service desarrolladores*.

**nota**  
Amazon Bedrock habilita automáticamente el cifrado en Claves propiedad de AWS reposo sin coste alguno. Si utiliza una clave gestionada por el cliente, se aplicarán AWS KMS cargos. Para obtener más información acerca de los precios, consulte [Precios de AWS Key Management Service](https://aws.amazon.com/kms/pricing/).

Para obtener más información al respectoAWS KMS, consulte la [Guía para AWS Key Management Service desarrolladores](https://docs.aws.amazon.com/kms/latest/developerguide/).

**Topics**
+ [Cómo utiliza Amazon Bedrock las subvenciones en AWS KMS](#encryption-br-grants)
+ [Creación de una clave administrada por el cliente y asociarle una política de claves](#encryption-key-policy)
+ [Permisos y políticas de claves para modelos personalizados y copiados](#encryption-cm-statements)
+ [Supervisión de las claves de cifrado para el servicio de Amazon Bedrock](#encryption-monitor-key)
+ [Cifrado de los datos de entrenamiento, validación y salida](#encryption-custom-job-data)

## Cómo utiliza Amazon Bedrock las subvenciones en AWS KMS
<a name="encryption-br-grants"></a>

Si especifica una clave gestionada por el cliente para cifrar un modelo personalizado para un trabajo de personalización o copia de modelos, Amazon Bedrock crea en su nombre una [concesión](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) de KMS **principal** asociada al modelo personalizado enviando una [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)solicitud a. AWS KMS Esta concesión permite a Amazon Bedrock acceder y utilizar su clave administrada por el cliente. Las concesiones entrantes se AWS KMS utilizan para dar a Amazon Bedrock acceso a una clave de KMS en la cuenta de un cliente.

Amazon Bedrock necesita la concesión principal para utilizar la clave administrada por el cliente para las siguientes operaciones internas:
+ Envíe [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)solicitudes AWS KMS para comprobar que la clave de KMS simétrica gestionada por el cliente que ingresó al crear el trabajo es válida.
+ Envíe [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)y [descifre](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) las solicitudes AWS KMS para generar claves de datos cifradas por la clave gestionada por el cliente y descifre las claves de datos cifradas para poder utilizarlas para cifrar los artefactos del modelo.
+ Envíe [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)solicitudes AWS KMS para crear concesiones secundarias con un alcance reducido con un subconjunto de las operaciones anteriores (`DescribeKey`,,`Decrypt`), `GenerateDataKey` para la ejecución asíncrona de la personalización del modelo, la copia del modelo o la creación del rendimiento aprovisionado.
+ Amazon Bedrock especifica un director que se jubila durante la creación de las subvenciones, para que el servicio pueda enviar una [RetireGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html)solicitud.

Tiene acceso total a su clave gestionada AWS KMS por el cliente. Puede revocar el acceso a la concesión siguiendo los pasos que se indican en los apartados de [retirada y revocación de concesiones](https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete) de la [Guía para desarrolladores de AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/) o eliminar el acceso del servicio a su clave administrada por el cliente en cualquier momento modificando la [política de claves](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html). Si lo hace, Amazon Bedrock no podrá acceder al modelo personalizado cifrado con su clave.

### Ciclo de vida de las concesiones principales y secundarias para los modelos personalizados
<a name="encryption-primary-secondary-grants"></a>
+ Las **concesiones principales** tienen una larga vida útil y permanecen activas mientras se sigan utilizando los modelos personalizados asociados. Cuando se elimina un modelo personalizado, la concesión principal correspondiente se retira automáticamente.
+ Las **concesiones secundarias** son de corta duración. Se retiran automáticamente en cuanto se completa la operación que Amazon Bedrock realiza en nombre de los clientes. Por ejemplo, una vez finalizado un trabajo de copia de un modelo, la concesión secundaria que permitió a Amazon Bedrock cifrar el modelo personalizado copiado se retirará inmediatamente.

## Creación de una clave administrada por el cliente y asociarle una política de claves
<a name="encryption-key-policy"></a>

Para cifrar un AWS recurso con una clave que usted cree y administre, lleve a cabo los siguientes pasos generales:

1. (Requisito previo) Asegúrese de que su función de IAM tenga permisos para la [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)acción.

1. Siga los pasos que se indican en [Creación de claves](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) para crear una clave gestionada por el cliente mediante la AWS KMS consola o la [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operación.

1. Al crear la clave, se obtiene un `Arn` para la clave que se puede utilizar para las operaciones que requieren el uso de la clave (por ejemplo, al [enviar un trabajo de personalización del modelo](model-customization-submit.md) o al [ejecutar una inferencia de modelo](inference-invoke.md)).

1. Cree y asocie una política de claves a la clave con los permisos necesarios. Para crear una política clave, sigue los pasos que se indican en [Crear una política clave](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html) en la Guía para AWS Key Management Service desarrolladores.

## Permisos y políticas de claves para modelos personalizados y copiados
<a name="encryption-cm-statements"></a>

Después de crear una clave de KMS, debe asociarle una política de claves. Las políticas de claves son [políticas basadas en recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) que se asocian a la clave administrada por el cliente para controlar el acceso a la misma. cliente o a su cuenta y región.Cada clave administrada por el cliente debe tener exactamente una política de clave, que contiene instrucciones que determinan quién puede usar la clave y cómo puede utilizarla. Cuando crea la clave administrada por el cliente, puede especificar una política de claves. Puede modificar la política de claves en cualquier momento, pero es posible que haya un pequeño decalaje hasta que el cambio esté disponible en AWS KMS. Para obtener más información, consulte [Administración del acceso a las claves](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#managing-access) en la [Guía para desarrolladores de AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/).

Las siguientes [acciones](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html#awskeymanagementservice-actions-as-permissions) de KMS se utilizan para las claves que cifran los modelos personalizados y copiados:

1. [kms: CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) — Crea una concesión para una clave gestionada por el cliente al permitir que el director del servicio Amazon Bedrock acceda a la clave de KMS especificada mediante [operaciones de concesión](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations). Para obtener más información sobre las concesiones, consulte [Concesiones en AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) en la [Guía para desarrolladores de AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/).
**nota**  
Amazon Bedrock también establece una entidad principal que se retira y elimina automáticamente la concesión cuando ya no se necesite.

1. [kms: DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) — Proporciona los detalles clave gestionados por el cliente para que Amazon Bedrock pueda validar la clave.

1. [kms: GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) — Proporciona los detalles clave gestionados por el cliente para permitir que Amazon Bedrock valide el acceso de los usuarios. Amazon Bedrock almacena el texto cifrado generado junto con el modelo personalizado para utilizarlo como comprobación de validación adicional frente a los usuarios del modelo personalizado.

1. [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html): descifra el texto cifrado almacenado para validar que el rol tiene el acceso adecuado a la clave de KMS que cifra el modelo personalizado.

Como práctica recomendada de seguridad, le recomendamos que incluya la clave de ViaService condición [kms:](https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-via-service) para limitar el acceso a la clave del servicio Amazon Bedrock.

Aunque solo puede asociar una política de claves a una clave, puede asociar varias instrucciones a la política de claves añadiendo instrucciones a la lista en el campo `Statement` de la política.

Las siguientes instrucciones son relevantes para cifrar modelos personalizados y copiados:

### Cifrado de un modelo
<a name="encryption-key-policy-encrypt"></a>

Para utilizar la clave administrada por el cliente para cifrar un modelo personalizado o copiado, incluya la siguiente instrucción en una política de claves para poder cifrar un modelo. En el campo `Principal`, añada las cuentas a las que desee permitir el cifrado y descifrado de la clave a la lista a la que se asigna el subcampo `AWS`. Si utiliza la clave de `kms:ViaService` condición, puede añadir una línea para cada región o utilizarla *\$1* en lugar de para permitir el acceso *\$1\$1region\$1* a todas las regiones que admiten Amazon Bedrock.

```
{
    "Sid": "PermissionsEncryptDecryptModel",
    "Effect": "Allow",
    "Principal": {
        "AWS": [
            "arn:aws:iam::${account-id}:role/${role}"
        ]
    },
    "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey",
        "kms:DescribeKey",
        "kms:CreateGrant"
    ],
    "Resource": "*",
    "Condition": {
        "StringLike": {
            "kms:ViaService": [
                "bedrock.${region}.amazonaws.com"
            ] 
        }
    }
}
```

### Otorgamiento de acceso a un modelo cifrado
<a name="encryption-key-policy-decrypt"></a>

Para permitir el acceso a un modelo cifrado con una clave de KMS, incluya la siguiente instrucción en una política de claves para permitir el descifrado de la clave. En el campo `Principal`, añada las cuentas a las que desee permitir el descifrado de la clave a la lista a la que se asigna el subcampo `AWS`. Si utiliza la clave de `kms:ViaService` condición, puede añadir una línea para cada región o utilizarla *\$1* en lugar de para permitir el acceso *\$1\$1region\$1* a todas las regiones que admiten Amazon Bedrock.

```
{
    "Sid": "PermissionsDecryptModel",
    "Effect": "Allow",
    "Principal": {
        "AWS": [
            "arn:aws:iam::${account-id}:role/${role}"
        ]
    },
    "Action": [
        "kms:Decrypt"
    ],
    "Resource": "*",
    "Condition": {
        "StringLike": {
            "kms:ViaService": [
                "bedrock.${region}.amazonaws.com"
            ] 
        }
    }
}
```

Para obtener más información sobre las políticas de claves que debe crear, amplíe la sección que se corresponda con su caso de uso:

### Configuración de los permisos de clave para cifrar modelos personalizados
<a name="encryption-cm"></a>

Si tiene previsto cifrar un modelo que va a personalizar con una clave de KMS, la política de claves de la clave dependerá de su caso de uso. Amplíe la sección que se corresponda con su caso de uso:

#### Los roles que personalizarán el modelo y los roles que invocarán el modelo son los mismos
<a name="encryption-cm-custom-invoke-same"></a>

Si los roles que invocarán el modelo personalizado son los mismos que los roles que personalizarán el modelo, solo necesitará la instrucción de [Cifrado de un modelo](#encryption-key-policy-encrypt). En el campo `Principal` de la siguiente plantilla de políticas, añada las cuentas a las que quiera permitir personalizar e invocar el modelo personalizado a la lista a la que se asigna el subcampo `AWS`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsCustomModelKey",
    "Statement": [
        {
            "Sid": "PermissionsEncryptCustomModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

#### Los roles que personalizarán el modelo y los roles que invocarán el modelo son diferentes
<a name="encryption-custom-invoke-different"></a>

Si los roles que invocarán el modelo personalizado son diferentes de los roles que personalizarán el modelo, necesitará la instrucción de [Cifrado de un modelo](#encryption-key-policy-encrypt) y de [Otorgamiento de acceso a un modelo cifrado](#encryption-key-policy-decrypt). Modifique las instrucciones en la siguiente plantilla de políticas de la siguiente manera:

1. La primera instrucción permite cifrar y descifrar la clave. En el campo `Principal`, añada las cuentas a las que desee permitir la personalización del modelo personalizado a la lista a la que se asigna el subcampo `AWS`.

1. La segunda instrucción solo permite descifrar la clave. En el campo `Principal`, añada las cuentas a las que solo quiera permitir invocar el modelo personalizado a la lista a la que se asigna el subcampo `AWS`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsCustomModelKey",
    "Statement": [
        {
            "Sid": "PermissionsEncryptCustomModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "PermissionsDecryptModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

### Configuración de los permisos de claves para cifrar modelos personalizados
<a name="encryption-copy"></a>

Cuando copia un modelo que le pertenece o que han compartido con usted, es posible que tenga que administrar hasta dos políticas de claves:

#### Política de claves para la clave que cifrará un modelo copiado
<a name="encryption-copied-model-key-policy"></a>

Si tiene previsto usar una clave de KMS para cifrar un modelo copiado, la política de claves de la clave dependerá de su caso de uso. Amplíe la sección que se corresponda con su caso de uso:

##### Los roles que copiará el modelo y los roles que invocará el modelo son los mismos
<a name="encryption-copied-model-copy-invoke-same"></a>

Si los roles que invocará el modelo copiado son los mismos que los roles que creará la copia del modelo, solo necesitará la instrucción de [Cifrado de un modelo](#encryption-key-policy-encrypt). En el campo `Principal` de la siguiente plantilla de políticas, añada las cuentas que desee permitir que copien e invoquen el modelo copiado a la lista a la que se asigna el subcampo `AWS`:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsCopiedModelKey",
    "Statement": [
        {
            "Sid": "PermissionsEncryptCopiedModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

##### Los roles que copiará el modelo y los roles que invocará el modelo son diferentes
<a name="encryption-copied-model-copy-invoke-different"></a>

Si los roles que invocará el modelo copiado son diferentes de los roles que creará la copia el modelo, necesitará la instrucción de [Cifrado de un modelo](#encryption-key-policy-encrypt) y de [Otorgamiento de acceso a un modelo cifrado](#encryption-key-policy-decrypt). Modifique las instrucciones en la siguiente plantilla de políticas de la siguiente manera:

1. La primera instrucción permite cifrar y descifrar la clave. En el campo `Principal`, añada las cuentas a las que desee permitir la creación del modelo copiado a la lista a la que se asigna el subcampo `AWS`.

1. La segunda instrucción solo permite descifrar la clave. En el campo `Principal`, añada las cuentas a las que solo desee permitir invocar el modelo copiado a la lista a la que se asigna el subcampo `AWS`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsCopiedModelKey",
    "Statement": [
        {
            "Sid": "PermissionsEncryptCopiedModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "PermissionsDecryptCopiedModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

#### Política de claves para la clave que cifra el modelo de origen que se va a copiar
<a name="encryption-copy-source-model-key-policy"></a>

Si el modelo de origen que va a copiar está cifrado con una clave de KMS, asocie la instrucción de [Otorgamiento de acceso a un modelo cifrado](#encryption-key-policy-decrypt) a la política de claves correspondiente a la clave que cifra el modelo de origen. Esta instrucción permite al rol de copia del modelo descifrar la clave que cifra el modelo de origen. En el campo `Principal` de la siguiente plantilla de políticas, añada las cuentas que desee permitir que copien el modelo de origen a la lista a la que se asigna el subcampo `AWS`:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsSourceModelKey",
    "Statement": [
        {
            "Sid": "PermissionsDecryptModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## Supervisión de las claves de cifrado para el servicio de Amazon Bedrock
<a name="encryption-monitor-key"></a>

Cuando utilizas una clave gestionada por el AWS KMS cliente con tus recursos de Amazon Bedrock, puedes utilizar [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)[Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) para realizar un seguimiento de las solicitudes a las que Amazon Bedrock envía. AWS KMS

El siguiente es un ejemplo de un AWS CloudTrail evento [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)para monitorear las operaciones de KMS al que Amazon Bedrock llamó para crear una concesión principal:

```
{
    "eventVersion": "1.09",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/RoleForModelCopy/SampleUser01",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/RoleForModelCopy",
                "accountId": "111122223333",
                "userName": "RoleForModelCopy"
            },
            "attributes": {
                "creationDate": "2024-05-07T21:46:28Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "bedrock.amazonaws.com"
    },
    "eventTime": "2024-05-07T21:49:44Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "bedrock.amazonaws.com",
    "userAgent": "bedrock.amazonaws.com",
    "requestParameters": {
        "granteePrincipal": "bedrock.amazonaws.com",
        "retiringPrincipal": "bedrock.amazonaws.com",
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
        "operations": [
            "Decrypt",
            "CreateGrant",
            "GenerateDataKey",
            "DescribeKey"
        ]
    },
    "responseElements": {
        "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": false,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

## Cifrado de los datos de entrenamiento, validación y salida
<a name="encryption-custom-job-data"></a>

Cuando utiliza Amazon Bedrock para ejecutar un trabajo de personalización de modelos, almacena los archivos de entrada en su bucket de Amazon S3. Cuando se completa el trabajo, Amazon Bedrock almacena los archivos de métricas de salida en el depósito de S3 que especificó al crear el trabajo y los artefactos del modelo personalizado resultantes en un depósito de S3 controlado por. AWS

Los archivos de salida se cifran con las configuraciones de cifrado del bucket de S3. Se cifran con el [cifrado del servidor SSE-S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html) o con el [cifrado de SSE-KMS de AWS KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html), según cómo se configure el bucket de S3.

# Cifrado de modelos personalizados importados
<a name="encryption-import-model"></a>

Amazon Bedrock admite la creación de modelos personalizados mediante dos métodos que utilizan el mismo enfoque de cifrado. Sus modelos personalizados son gestionados y almacenados porAWS:
+ **Trabajos de importación de modelos personalizados**: para importar modelos fundacionales personalizados de código abierto (como modelos Mistral AI o Llama).
+ **Crear un modelo personalizado**: para importar modelos de Amazon Nova que haya personalizado en SageMaker IA.

Para el cifrado de sus modelos personalizados, Amazon Bedrock ofrece las siguientes opciones: 
+ **AWSclaves propias**: de forma predeterminada, Amazon Bedrock cifra los modelos personalizados importados con claves AWS propias. No puede ver, administrar ni usar las claves AWS propias, ni auditar su uso. Sin embargo, no tiene que realizar ninguna acción ni cambiar ningún programa para proteger las claves que cifran sus datos. Para obtener más información, consulte [Claves propiedad de AWS](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#aws-owned-cmk) en la *Guía para desarrolladores de AWS Key Management Service*.
+ **Claves administradas por el cliente (CMK)**: puede optar por añadir una segunda capa de cifrado a las claves de cifrado AWS propias existentes si elige una clave administrada por el cliente (CMK). Usted crea, posee y administra sus claves administradas por el cliente.

   Como usted tiene el control total de esta capa de cifrado, podrá realizar las siguientes tareas en ella: 
  + Establecer y mantener políticas de claves.
  + Establecer y mantener políticas y concesiones de IAM.
  + Habilitar y deshabilitar políticas de claves.
  + Rotar el material criptográfico.
  + Agregar etiquetas.
  + Crear alias de claves.
  + Programar la eliminación de claves.

  Para obtener más información, consulte [claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) en la *Guía para desarrolladores de AWS Key Management Service*.

**nota**  
Para todos los modelos personalizados que importe, Amazon Bedrock habilita automáticamente el cifrado en reposo mediante claves AWS propias para proteger los datos de los clientes sin coste alguno. Si utiliza una clave gestionada por el cliente, se aplicarán AWS KMS cargos. Para obtener más información sobre los precios, consulte [Precios de AWS Key Management Service](https://docs.aws.amazon.com/).

## Cómo utiliza Amazon Bedrock las subvenciones en AWS KMS
<a name="import-model-kms-grants"></a>

Si especifica una clave administrada por el cliente para cifrar el modelo importado, Amazon Bedrock crea una AWS KMS [subvención](https://docs.aws.amazon.com/) **principal** asociada al modelo importado en su nombre enviando una [CreateGrant](https://docs.aws.amazon.com//kms/latest/APIReference/API_CreateGrant.html)solicitud aAWS KMS. Esta concesión permite a Amazon Bedrock acceder y utilizar su clave administrada por el cliente. Las concesiones entrantes se AWS KMS utilizan para dar a Amazon Bedrock acceso a una clave de KMS en la cuenta de un cliente.

Amazon Bedrock necesita la concesión principal para utilizar la clave administrada por el cliente para las siguientes operaciones internas:
+ Envíe [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)solicitudes AWS KMS para comprobar que la clave de KMS simétrica gestionada por el cliente que ingresó al crear el trabajo es válida.
+ Envíe [GenerateDataKey](https://docs.aws.amazon.com//kms/latest/APIReference/API_GenerateDataKey.html)y [descifre](https://docs.aws.amazon.com//kms/latest/APIReference/API_Decrypt.html) las solicitudes AWS KMS para generar claves de datos cifradas por la clave gestionada por el cliente y descifre las claves de datos cifradas para poder utilizarlas para cifrar los artefactos del modelo.
+ Envíe [CreateGrant](https://docs.aws.amazon.com//kms/latest/APIReference/API_CreateGrant.html)solicitudes AWS KMS para crear concesiones secundarias con un alcance reducido con un subconjunto de las operaciones anteriores (`DescribeKey`,,`Decrypt`)`GenerateDataKey`, para la ejecución asíncrona de la importación de modelos y para la inferencia bajo demanda. 
+ Amazon Bedrock especifica un director que se jubila durante la creación de las subvenciones, para que el servicio pueda enviar una [RetireGrant](https://docs.aws.amazon.com//kms/latest/APIReference/API_RetireGrant.html)solicitud.

Tiene acceso total a su clave gestionada AWS KMS por el cliente. Puede revocar el acceso a la concesión siguiendo los pasos que se indican en los apartados [Retirada y revocación de concesiones](https://docs.aws.amazon.com//kms/latest/developerguide/grant-manage.html#grant-delete) de la *Guía para desarrolladores de AWS Key Management Service* o eliminar el acceso del servicio a su clave administrada por el cliente en cualquier momento modificando la política de claves. Si lo hace, Amazon Bedrock no podrá acceder al modelo importado cifrado con su clave.

### Ciclo de vida de las concesiones principales y secundarias para los modelos importados personalizados
<a name="import-model-kms-grants-lifecycle"></a>
+ Las **concesiones principales** tienen una larga vida útil y permanecen activas mientras se sigan utilizando los modelos personalizados asociados. Cuando se elimina un modelo importado personalizado, la concesión principal correspondiente se retira automáticamente.
+ Las **concesiones secundarias** son de corta duración. Se retiran automáticamente en cuanto se completa la operación que Amazon Bedrock realiza en nombre de los clientes. Por ejemplo, una vez finalizado un trabajo de importación de un modelo personalizado, la concesión secundaria que permitió a Amazon Bedrock cifrar el modelo importado personalizado se retirará inmediatamente.

# Uso de claves administradas por el cliente (CMK)
<a name="import-model-using-cmk"></a>

Si tiene previsto usar una clave administrada por el cliente para cifrar su modelo importado personalizado, complete los siguientes pasos:

1. Cree una clave de administrada por el cliente con el AWS Key Management Service.

1. Asocie una [política basada en recursos](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_identity-vs-resource.html) con permisos a los roles especificados a fin de crear y usar modelos importados personalizados.

**Creación de una clave administrada por el cliente**

Primero, asegúrese de tener permisos `CreateKey`. A continuación, siga los pasos de [creación de claves](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) para crear claves administradas por el cliente en la AWS KMS consola o en la operación de la [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)API. Asegúrese de crear una clave de cifrado simétrica.

Al crear la clave, se obtiene un `Arn` para la clave que puede utilizar como el `importedModelKmsKeyId ` al importar un modelo personalizado con la importación de modelos personalizados.

**Creación de una política de claves y asociación a la clave administrada por el cliente**

Las políticas de claves son [políticas basadas en recursos](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_identity-vs-resource.html) que se asocian a la clave administrada por el cliente para controlar el acceso a la misma. cliente o a su cuenta y región.Cada clave administrada por el cliente debe tener exactamente una política de clave, que contiene instrucciones que determinan quién puede usar la clave y cómo puede utilizarla. Cuando crea la clave administrada por el cliente, puede especificar una política de claves. Puede modificar la política de claves en cualquier momento, pero es posible que haya un pequeño decalaje hasta que el cambio esté disponible en AWS KMS. Para obtener más información, consulte [Administración del acceso a las claves administradas por el cliente](https://docs.aws.amazon.com//kms/latest/developerguide/control-access-overview.html#managing-access) en la *Guía para desarrolladores de AWS Key Management Service*.

**Cifrado de un modelo personalizado importado**

Para utilizar la clave gestionada por el cliente para cifrar un modelo personalizado importado, debe incluir las siguientes AWS KMS operaciones en la política de claves:
+ [kms: CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) — crea una concesión para una clave gestionada por el cliente al permitir que el director del servicio Amazon Bedrock acceda a la clave de KMS especificada mediante [operaciones de concesión](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations). Para obtener más información sobre las concesiones, consulte [Grants in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) en la *Guía para desarrolladores de AWS Key Management Service*.
**nota**  
Amazon Bedrock también establece una entidad principal que se retira y elimina automáticamente la concesión cuando ya no se necesite.
+ [kms: DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) — proporciona los detalles clave gestionados por el cliente para que Amazon Bedrock pueda validar la clave.
+ [kms: GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) — Proporciona los detalles clave gestionados por el cliente para permitir que Amazon Bedrock valide el acceso de los usuarios. Amazon Bedrock almacena el texto cifrado generado junto con el modelo personalizado para utilizarlo como comprobación de validación adicional frente a los usuarios del modelo personalizado.
+ [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html): descifra el texto cifrado almacenado para validar que el rol tiene el acceso adecuado a la clave de KMS que cifra el modelo personalizado.

El siguiente es un ejemplo de política que puede asociar a una clave de un rol y que utilizará para cifrar los modelos personalizados que importa:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS key policy for a key to encrypt an imported custom model",
    "Statement": [
        {
            "Sid": "Permissions for model import API invocation role",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/role"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**Descifrado de un modelo personalizado importado cifrado**

Si va a importar un modelo personalizado que ya ha sido cifrado por otra clave administrada por el cliente, debe añadir permisos `kms:Decrypt` para el mismo rol, tal y como se indica en la siguiente política:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS key policy for a key that encrypted a custom imported model",
    "Statement": [
        {
            "Sid": "Permissions for model import API invocation role",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/role"
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# Supervisión de las claves de cifrado para el servicio de Amazon Bedrock
<a name="import-model-monitor-encryption-keys"></a>

Cuando utilizas una clave gestionada por el AWS KMS cliente con tus recursos de Amazon Bedrock, puedes utilizar [AWS CloudTrail](https://docs.aws.amazon.com//awscloudtrail/latest/userguide/cloudtrail-user-guide.html)[Amazon CloudWatch Logs](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) para realizar un seguimiento de las solicitudes a las que Amazon Bedrock envía. AWS KMS

El siguiente es un ejemplo de AWS CloudTrail evento [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)para supervisar AWS KMS las operaciones convocadas por Amazon Bedrock para crear una subvención principal:

```
{
"eventVersion": "1.09",
    "userIdentity": {
"type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/RoleForModelImport/SampleUser01",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLE",
        "sessionContext": {
"sessionIssuer": {
"type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/RoleForModelImport",
                "accountId": "111122223333",
                "userName": "RoleForModelImport"
            },
            "attributes": {
"creationDate": "2024-05-07T21:46:28Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "bedrock.amazonaws.com"
    },
    "eventTime": "2024-05-07T21:49:44Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "bedrock.amazonaws.com",
    "userAgent": "bedrock.amazonaws.com",
    "requestParameters": {
"granteePrincipal": "bedrock.amazonaws.com",
        "retiringPrincipal": "bedrock.amazonaws.com",
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
        "operations": [
            "Decrypt",
            "CreateGrant",
            "GenerateDataKey",
            "DescribeKey"
        ]
    },
    "responseElements": {
"grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": false,
    "resources": [
        {
"accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

Para asociar la siguiente política basada en recursos a la clave de KMS, siga los pasos que se describen en [Creación de una política de claves](https://docs.aws.amazon.com//kms/latest/developerguide/key-policy-overview.html). La siguiente política contiene dos instrucciones.

1. Permisos para que un rol cifre los artefactos de personalización del modelo. Agregue al `Principal` campo ARNs las funciones de creación de modelos personalizadas importadas.

1. Permisos para que un rol utilice el modelo personalizado importado en la inferencia. Agregue ARNs al `Principal` campo roles de usuario de modelos personalizados importados.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS Key Policy",
    "Statement": [
        {
            "Sid": "Permissions for imported model builders",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/role"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Permissions for imported model users",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/role"
            },
            "Action": "kms:Decrypt",
            "Resource": "*"
        }
    ]
}
```

------

# Cifrado en la automatización Amazon Bedrock de datos
<a name="encryption-bda"></a>

 Amazon BedrockLa automatización de datos (BDA) utiliza el cifrado para proteger los datos en reposo. Esto incluye los esquemas, los proyectos y la información extraída que almacena el servicio. BDA ofrece dos opciones para cifrar los datos: 

1. AWSclaves propias: de forma predeterminada, BDA cifra los datos con claves AWS propias. No puede ver, administrar ni usar las claves AWS propias, ni auditar su uso. Sin embargo, no tiene que realizar ninguna acción ni cambiar ningún programa para proteger las claves que cifran sus datos. Para obtener más información, consulte [las claves AWS propias](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk) en la Guía AWS para desarrolladores del Servicio de administración de claves. 

1.  Claves administradas por el cliente: puede optar por cifrar los modelos personalizados con claves administradas por el cliente que administre usted mismo. Para obtener más información sobre AWS KMS las claves, consulte las [claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) en la Guía AWS para desarrolladores del Servicio de administración de claves. BDA no admite el uso de claves administradas por el cliente en la consola de Amazon Bedrock, solo para las operaciones de la API. 

Amazon BedrockLa automatización de datos permite automáticamente el cifrado en reposo mediante claves AWS propias sin coste alguno. Si utilizas una clave gestionada por el cliente, se aplicarán AWS KMS cargos. Para obtener más información sobre los precios, consulta AWS KMS [los precios](https://aws.amazon.com/kms/pricing/). 

## ¿Cómo se Amazon Bedrock utilizan las subvenciones en AWS KMS
<a name="encryption-bda-grants"></a>

 Si especificas una clave gestionada por el cliente para el cifrado de tu BDA al llamar a invokeDataAutomation Async, el servicio crea una concesión asociada a tus recursos en tu nombre enviando una CreateGrant solicitud a. AWS KMS Esta concesión permite a BDA acceder y utilizar su clave administrada por el cliente. 

 BDA necesita la concesión para utilizar la clave administrada por el cliente para las siguientes operaciones internas: 
+ DescribeKey — Envíe solicitudes AWS KMS para comprobar que el identificador de AWS KMS clave simétrico gestionado por el cliente que ha proporcionado es válido.
+ GenerateDataKey y descifrar: envíe solicitudes AWS KMS para generar claves de datos cifradas con la clave gestionada por el cliente y descifre las claves de datos cifradas para poder utilizarlas para cifrar sus recursos.
+ CreateGrant — Envíe solicitudes AWS KMS para crear subvenciones reducidas con un subconjunto de las operaciones anteriores (DescribeKey,, descifrar) GenerateDataKey, para la ejecución asíncrona de las operaciones.

 Tiene acceso total a su clave gestionada por el cliente. AWS KMS Puede revocar el acceso a la concesión siguiendo los pasos que se indican en los apartados de retirada y revocación de concesiones de la Guía para desarrolladores de AWS KMS o eliminar el acceso del servicio a su clave administrada por el cliente en cualquier momento modificando la política de claves. Si lo hace, BDA no podrá acceder a los recursos cifrados con su clave. 

Si inicia una nueva llamada invokeDataAutomation asíncrona después de revocar una concesión, BDA volverá a crearla. BDA retira las concesiones después de 30 horas. 

## Creación de una clave administrada por el cliente y asociación de una política de claves
<a name="encryption-bda-creating-keys"></a>

 Para cifrar recursos de BDA con una clave que ha creado y administrado, debe seguir estos pasos generales: 

1.  (Requisito previo) Asegúrese de que su función de IAM tenga permisos para la acción. CreateKey 

1.  Siga los pasos que se indican en [Creación de claves](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) para crear una clave gestionada por el cliente mediante la AWS KMS consola o la CreateKey operación. 

1.  La creación de la clave devuelve un ARN que puede utilizar para las operaciones que requieren el uso de la clave (por ejemplo, al crear un proyecto o un plano en BDA), como la invokeDataAutomation operación asíncrona. 

1.  Cree y asocie una política de claves a la clave con los permisos necesarios. Para crear una política clave, siga los pasos que se indican en la sección [Creación de una política clave](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-create.html) de la Guía para desarrolladores. AWS KMS 

## Permisos y políticas clave para Amazon Bedrock los recursos de automatización de datos
<a name="encryption-bda-key-policies.title"></a>

 Después de crear una AWS KMS clave, se le adjunta una política de claves. Las siguientes acciones de AWS KMS se utilizan para las claves que cifran los recursos de BDA:

1.  kms:CreateGrant — Crea una concesión para una clave gestionada por el cliente al permitir que el servicio de BDA acceda a la AWS KMS clave especificada mediante las operaciones de concesión necesarias para ello InvokeDataAutomationAsync. 

1.  kms:DescribeKey — Proporciona los detalles de la clave gestionada por el cliente para que BDA pueda validarla. 

1.  kms:GenerateDataKey — Proporciona los detalles clave gestionados por el cliente para que BDA pueda validar el acceso de los usuarios. 

1.  kms:Descifrar: descifra el texto cifrado almacenado para validar que el rol tiene el acceso adecuado a la AWS KMS clave que cifra los recursos de BDA. 

**Política de claves para Automatización de Datos de Amazon Bedrock**

 Para utilizar la clave administrada por el cliente para cifrar los recursos de BDA, incluya las siguientes instrucciones en su política de claves y sustituya `${account-id}`, `${region}` y `${key-id}` por sus valores específicos:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS key policy for a key to encrypt data for BDA resource",
    "Statement": [
        {
            "Sid": "Permissions for encryption of data for BDA resources",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/Role"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

**Permisos de rol de IAM**

El rol de IAM utilizado para interactuar con BDA AWS KMS debe tener los siguientes permisos `${region}``${account-id}`, sustitutos y `${key-id}` con sus valores específicos:

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

****  

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

------

## Contexto de cifrado de Automatización de Amazon Bedrock
<a name="encryption-bda-context"></a>

BDA utiliza el mismo contexto de cifrado en todas las operaciones AWS KMS criptográficas, donde la clave está `aws:bedrock:data-automation-customer-account-id` y el valor es el ID de su AWS cuenta. A continuación, se muestra un ejemplo de contexto cifrado.

```
"encryptionContext": {
     "bedrock:data-automation-customer-account-id": "account id"
}
```

**Uso del contexto de cifrado para la supervisión**  
Si utiliza una clave simétrica administrada por el cliente para cifrar los datos, también puede utilizar el contexto de cifrado en los registros y registros de auditoría para identificar cómo se está utilizando la clave administrada por el cliente. El contexto de cifrado también aparece en los registros generados por AWS CloudTrail Amazon CloudWatch Logs.

**Utilizar el contexto de cifrado para controlar el acceso a la clave administrada por el cliente**  
Puede utilizar el contexto de cifrado en políticas de claves y políticas de IAM como condiciones para controlar el acceso a su clave simétrica administrada por el cliente. Puede usar también una restricción de contexto de cifrado en una concesión. BDA utiliza el contexto de cifrado para restringir las concesiones que permiten el acceso a la clave administrada por el cliente en su cuenta o región. La restricción de concesión requiere que las operaciones que permite la concesión utilicen el contexto de cifrado especificado. 

Los siguientes son ejemplos de declaraciones de política de claves para conceder acceso a una clave administrada por el cliente para un contexto de cifrado específico. La condición de esta declaración de política exige que las concesiones tengan una restricción de contexto de cifrado que especifique el contexto de cifrado.

```
[
    {
        "Sid": "Enable DescribeKey, Decrypt, GenerateDataKey",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::111122223333:role/ExampleRole"
        },
        "Action": ["kms:DescribeKey", "kms:Decrypt", "kms:GenerateDataKey"],
        "Resource": "*"
    },
    {
        "Sid": "Enable CreateGrant",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::111122223333:role/ExampleRole"
        },
        "Action": "kms:CreateGrant",
        "Resource": "*",
        "Condition": {
            "StringLike": {
                "kms:EncryptionContext:aws:bedrock:data-automation-customer-account-id": "111122223333"
            },
            "StringEquals": {
                "kms:GrantOperations": ["Decrypt", "DescribeKey", "GenerateDataKey"]
            }
        }
    }
]
```

## Supervisión de sus claves de cifrado para la automatización Amazon Bedrock de datos
<a name="encryption-bda-monitoring"></a>

 Cuando utiliza una clave gestionada por el AWS KMS cliente con sus recursos de automatización de Amazon Bedrock datos, puede utilizar [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)o [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)realizar un seguimiento de las solicitudes que envía Amazon Bedrock Data AutomationAWS KMS. El siguiente es un ejemplo de AWS CloudTrail evento [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)para monitorear AWS KMS las operaciones solicitadas por Amazon Bedrock Data Automation para crear una subvención principal: 

```
{
    "eventVersion": "1.09",
        "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/RoleForDataAutomation/SampleUser01",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLE",
        "sessionContext": {
        "sessionIssuer": {
        "type": "Role",
        "principalId": "AROAIGDTESTANDEXAMPLE",
        "arn": "arn:aws:iam::111122223333:role/RoleForDataAutomation",
        "accountId": "111122223333",
        "userName": "RoleForDataAutomation"
        },
        "attributes": {
        "creationDate": "2024-05-07T21:46:28Z",
        "mfaAuthenticated": "false"
    }
    },
    "invokedBy": "bedrock.amazonaws.com"
    },
    "eventTime": "2024-05-07T21:49:44Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "bedrock.amazonaws.com",
    "userAgent": "bedrock.amazonaws.com",
    "requestParameters": {
    "granteePrincipal": "bedrock.amazonaws.com",
    "retiringPrincipal": "bedrock.amazonaws.com",
    "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
     "constraints": {
            "encryptionContextSubset": {
                "aws:bedrock:data-automation-customer-account-id": "000000000000"
            }
        },
    "operations": [
    "Decrypt",
    "CreateGrant",
    "GenerateDataKey",
    "DescribeKey"
    ]
    },
    "responseElements": {
    "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
    "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": false,
    "resources": [
    {
    "accountId": "111122223333",
    "type": "AWS::KMS::Key",
    "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

# Cifrado de los recursos de los agentes
<a name="encryption-agents-new"></a>

El cifrado de los datos en reposo de forma predeterminada ayuda a reducir la sobrecarga operativa y la complejidad que implica la protección de los datos confidenciales. Al mismo tiempo, le permite crear aplicaciones seguras que cumplen con los estrictos requisitos normativos y de conformidad con el cifrado.

Amazon Bedrock utiliza claves predeterminadas propiedad de AWS para cifrar automáticamente la información del agente. Esto incluye los datos del plano de control y los datos de la sesión. No puede ver, administrar ni auditar el uso de las claves que sean propiedad de AWS. Para obtener más información, consulte [Claves propiedad de AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk). 

Aunque no puede deshabilitar esta capa de cifrado, puede optar por utilizar claves administradas por el cliente en lugar de claves propiedad de AWS para cifrar la información del agente. Amazon Bedrock admite el uso de claves simétricas administradas por el cliente (CMK) que puede crear, poseer y administrar en lugar del cifrado predeterminado propiedad de AWS. Para obtener más información, consulte [Claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk).

**importante**  
Amazon Bedrock cifra automáticamente la información de la sesión del agente mediante claves propiedad de AWS sin costo alguno.
Se aplicarán cargos de AWS KMS cuando utilice una clave administrada por el cliente. Para obtener más información acerca de los precios, consulte [Precios de AWS Key Management Service](https://aws.amazon.com/kms/pricing/).
Si creó su agente *antes* del 22 de enero de 2025 y desea utilizar la clave administrada por el cliente para cifrar los recursos del agente, siga las instrucciones de [Cifrado de los recursos del agente para agentes creados antes del 22 de enero de 2025](encryption-agents.md).

# Cifrado de los recursos del agente con claves administradas por el cliente (CMK)
<a name="cmk-agent-resources"></a>

Puede crear en cualquier momento una clave administrada por el cliente para cifrar la información de su agente utilizando la siguiente información sobre el agente proporcionada al crear el agente.

**nota**  
Los siguientes recursos de agentes solo se cifrarán para los agentes creados después del 22 de enero de 2025.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/bedrock/latest/userguide/cmk-agent-resources.html)

Para usar una clave administrada por el cliente, siga estos pasos:

1. Cree una clave de administrada por el cliente con el AWS Key Management Service.

1. Cree una política de claves y asóciela a la clave administrada por el cliente.

## Creación de una clave administrada por el cliente
<a name="create-cmk-agent"></a>

Puede crear una clave simétrica gestionada por el cliente mediante la consola AWS de administración o la AWS Key Management Service APIs. 

 En primer lugar, asegúrese de que tiene los permisos de `CreateKey` necesarios y, a continuación, siga los pasos que se indican en [Creación de una clave simétrica administrada por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) en la *Guía para desarrolladores de AWS Key Management Service *.

**Política de claves**: las políticas de claves controlan el acceso a la clave administrada por el cliente. cliente o a su cuenta y región.Cada clave administrada por el cliente debe tener exactamente una política de clave, que contiene instrucciones que determinan quién puede usar la clave y cómo puede utilizarla. Cuando crea la clave administrada por el cliente, puede especificar una política de clave. Para obtener más información, consulte [Administración del acceso a las claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) en la *Guía para desarrolladores de AWS Key Management Service *.

Si ha creado su agente después del 22 de enero de 2025 y quiere utilizar una clave administrada por el cliente para cifrar la información del agente, asegúrese de que el usuario o el rol que llama a las operaciones de la API del agente tenga los siguientes permisos en la política de claves:
+ [kms: GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) — devuelve una clave de datos simétrica única para usarla fuera de AWS KMS.
+ [KMS:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html): descifra texto cifrado con una clave de KMS.

Al crear la clave, se devuelve un `Arn` para la clave que puede utilizar como `customerEncryptionKeyArn` al crear el agente. 

## Creación de una política de claves y asociación a la clave administrada por el cliente
<a name="attach-policy-agent"></a>

Si cifra los recursos del agente con una clave administrada por el cliente, debe configurar una política basada en identidades y una política basada en recursos para que Amazon Bedrock pueda cifrar y descifrar los recursos del agente en su nombre.

**Política basada en la identidad**

Adjunte la siguiente política basada en la identidad a un rol o usuario de IAM con permisos para realizar llamadas a un agente APIs que cifra y descifra los recursos del agente en su nombre. Esta política valida que el usuario que realiza la llamada a la API tiene permisos. AWS KMS Sustituya los campos `${region}`, `${account-id}`, `${agent-id}` y `${key-id}` por los valores adecuados.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EncryptAgents",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/${agent-id}"
                }
            }
        }
    ]
}
```

------

**Política basada en recursos**

Adjunte la siguiente política basada en recursos a su AWS KMS clave *solo* si va a crear grupos de acciones en los que el esquema de Amazon S3 esté cifrado. No necesita asociar una política basada en recursos para ningún otro caso de uso.

Para asociar la siguiente política basada en recursos, cambie el alcance de los permisos según sea necesario y sustituya `${region}`, `${account-id}`, `${agent-id}` y `${key-id}` por los valores adecuados.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow account root to modify the KMS key, not used by Amazon Bedrock.",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}"
        },
        {
            "Sid": "Allow Amazon Bedrock to encrypt and decrypt Agent resources on behalf of authorized users",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/${agent-id}"
                }
            }
        }
    ]
}
```

------

## Modificación de la clave administrada por el cliente
<a name="change-cmk"></a>

Los agentes de Amazon Bedrock no admiten el recrifrado de los agentes versionados cuando se cambia la clave gestionada por el cliente asociada al agente *DRAFT* o cuando se pasa de una clave gestionada por el cliente a AWS una clave propia. Con la nueva clave, solo se volverán a cifrar los datos del recurso *DRAFT*.

Asegúrese de no eliminar ni quitar los permisos de ninguna clave de un agente con control de versiones si lo utiliza para entregar datos de producción.

Para ver y verificar las claves que utiliza una versión, llama [GetAgentVersion](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_GetAgentVersion.html)y compruébalo `customerEncryptionKeyArn` en la respuesta.

# Cifrado de las sesiones de los agentes con una clave administrada por el cliente (CMK)
<a name="ltm-permissions"></a>

Si ha activado la memoria para el agente y cifra las sesiones del agente con una clave administrada por el cliente, debe configurar la siguiente política de claves y los permisos de IAM de la identidad de llamada para configurar la clave administrada por el cliente.

**Política de claves administradas por el cliente**

Amazon Bedrock utiliza estos permisos para generar claves de datos cifradas y, a continuación, utiliza las claves generadas para cifrar la memoria del agente. Amazon Bedrock también necesita permisos para volver a cifrar la clave de datos generada con distintos contextos de cifrado. Los permisos de recifrado también se utilizan cuando una clave administrada por el cliente pasa de una clave administrada por el cliente a otra clave administrada por el cliente o una clave propiedad del servicio. Para obtener más información, consulte [Hierarchical Keyring](https://docs.aws.amazon.com//database-encryption-sdk/latest/devguide/use-hierarchical-keyring.html).

Sustituya `$region`, `account-id` y `${caller-identity-role}` por los valores adecuados.

```
{
    "Version": "2012-10-17",		 	 	 
    {
        "Sid": "Allow access for bedrock to enable long term memory",
        "Effect": "Allow",
        "Principal": {
            "Service": [
                "bedrock.amazonaws.com",
            ],
        },
        "Action": [
            "kms:GenerateDataKeyWithoutPlainText",
            "kms:ReEncrypt*"
        ],
        "Condition": {
            "StringEquals": {
                "aws:SourceAccount": "$account-id"
            },
            "ArnLike": {
                "aws:SourceArn": "arn:aws:bedrock:$region:$account-id:agent-alias/*"
            }
        }
        "Resource": "*"
    },
    {
        "Sid": "Allow the caller identity control plane permissions for long term memory",
        "Effect": "Allow", 
        "Principal": {
            "AWS": "arn:aws:iam::${account-id}:role/${caller-identity-role}"
        },
        "Action": [
            "kms:GenerateDataKeyWithoutPlainText",
            "kms:ReEncrypt*"
        ],
        "Resource": "*",
        "Condition": {
            "StringLike": {
                "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:${region}:${account-id}:agent-alias/*"
            }
        }
    },
    {
        "Sid": "Allow the caller identity data plane permissions to decrypt long term memory",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::${account-id}:role/${caller-identity-role}"
        },
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": "*",
        "Condition": {
            "StringLike": {
                "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:${region}:${account-id}:agent-alias/*",
                "kms:ViaService": "bedrock.$region.amazonaws.com" 
            }
        }
    }
}
```

**Permisos de IAM para cifrar y descifrar la memoria del agente**

Los siguientes permisos de IAM se necesitan para que la API de agentes que invoca la identidad configure la clave de KMS para los agentes con la memoria activada. Los agentes de Amazon Bedrock utilizan estos permisos para asegurarse de que la identidad de la persona que llama está autorizada a tener los permisos mencionados en la política clave anterior APIs para gestionar, entrenar e implementar modelos. Para los agentes APIs que invocan, el agente de Amazon Bedrock utiliza los `kms:Decrypt` permisos de la identidad de la persona que llama para descifrar la memoria.

Sustituya `$region`, `account-id` y `${key-id}` por los valores adecuados.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AgentsControlPlaneLongTermMemory",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKeyWithoutPlaintext", 
                "kms:ReEncrypt*"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
            "Condition": {
                "StringLike": {
                    "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent-alias/*"
                }
            }
        },
        {
            "Sid": "AgentsDataPlaneLongTermMemory",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
            "Condition": {
                "StringLike": {
                    "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent-alias/*"
                }
            }
        }
    ]
}
```

------

# Prácticas recomendadas de seguridad preventivas para los agentes
<a name="security-best-practice-agents"></a>

Las siguientes prácticas recomendadas para el servicio Amazon Bedrock le pueden ser de utilidad para prevenir incidentes de seguridad:

**Use conexiones seguras**

Utilice siempre conexiones cifradas, como las que se utilizan al principio de `https://` para proteger la información confidencial en tránsito.

**Implementación del acceso a los recursos con privilegios mínimos**

Al crear políticas personalizadas para recursos de Amazon Bedrock, conceda solo los permisos necesarios para llevar a cabo una tarea. Es más seguro comenzar con un conjunto mínimo de permisos y conceder permisos adicionales según sea necesario. La implementación del acceso con privilegios mínimos es esencial a la hora de reducir los riesgos de seguridad y el impacto que podrían causar los errores o los intentos malintencionados. Para obtener más información, consulte [Administración de identidades y accesos para Amazon Bedrock](security-iam.md).

**No incluya información de identificación personal en ninguno de los recursos del agente que contengan datos de clientes**

Al crear, actualizar y eliminar los recursos de los agentes (por ejemplo, al usarlos [CreateAgent](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_CreateAgent.html)), no incluya información de identificación personal (PII) en ningún campo que no admita el uso de claves administradas por el cliente, como los nombres de los grupos de acción y los nombres de las bases de conocimientos. Para ver la lista de campos que admiten el uso de claves administradas por el cliente, consulte [Cifrado de los recursos del agente con claves administradas por el cliente (CMK)](cmk-agent-resources.md)

# Cifrado de los recursos del agente para agentes creados antes del 22 de enero de 2025
<a name="encryption-agents"></a>

**importante**  
Si ha creado su agente *después del* 22 de enero de 2025, siga las instrucciones de [Cifrado de los recursos de los agentes](encryption-agents-new.md).

Amazon Bedrock cifra la información de la sesión de su agente. De forma predeterminada, Amazon Bedrock cifra estos datos mediante una clave AWS gestionada. Si lo desea, puede cifrar los artefactos del agente mediante una clave administrada por el cliente.

Para obtener más informaciónAWS KMS keys, consulte [las claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) en la Guía *AWS Key Management Servicepara desarrolladores*.

Si cifra las sesiones con su agente con una clave de KMS personalizada, debe configurar la siguiente política basada en identidades y la política basada en recursos para que Amazon Bedrock pueda cifrar y descifrar los recursos del agente en su nombre.

1. Asocie la siguiente política basada en identidades a un usuario o rol de IAM con permisos para realizar llamadas `InvokeAgent`. Esta política valida que el usuario que realice una llamada `InvokeAgent` tenga permisos de KMS. Sustituya los campos *\$1\$1region\$1*, *\$1\$1account-id\$1*, *\$1\$1agent-id\$1* y *\$1\$1key-id\$1* por los valores adecuados.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "EncryptDecryptAgents",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/agent-id"
                   }
               }
           }
       ]
   }
   ```

------

1. Asocie la siguiente política basada en recursos a su clave KMS. Cambie el alcance de los permisos según sea necesario. Sustituya los campos *\$1\$1region\$1*, *\$1\$1account-id\$1*, *\$1\$1agent-id\$1* y *\$1\$1key-id\$1* por los valores adecuados.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowRootModifyKMSKey",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:root"
               },
               "Action": "kms:*",
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
           },
           {
               "Sid": "AllowBedrockEncryptAgent",
               "Effect": "Allow",
               "Principal": {
                   "Service": "bedrock.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/AgentId"
                   }
               }
           },
           {
               "Sid": "AllowRoleEncryptAgent",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:role/Role"
               },
               "Action": [
                   "kms:GenerateDataKey*",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
           },
           {
               "Sid": "AllowAttachmentPersistentResources",
               "Effect": "Allow",
               "Principal": {
                   "Service": "bedrock.amazonaws.com"
               },
               "Action": [
                   "kms:CreateGrant",
                   "kms:ListGrants",
                   "kms:RevokeGrant"
               ],
               "Resource": "*",
               "Condition": {
                   "Bool": {
                       "kms:GrantIsForAWSResource": "true"
                   }
               }
           }
       ]
   }
   ```

------

# Cifrado de los recursos de Flujos de Amazon Bedrock
<a name="encryption-flows"></a>

Amazon Bedrock siempre cifra sus datos en reposo. De forma predeterminada, Amazon Bedrock cifra estos datos mediante una clave administrada de AWS. Si lo desea, puede cifrar los datos mediante una clave administrada por el cliente.

Para obtener más informaciónAWS KMS keys, consulte [Claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) en la *Guía para AWS Key Management Service desarrolladores*.

Si cifra los datos con una clave de KMS personalizada, debe configurar la política basada en identidades y la política basada en recursos siguientes para que Amazon Bedrock pueda cifrar y descifrar los datos en su nombre.

1. Asocie la siguiente política basada en identidades a un usuario o rol de IAM con permisos para realizar llamadas a la API de Flujos de Amazon Bedrock. Esta política valida que el usuario que realiza llamadas de Amazon Bedrock tenga permisos de KMS. Sustituya los campos *\$1\$1region\$1*, *\$1\$1account-id\$1*, *\$1\$1flow-id\$1* y *\$1\$1key-id\$1* por los valores adecuados.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "EncryptFlow",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock-flows:arn": "arn:aws:bedrock:us-east-1:123456789012:flow/${flow-id}",
                       "kms:ViaService": "bedrock.us-east-1.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

1. Asocie la siguiente política basada en recursos a su clave KMS. Cambie el alcance de los permisos según sea necesario. Sustituya *\$1IAM-USER/ROLE-ARN\$1**\$1\$1region\$1*,*\$1\$1account-id\$1*,*\$1\$1flow-id\$1*, y por *\$1\$1key-id\$1* los valores adecuados.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowRootModifyKMSId",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:root"
               },
               "Action": "kms:*",
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
           },
           {
               "Sid": "AllowRoleUseKMSKey",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:role/RoleName"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock-flows:arn": "arn:aws:bedrock:us-east-1:123456789012:flow/FlowId",
                       "kms:ViaService": "bedrock.us-east-1.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

1. Para las [ejecuciones de flujos](flows-create-async.md), asocie la siguiente política basada en la identidad a un [rol de servicio con permisos para crear y administrar flujos](flows-permissions.md). Esta política valida que su rol de servicio tenga AWS KMS permisos. Sustituya los campos *region*, *account-id*, *flow-id* y *key-id* por los valores adecuados.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "EncryptionFlows",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock-flows:arn": "arn:aws:bedrock:us-east-1:123456789012:flow/flow-id",
                       "kms:ViaService": "bedrock.us-east-1.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

# Cifrado de recursos de bases de conocimientos
<a name="encryption-kb"></a>

Amazon Bedrock cifra los recursos relacionados con sus bases de conocimientos. De forma predeterminada, Amazon Bedrock cifra estos datos con una clave propia AWS. Si lo desea, puede cifrar los artefactos del modelo mediante una clave administrada por el cliente.

El cifrado con una clave KMS se puede realizar mediante los siguientes procesos:
+ Almacenamiento de datos transitorio al ingerir sus orígenes de datos
+ Pasar información al OpenSearch Servicio si dejas que Amazon Bedrock configure tu base de datos vectoriales
+ Consultar una base de conocimientos

Los siguientes recursos que utilizan sus bases de conocimientos se pueden cifrar con una clave KMS. Si los cifra, debe agregar permisos para descifrar la clave KMS.
+ Orígenes de datos almacenados en un bucket de Amazon S3
+ Almacenes vectoriales de terceros

Para obtener más información AWS KMS keys, consulte [las claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) en la *Guía para AWS Key Management Service desarrolladores*.

**nota**  
Las bases de conocimiento de Amazon Bedrock utilizan el cifrado TLS para comunicarse con los conectores de origen de datos y los almacenes de vectores de terceros si el proveedor permite y admite el cifrado TLS en tránsito.

**Topics**
+ [Cifrado del almacenamiento de datos transitorios durante la ingesta de datos](#encryption-kb-ingestion)
+ [Cifrado de la información transferida a Amazon OpenSearch Service](#encryption-kb-oss)
+ [Cifrado de información pasada a Amazon S3 Vectors](#encryption-kb-s3-vector)
+ [Cifrado de la recuperación de bases de conocimientos](#encryption-kb-runtime)
+ [Permisos para descifrar la AWS KMS clave de las fuentes de datos en Amazon S3](#encryption-kb-ds)
+ [Permisos para descifrar un AWS Secrets Manager secreto para el almacén de vectores que contiene tu base de conocimientos](#encryption-kb-3p)
+ [Permisos para Bedrock Data Automation (BDA) con cifrado AWS KMS](#encryption-kb-bda)

## Cifrado del almacenamiento de datos transitorios durante la ingesta de datos
<a name="encryption-kb-ingestion"></a>

Al configurar un trabajo de ingesta de datos para su base de conocimientos, puede cifrar el trabajo con una clave KMS personalizada.

Para permitir la creación de una AWS KMS clave para el almacenamiento transitorio de datos en el proceso de ingesta de su fuente de datos, adjunte la siguiente política a su función de servicio de Amazon Bedrock. Sustituya los valores de ejemplo por su propia AWS región, ID de cuenta e AWS KMS ID de clave.

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

****  

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

------

## Cifrado de la información transferida a Amazon OpenSearch Service
<a name="encryption-kb-oss"></a>

Si opta por permitir que Amazon Bedrock cree una tienda vectorial en Amazon OpenSearch Service para su base de conocimientos, Amazon Bedrock puede pasar la clave de KMS que elija a Amazon OpenSearch Service para su cifrado. Para obtener más información sobre el cifrado en Amazon OpenSearch Service, consulta [Cifrado en Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html).

## Cifrado de información pasada a Amazon S3 Vectors
<a name="encryption-kb-s3-vector"></a>

Si opta por permitir que Amazon Bedrock cree un bucket de vectores y un índice vectorial de S3 en Amazon S3 Vectors para su base de conocimiento, Amazon Bedrock puede pasar la clave de KMS que elija a Amazon S3 Vectors para su cifrado. Para obtener más información sobre el cifrado en Amazon S3 Vectors, consulte [Cifrado con Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-bucket-encryption.html).

## Cifrado de la recuperación de bases de conocimientos
<a name="encryption-kb-runtime"></a>

Puede cifrar las sesiones en las que se generan respuestas al consultar una base de conocimientos con una clave KMS. Para ello, incluya el ARN de una clave KMS en el `kmsKeyArn` campo al realizar una [RetrieveAndGenerate](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html)solicitud. Adjunte la siguiente política y sustituya los valores de ejemplo por su propia AWS región, ID de cuenta e ID de AWS KMS clave para permitir que Amazon Bedrock cifre el contexto de la sesión.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id"
        }
    ]
}
```

------

## Permisos para descifrar la AWS KMS clave de las fuentes de datos en Amazon S3
<a name="encryption-kb-ds"></a>

Almacena los orígenes de datos de su base de conocimientos en su bucket de Amazon S3. Para cifrar estos documentos en reposo, puede utilizar la opción de cifrado del lado del servidor de Amazon S3 SSE-S3. Con esta opción, los objetos se cifran con claves de servicio administradas por el servicio Amazon S3. 

Para obtener más información, consulte [Protección de datos mediante el cifrado del lado del servidor con las claves de cifrado administradas por Amazon S3 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html) en la *Guía del usuario de Amazon Simple Storage Service*.

Si ha cifrado sus fuentes de datos en Amazon S3 con una AWS KMS clave personalizada, adjunte la siguiente política a su función de servicio de Amazon Bedrock para que Amazon Bedrock pueda descifrar su clave. Sustituya los valores de ejemplo por su propia AWS región, ID de cuenta e AWS KMS ID de clave.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "KMS:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/key-id"
            ],
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": [
                        "s3.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## Permisos para descifrar un AWS Secrets Manager secreto para el almacén de vectores que contiene tu base de conocimientos
<a name="encryption-kb-3p"></a>

Si el almacén vectorial que contiene su base de conocimientos está configurado con un AWS Secrets Manager secreto, puede cifrarlo con una AWS KMS clave personalizada siguiendo los pasos que se indican en [Cifrado secreto y descifrado](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) en. AWS Secrets Manager

Si lo hace, asocie la siguiente política a su rol de servicio de Amazon Bedrock para que pueda descifrar su clave. Sustituya los valores de ejemplo por su propia AWS región, ID de cuenta e ID de AWS KMS clave.

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

****  

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

------

## Permisos para Bedrock Data Automation (BDA) con cifrado AWS KMS
<a name="encryption-kb-bda"></a>

Cuando se utiliza BDA para procesar contenido multimodal con AWS KMS claves administradas por el cliente, se requieren permisos adicionales además de los permisos estándar. AWS KMS 

Adjunte la siguiente política a su función de servicio de Amazon Bedrock para permitir que BDA trabaje con archivos multimedia cifrados. Sustituya los valores de ejemplo por su propia AWS región, ID de cuenta e ID AWS KMS clave.

```
{
    "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"
        }
    }
}
```

Los permisos específicos de BDA incluyen `kms:DescribeKey` las `kms:CreateGrant` acciones necesarias para que BDA procese archivos de audio, vídeo e imagen cifrados.

# Protección de los datos con Amazon VPC y AWS PrivateLink
<a name="usingVPC"></a>

Para controlar el acceso a sus datos, le recomendamos usar una nube privada virtual (VPC) con [Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html). Al usar una VPC, protege sus datos y puede supervisar todo el tráfico de red que entra y sale de sus contenedores de trabajo de AWS mediante [registros de flujo de la VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html).

Puede proteger aún más sus datos configurando la VPC para que no estén disponibles en internet y, en su lugar, crear un punto de conexión de interfaz de la VPC con [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/what-is-privatelink.html) para establecer una conexión privada con sus datos.

A continuación, se enumeran algunas características de Amazon Bedrock en las que puede utilizar la VPC para proteger sus datos:
+ Personalización de modelos: [(Opcional) Protección de los trabajos de personalización de modelos mediante una VPC](custom-model-job-access-security.md#vpc-model-customization)
+ Inferencia por lotes: [Protección de los trabajos de inferencia de lotes mediante una VPC](batch-vpc.md)
+ Bases de conocimiento de Amazon Bedrock: [acceso a Amazon OpenSearch sin servidor mediante un punto de conexión de interfaz (AWS PrivateLink)](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-vpc.html)

## Configurar una VPC
<a name="create-vpc"></a>

Puede usar una [VPC predeterminada](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html) o crear una nueva VPC siguiendo las instrucciones de [Introducción a Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-getting-started.html) y [Creación de una VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html).

Al crear la VPC, le recomendamos utilizar la configuración de DNS predeterminada para su tabla de enrutamiento de punto de conexión, de manera que se resuelvan las URL de Amazon S3 estándar (por ejemplo, `http://s3-aws-region.amazonaws.com/training-bucket`).

En los temas que siguen se muestra cómo configurar el punto de conexión de VPC con la ayuda de AWS PrivateLink y un ejemplo de uso de la VPC para proteger el acceso a los archivos de S3.

**Topics**
+ [Configurar una VPC](#create-vpc)
+ [Uso de un punto de conexión de VPC de interfaz (AWS PrivateLink) para crear una conexión privada entre la VPC y Amazon Bedrock](vpc-interface-endpoints.md)
+ [(Ejemplo) Restricción del acceso a los datos de Amazon S3 mediante VPC](vpc-s3.md)

# Uso de un punto de conexión de VPC de interfaz (AWS PrivateLink) para crear una conexión privada entre la VPC y Amazon Bedrock
<a name="vpc-interface-endpoints"></a>

Puede usarlo AWS PrivateLink para crear una conexión privada entre su VPC y Amazon Bedrock. Puede acceder a Amazon Bedrock como si estuviera en su VPC, sin utilizar una puerta de enlace a Internet, un dispositivo NAT, una conexión VPN o una conexión. Direct Connect Las instancias de la VPC no necesitan direcciones IP públicas para acceder a Amazon Bedrock.

Esta conexión privada se establece mediante la creación de un *punto de conexión de interfaz* alimentado por AWS PrivateLink. Creamos una interfaz de red de punto de conexión en cada subred habilitada para el punto de conexión de interfaz. Se trata de interfaces de red administradas por el solicitante que sirven como punto de entrada para el tráfico destinado a Amazon Bedrock.

*Para obtener más información, consulte [Acceso directo AWS PrivateLink en la Servicios de AWSAWS PrivateLink guía](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-aws-services.html).*

## Consideraciones sobre los puntos de conexión de VPC de Amazon Bedrock
<a name="vpc-endpoint-considerations"></a>

Antes de configurar un punto de conexión para Amazon Bedrock, consulte [Consideraciones](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#considerations-interface-endpoints) en la *Guía de AWS PrivateLink *.

Amazon Bedrock permite realizar las siguientes llamadas a la API a través de los puntos de conexión de VPC.


****  

| Categoría | Sufijo de punto de conexión | 
| --- | --- | 
| [Acciones de la API del plano de control de Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock.html) | bedrock | 
| [Acciones de la API de tiempo de ejecución de Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Amazon_Bedrock_Runtime.html) | bedrock-runtime | 
| Acciones de la API Amazon Bedrock Mantle | bedrock-mantle | 
| [Acciones de la API de tiempo de ejecución de agentes de Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock.html) | bedrock-agent | 
| [Acciones de la API de tiempo de ejecución de agentes de Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_Operations_Agents_for_Amazon_Bedrock_Runtime.html) | bedrock-agent-runtime | 

**Zonas de disponibilidad**

Los puntos de conexión de Amazon Bedrock y de agentes de Amazon Bedrock están disponibles en todas las zonas de disponibilidad.

## Creación de un punto de conexión de interfaz para Amazon Bedrock
<a name="vpc-endpoint-create"></a>

Puede crear un punto final de interfaz para Amazon Bedrock mediante la consola de Amazon VPC o AWS Command Line Interface el AWS CLI(). Para obtener más información, consulte [Creación de un punto de conexión de interfaz](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint-aws) en la *Guía de AWS PrivateLink *.

Cree un punto de conexión para Amazon Bedrock con cualquiera de los siguientes nombres de servicio:
+ `com.amazonaws.region.bedrock`
+ `com.amazonaws.region.bedrock-runtime`
+ `com.amazonaws.region.bedrock-mantle`
+ `com.amazonaws.region.bedrock-agent`
+ `com.amazonaws.region.bedrock-agent-runtime`

Cuando se crea el punto de conexión, tiene la opción de habilitar un nombre de host de DNS privado. Habilite esta configuración seleccionando Enable Private DNS Name (Habilitar nombre de DNS privado) en la consola de VPC al crear el punto de conexión de la VPC.

Si habilita DNS privado para el punto de conexión de interfaz, puede realizar solicitudes a la API para Amazon Bedrock usando su nombre de DNS predeterminado para la región. Los siguientes ejemplos muestran el formato de los nombres de DNS regionales predeterminados.
+ `bedrock.region.amazonaws.com`
+ `bedrock-runtime.region.amazonaws.com`
+ `bedrock-mantle.region.api.aws`
+ `bedrock-agent.region.amazonaws.com`
+ `bedrock-agent-runtime.region.amazonaws.com`

## Creación de una política de puntos de conexión para el punto de conexión de interfaz
<a name="vpc-endpoint-policy"></a>

Una política de punto de conexión es un recurso de IAM que puede adjuntar al punto de conexión de su interfaz. La política de puntos de conexión predeterminada permite acceso completo a Amazon Bedrock a través del punto de conexión de interfaz. Para controlar el acceso permitido a Amazon Bedrock desde la VPC, adjunte una política de puntos de conexión personalizada al punto de conexión de interfaz.

Una política de punto de conexión especifica la siguiente información:
+ Las entidades principales que pueden llevar a cabo acciones (Cuentas de AWS, usuarios de IAM y roles de IAM).
+ Las acciones que se pueden realizar.
+ El recurso en el que se pueden realizar las acciones.

Para obtener más información, consulte [Control del acceso a los servicios con políticas de punto de conexión](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) en la *Guía del usuario de AWS PrivateLink *.

**Ejemplo: política de punto de conexión de VPC para acciones de Amazon Bedrock**  
El siguiente es un ejemplo de una política de un punto de conexión personalizado. Cuando asocia esta política basada en recursos con su punto de conexión de interfaz, se concede acceso a las acciones de Amazon Bedrock enumeradas para todas las entidades principales en todos los recursos.

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

****  

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

------

**Ejemplo: política de puntos de conexión de VPC para las acciones de Amazon Bedrock Mantle**  
El siguiente es un ejemplo de una política de un punto de conexión personalizado. Al adjuntar esta política basada en recursos al punto final de la interfaz, otorga acceso a las acciones de Amazon Bedrock Mantle listadas a todos los directores de todos los recursos.

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

# (Ejemplo) Restricción del acceso a los datos de Amazon S3 mediante VPC
<a name="vpc-s3"></a>

Puede usar una VPC para restringir el acceso a los datos de sus buckets de Amazon S3. Para una mayor seguridad, puede configurar la VPC sin acceso a internet y crear un punto de conexión para ella con AWS PrivateLink. También puede restringir el acceso asociando políticas basadas en recursos al punto de conexión de VPC o al bucket de S3.

**Topics**
+ [Creación de un punto de conexión de VPC de Amazon S3](#vpc-s3-create)
+ [(Opcional) Uso de políticas de IAM para restringir el acceso a archivos de S3](#vpc-policy-rbp)

## Creación de un punto de conexión de VPC de Amazon S3
<a name="vpc-s3-create"></a>

Si configura su VPC sin acceso a internet, debe crear un [punto de conexión de VPC de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html) para permitir que los trabajos de personalización de modelos accedan a los buckets de S3 que almacenan sus datos de entrenamiento y validación y que almacenarán los artefactos del modelo.

Siga los pasos descritos en [Creación de un punto de conexión de un gateway para Amazon S3](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#create-gateway-endpoint-s3) para crear el punto de conexión de VPC de puerta de enlace para S3.

**nota**  
Si no utiliza la configuración de DNS predeterminada para su VPC, debe asegurarse de que las ubicaciones de los URLs datos en sus trabajos de entrenamiento se resuelvan configurando las tablas de rutas de los puntos finales. Para obtener más información sobre las tablas de enrutamiento de punto de conexión de VPC, consulte el [enrutamiento de puntos de conexión de la puerta de enlace](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-gateway.html#vpc-endpoints-routing).

## (Opcional) Uso de políticas de IAM para restringir el acceso a archivos de S3
<a name="vpc-policy-rbp"></a>

Puede usar [políticas basadas en recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) para controlar el acceso a sus archivos de S3 de forma más estricta. Puede usar cualquier combinación de los siguientes tipos de políticas basadas en recursos.
+ **Políticas de punto de conexión**: puede asociar políticas de punto de conexión a su punto de conexión de VPC para restringir el acceso a través del punto de conexión de VPC. La política de puntos de conexión predeterminada permite acceso completo a Amazon S3 a cualquier usuario o servicio de la VPC. Al crear el punto de conexión o después de crearlo, si lo desea, puede asociar una política basada en recursos al punto de conexión para añadir restricciones, por ejemplo, permitir que el punto de conexión solo acceda a un bucket específico o permitir que solo un rol de IAM específico acceda al punto de conexión. Para ver ejemplos, consulte [Edit the VPC endpoint policy](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#edit-vpc-endpoint-policy-s3).

  El siguiente es un ejemplo de política que puede asociar al punto de conexión de VPC para que solo pueda acceder al bucket que especifique.

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

****  

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

------
+ **Políticas de bucket**: puede asociar una política de bucket a un bucket de S3 para restringir el acceso a dicho bucket. Para crear una política de bucket, siga los pasos que se indican en [Políticas de buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html). Para restringir el acceso al tráfico que proviene de la VPC, puede usar claves de condición para especificar la propia VPC, un punto de conexión de VPC o la dirección IP de la VPC. [Puede usar las claves de condición [aws:SourceVPC, [aws:SourceVpce](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcevpce)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcevpc) o aws:. VpcSourceIp](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-vpcsourceip)

  El siguiente es un ejemplo de política que puede asociar a un bucket de S3 para denegar todo el tráfico al bucket, a menos que provenga de su VPC.

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "RestrictAccessToOutputBucket",
              "Effect": "Deny",
              "Principal": "*",
              "Action": [
                  "s3:GetObject",
                  "s3:PutObject",
                  "s3:ListBucket"
              ],
              "Resource": [
                  "arn:aws:s3:::bucket",
                  "arn:aws:s3:::bucket/*"
              ],
              "Condition": {
                  "StringNotEquals": {
                      "aws:sourceVpc": "vpc-11223344556677889"
                  }
              }
          }
      ]
  }
  ```

------

  Para ver más ejemplos, consulte [Control access using bucket policies](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#bucket-policies-s3).

# Administración de identidades y accesos para Amazon Bedrock
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) es una Servicio de AWS que ayuda al administrador a controlar de forma segura el acceso a AWS los recursos. Los administradores de IAM controlan quién se puede *autenticar* (iniciar sesión) y *autorizar* (tener permisos) para utilizar los recursos de Amazon Bedrock. La IAM es una Servicio de AWS herramienta que puede utilizar sin coste adicional.

**Topics**
+ [Público](#security_iam_audience)
+ [Autenticación con identidades](#security_iam_authentication)
+ [Administración del acceso con políticas](#security_iam_access-manage)
+ [Funcionamiento de Amazon Bedrock con IAM](security_iam_service-with-iam.md)
+ [Ejemplos de políticas basadas en identidad para Amazon Bedrock](security_iam_id-based-policy-examples.md)
+ [Gestión de las políticas de IAM en los proyectos](security-iam-projects.md)
+ [AWS políticas gestionadas para Amazon Bedrock](security-iam-awsmanpol.md)
+ [Roles de servicio](security-iam-sr.md)
+ [Configuración del acceso a buckets de Amazon S3](s3-bucket-access.md)
+ [Solución de problemas de identidad y acceso de Amazon Bedrock](security_iam_troubleshoot.md)

## Público
<a name="security_iam_audience"></a>

La forma de usar AWS Identity and Access Management (IAM) varía según la función que desempeñes:
+ **Usuario del servicio:** solicite permisos al administrador si no puede acceder a las características (consulte [Solución de problemas de identidad y acceso de Amazon Bedrock](security_iam_troubleshoot.md)).
+ **Administrador del servicio:** determine el acceso de los usuarios y envíe las solicitudes de permiso (consulte [Funcionamiento de Amazon Bedrock con IAM](security_iam_service-with-iam.md)).
+ **Administrador de IAM**: escribe las políticas para administrar el acceso (consulte [Ejemplos de políticas basadas en identidad para Amazon Bedrock](security_iam_id-based-policy-examples.md)).

## Autenticación con identidades
<a name="security_iam_authentication"></a>

La autenticación es la forma en que inicias sesión AWS con tus credenciales de identidad. Debe autenticarse como usuario de Usuario raíz de la cuenta de AWS IAM o asumir una función de IAM.

Puede iniciar sesión como una identidad federada con las credenciales de una fuente de identidad, como AWS IAM Identity Center (IAM Identity Center), la autenticación de inicio de sesión único o las credenciales. Google/Facebook Para obtener más información sobre el inicio de sesión, consulte [Cómo iniciar sesión en la Cuenta de AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) en la *Guía del usuario de AWS Sign-In *.

Para el acceso programático, AWS proporciona un SDK y una CLI para firmar criptográficamente las solicitudes. Para obtener más información, consulte [AWS Signature Version 4 para solicitudes de API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) en la *Guía del usuario de IAM*.

### Cuenta de AWS usuario root
<a name="security_iam_authentication-rootuser"></a>

 Al crear un Cuenta de AWS, se comienza con una identidad de inicio de sesión denominada *usuario Cuenta de AWS raíz* que tiene acceso completo a todos Servicios de AWS los recursos. Se recomiendaencarecidamente que no utilice el usuario raíz para las tareas diarias. Para ver las tareas que requieren credenciales de usuario raíz, consulte [Tareas que requieren credenciales de usuario raíz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) en la *Guía del usuario de IAM*. 

### Identidad federada
<a name="security_iam_authentication-federated"></a>

Como práctica recomendada, exija a los usuarios humanos que utilicen la federación con un proveedor de identidades para acceder Servicios de AWS mediante credenciales temporales.

Una *identidad federada* es un usuario del directorio empresarial, del proveedor de identidades web o al Directory Service que se accede Servicios de AWS mediante credenciales de una fuente de identidad. Las identidades federadas asumen roles que proporcionan credenciales temporales.

Para una administración de acceso centralizada, se recomienda AWS IAM Identity Center. Para obtener más información, consulte [¿Qué es el Centro de identidades de IAM?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html) en la *Guía del usuario de AWS IAM Identity Center *.

### Usuarios y grupos de IAM
<a name="security_iam_authentication-iamuser"></a>

Un *[usuario de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* es una identidad con permisos específicos para una sola persona o aplicación. Recomendamos el uso de credenciales temporales en lugar de usuarios de IAM con credenciales de larga duración. Para obtener más información, consulte [Exigir a los usuarios humanos que utilicen la federación con un proveedor de identidad para acceder AWS mediante credenciales temporales](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) en la Guía del usuario de *IAM*.

Un [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) especifica un conjunto de usuarios de IAM y facilita la administración de los permisos para grupos grandes de usuarios. Para obtener más información, consulte [Casos de uso para usuarios de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) en la *Guía del usuario de IAM*.

### Roles de IAM
<a name="security_iam_authentication-iamrole"></a>

Un *[Rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* es una identidad con permisos específicos que proporciona credenciales temporales. Puede asumir un rol [cambiando de un rol de usuario a uno de IAM (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) o llamando a una AWS CLI operación de AWS API. Para obtener más información, consulte [Métodos para asumir un rol](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) en la *Guía del usuario de IAM*.

Los roles de IAM son útiles para el acceso de usuario federado, los permisos de usuario de IAM temporales, el acceso entre cuentas, el acceso entre servicios y las aplicaciones que se ejecutan en Amazon EC2. Para obtener más información, consulte [Acceso a recursos entre cuentas en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) en la *Guía del usuario de IAM*.

## Administración del acceso con políticas
<a name="security_iam_access-manage"></a>

El acceso se controla AWS creando políticas y adjuntándolas a AWS identidades o recursos. Una política define los permisos cuando están asociados a una identidad o un recurso. AWS evalúa estas políticas cuando un director hace una solicitud. La mayoría de las políticas se almacenan AWS como documentos JSON. Para obtener más información sobre los documentos de políticas de JSON, consulte [Información general de políticas de JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) en la *Guía del usuario de IAM*.

Mediante las políticas, los administradores especifican quién tiene acceso a qué, definiendo qué **entidad principal** puede realizar **acciones** sobre qué **recursos** y en qué **condiciones**.

De forma predeterminada, los usuarios y los roles no tienen permisos. Un administrador de IAM crea políticas de IAM y las agrega a roles, que los usuarios pueden asumir posteriormente. Las políticas de IAM definen permisos independientemente del método que se utilice para realizar la operación.

### Políticas basadas en identidades
<a name="security_iam_access-manage-id-based-policies"></a>

Las políticas basadas en identidad son documentos de política de permisos JSON que asocia a una identidad (usuario, grupo o rol). Estas políticas controlan qué acciones pueden realizar las identidades, en qué recursos y en qué condiciones. Para obtener más información sobre cómo crear una política basada en la identidad, consulte [Definición de permisos de IAM personalizados con políticas administradas por el cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) en la *Guía del usuario de IAM*.

Las políticas basadas en identidad pueden ser *políticas insertadas* (incrustadas directamente en una sola identidad) o *políticas administradas* (políticas independientes asociadas a varias identidades). Para obtener información sobre cómo elegir entre políticas administradas e insertadas, consulte [Selección entre políticas administradas y políticas insertadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) en la *Guía del usuario de IAM*.

### Políticas basadas en recursos
<a name="security_iam_access-manage-resource-based-policies"></a>

Las políticas basadas en recursos son documentos de políticas JSON que se asocian a un recurso. Los ejemplos incluyen las *Políticas de confianza de roles* de IAM y las *Políticas de bucket* de Amazon S3. En los servicios que admiten políticas basadas en recursos, los administradores de servicios pueden utilizarlos para controlar el acceso a un recurso específico. Debe [especificar una entidad principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) en una política basada en recursos.

Las políticas basadas en recursos son políticas insertadas que se encuentran en ese servicio. No puedes usar políticas AWS gestionadas de IAM en una política basada en recursos.

### Otros tipos de políticas
<a name="security_iam_access-manage-other-policies"></a>

AWS admite tipos de políticas adicionales que pueden establecer los permisos máximos que conceden los tipos de políticas más comunes:
+ **Límites de permisos:** establecen los permisos máximos que una política basada en identidad puede conceder a una entidad de IAM. Para obtener más información, consulte [Límites de permisos para las entidades de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) en la *Guía del usuario de IAM*.
+ **Políticas de control de servicios (SCPs)**: especifican los permisos máximos para una organización o unidad organizativa en AWS Organizations. Para obtener más información, consulte [Políticas de control de servicios](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) en la *Guía del usuario de AWS Organizations *.
+ **Políticas de control de recursos (RCPs)**: establece los permisos máximos disponibles para los recursos de tus cuentas. Para obtener más información, consulte [Políticas de control de recursos (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) en la *Guía del AWS Organizations usuario*.
+ **Políticas de sesión:** políticas avanzadas que se pasan como parámetro cuando se crea una sesión temporal para un rol o un usuario federado. Para obtener más información, consulte [Políticas de sesión](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) en la *Guía del usuario de IAM*.

### Varios tipos de políticas
<a name="security_iam_access-manage-multiple-policies"></a>

Cuando se aplican varios tipos de políticas a una solicitud, los permisos resultantes son más complicados de entender. Para saber cómo se AWS determina si se debe permitir una solicitud cuando se trata de varios tipos de políticas, consulte la [lógica de evaluación de políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) en la *Guía del usuario de IAM*.

# Funcionamiento de Amazon Bedrock con IAM
<a name="security_iam_service-with-iam"></a>

Antes de utilizar IAM para administrar el acceso a Amazon Bedrock, conozca qué características de IAM están disponibles para su uso con Amazon Bedrock.






**Características de IAM que puede utilizar con Amazon Bedrock**  

| Característica de IAM | Soporte de Amazon Bedrock | 
| --- | --- | 
|  [Políticas basadas en identidades](#security_iam_service-with-iam-id-based-policies)  |   Sí  | 
|  [Políticas basadas en recursos](#security_iam_service-with-iam-resource-based-policies)  |   No   | 
|  [Acciones de políticas](#security_iam_service-with-iam-id-based-policies-actions)  |   Sí  | 
|  [Recursos de políticas](#security_iam_service-with-iam-id-based-policies-resources)  |   Sí  | 
|  [Claves de condición de política](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   Sí  | 
|  [ACLs](#security_iam_service-with-iam-acls)  |   No   | 
|  [ABAC (etiquetas en políticas)](#security_iam_service-with-iam-tags)  |   Sí  | 
|  [Credenciales temporales](#security_iam_service-with-iam-roles-tempcreds)  |   Sí  | 
|  [Permisos de entidades principales](#security_iam_service-with-iam-principal-permissions)  |   Sí  | 
|  [Roles de servicio](#security_iam_service-with-iam-roles-service)  |   Sí  | 
|  [Roles vinculados al servicio](#security_iam_service-with-iam-roles-service-linked)  |   No   | 

Para obtener una visión general de cómo funcionan Amazon Bedrock y otros AWS servicios con la mayoría de las funciones de IAM, consulte [AWS los servicios que funcionan con IAM en la Guía del usuario de *IAM*](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).

## Políticas de Amazon Bedrock basadas en identidad
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Compatibilidad con las políticas basadas en identidad:** sí

Las políticas basadas en identidad son documentos de políticas de permisos JSON que puede asociar a una identidad, como un usuario de IAM, un grupo de usuarios o un rol. Estas políticas controlan qué acciones pueden realizar los usuarios y los roles, en qué recursos y en qué condiciones. Para obtener más información sobre cómo crear una política basada en la identidad, consulte [Definición de permisos de IAM personalizados con políticas administradas por el cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) en la *Guía del usuario de IAM*.

Con las políticas basadas en identidades de IAM, puede especificar las acciones y los recursos permitidos o denegados, así como las condiciones en las que se permiten o deniegan las acciones. Para obtener más información sobre los elementos que puede utilizar en una política de JSON, consulte [Referencia de los elementos de la política de JSON de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) en la *Guía del usuario de IAM*.

### Ejemplos de políticas basadas en identidad para Amazon Bedrock
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Para ver ejemplos de políticas basadas en identidad de Amazon Bedrock, consulte [Ejemplos de políticas basadas en identidad para Amazon Bedrock](security_iam_id-based-policy-examples.md).

## Políticas basadas en recursos de Amazon Bedrock
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Admite políticas basadas en recursos:** no 

Las políticas basadas en recursos son documentos de política JSON que se asocian a un recurso. Los ejemplos de políticas basadas en recursos son las *políticas de confianza de roles* de IAM y las *políticas de bucket* de Amazon S3. En los servicios que admiten políticas basadas en recursos, los administradores de servicios pueden utilizarlos para controlar el acceso a un recurso específico. Para el recurso al que se asocia la política, la política define qué acciones puede realizar una entidad principal especificada en ese recurso y en qué condiciones. Debe [especificar una entidad principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) en una política basada en recursos. Los directores pueden incluir cuentas, usuarios, roles, usuarios federados o. Servicios de AWS

Para habilitar el acceso entre cuentas, puede especificar toda una cuenta o entidades de IAM de otra cuenta como la entidad principal de una política en función de recursos. Para obtener más información, consulte [Acceso a recursos entre cuentas en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) en la *Guía del usuario de IAM*.

## Acciones de políticas para Amazon Bedrock
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Compatibilidad con las acciones de políticas:** sí

Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Action` de una política JSON describe las acciones que puede utilizar para conceder o denegar el acceso en una política. Incluya acciones en una política para conceder permisos y así llevar a cabo la operación asociada.



Para ver una lista de las acciones de Amazon Bedrock, consulte [Acciones definidas por Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions) en la *Referencia de autorizaciones de servicio*.

Las acciones de políticas de Amazon Bedrock utilizan el siguiente prefijo antes de la acción:

```
bedrock
```

Para especificar varias acciones en una única instrucción, sepárelas con comas.

```
"Action": [
   "bedrock:action1",
   "bedrock:action2"
]
```





Para ver ejemplos de políticas basadas en identidad de Amazon Bedrock, consulte [Ejemplos de políticas basadas en identidad para Amazon Bedrock](security_iam_id-based-policy-examples.md).

## Recursos de políticas para Amazon Bedrock
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Compatibilidad con los recursos de políticas:** sí

Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Resource` de la política JSON especifica el objeto u objetos a los que se aplica la acción. Como práctica recomendada, especifique un recurso utilizando el [Nombre de recurso de Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). En el caso de las acciones que no admiten permisos por recurso, utilice un carácter comodín (\$1) para indicar que la instrucción se aplica a todos los recursos.

```
"Resource": "*"
```

Para ver una lista de los tipos de recursos de Amazon Bedrock y sus tipos ARNs, consulte [Recursos definidos por Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-resources-for-iam-policies) en la Referencia de *autorización de servicio*. Para obtener más información acerca de las acciones con las que puede especificar el ARN de cada recurso, consulte [Acciones definidas por Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions).





Algunas acciones de la API de Amazon Bedrock admiten varios recursos. Por ejemplo, [AssociateAgentKnowledgeBase](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_AssociateAgentKnowledgeBase.html) accede a *AGENT12345* y *KB12345678*, por lo que una entidad principal debe tener permisos para acceder a ambos recursos. Para especificar varios recursos en una sola declaración, sepárelos ARNs con comas. 

```
"Resource": [
   "arn:aws:bedrock:aws-region:111122223333:agent/AGENT12345",
   "arn:aws:bedrock:aws-region:111122223333:knowledge-base/KB12345678"
]
```

Para ver ejemplos de políticas basadas en identidad de Amazon Bedrock, consulte [Ejemplos de políticas basadas en identidad para Amazon Bedrock](security_iam_id-based-policy-examples.md).

## Claves de condición de política para Amazon Bedrock
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Compatibilidad con claves de condición de políticas específicas del servicio:** sí

Los administradores pueden usar las políticas de AWS JSON para especificar quién tiene acceso a qué. Es decir, qué **entidad principal** puede realizar **acciones** en qué **recursos** y en qué **condiciones**.

El elemento `Condition` especifica cuándo se ejecutan las instrucciones en función de criterios definidos. Puede crear expresiones condicionales que utilizan [operadores de condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), tales como igual o menor que, para que la condición de la política coincida con los valores de la solicitud. Para ver todas las claves de condición AWS globales, consulte las claves de [contexto de condición AWS globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) en la *Guía del usuario de IAM*.

Para ver una lista de las claves de condición de Amazon Bedrock, consulte [Claves de condición para Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) en la *Referencia de autorizaciones de servicio*. Para obtener más información acerca de las acciones y los recursos con los que puede utilizar una clave de condición, consulte [Acciones definidas por Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-actions-as-permissions).

Todas las acciones de Amazon Bedrock admiten claves de condición que utilizan los modelos de Amazon Bedrock como recurso.

Para ver ejemplos de políticas basadas en identidad de Amazon Bedrock, consulte [Ejemplos de políticas basadas en identidad para Amazon Bedrock](security_iam_id-based-policy-examples.md).

## ACLs en Amazon Bedrock
<a name="security_iam_service-with-iam-acls"></a>

**Soportes ACLs: No** 

Las listas de control de acceso (ACLs) controlan qué directores (miembros de la cuenta, usuarios o roles) tienen permisos para acceder a un recurso. ACLs son similares a las políticas basadas en recursos, aunque no utilizan el formato de documento de políticas JSON.

## ABAC con Amazon Bedrock
<a name="security_iam_service-with-iam-tags"></a>

**Admite ABAC (etiquetas en las políticas):** sí

El control de acceso basado en atributos (ABAC) es una estrategia de autorización que define permisos en función de atributos denominados etiquetas. Puede adjuntar etiquetas a las entidades y AWS los recursos de IAM y, a continuación, diseñar políticas de ABAC para permitir las operaciones cuando la etiqueta del director coincida con la etiqueta del recurso.

Para controlar el acceso en función de etiquetas, debe proporcionar información de las etiquetas en el [elemento de condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) de una política utilizando las claves de condición `aws:ResourceTag/key-name`, `aws:RequestTag/key-name` o `aws:TagKeys`.

Si un servicio admite las tres claves de condición para cada tipo de recurso, el valor es **Sí** para el servicio. Si un servicio admite las tres claves de condición solo para algunos tipos de recursos, el valor es **Parcial**.

*Para obtener más información sobre ABAC, consulte [Definición de permisos con la autorización de ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) en la Guía del usuario de IAM*. Para ver un tutorial con los pasos para configurar ABAC, consulte [Uso del control de acceso basado en atributos (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) en la *Guía del usuario de IAM*.

## Uso de credenciales temporales con Amazon Bedrock
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Compatibilidad con credenciales temporales:** sí

Las credenciales temporales proporcionan acceso a AWS los recursos a corto plazo y se crean automáticamente cuando se utiliza la federación o se cambia de rol. AWS recomienda generar credenciales temporales de forma dinámica en lugar de utilizar claves de acceso a largo plazo. Para obtener más información, consulte [Credenciales de seguridad temporales en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) y [Servicios de AWS que funcionan con IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) en la *Guía del usuario de IAM*.

## Permisos de entidades principales entre servicios de Amazon Bedrock
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Admite sesiones de acceso directo (FAS):** sí

 Las sesiones de acceso directo (FAS) utilizan los permisos del principal que llama y los que solicitan Servicio de AWS para realizar solicitudes a los servicios descendentes. Servicio de AWS Para obtener información sobre las políticas a la hora de realizar solicitudes de FAS, consulte [Sesiones de acceso directo](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Roles de servicio para Amazon Bedrock
<a name="security_iam_service-with-iam-roles-service"></a>

**Compatible con roles de servicio:** sí

 Un rol de servicio es un [rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) que asume un servicio para realizar acciones en su nombre. Un administrador de IAM puede crear, modificar y eliminar un rol de servicio desde IAM. Para obtener más información, consulte [Crear un rol para delegar permisos a un Servicio de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) en la *Guía del usuario de IAM*. 

**aviso**  
Cambiar los permisos de un rol de servicio podría interrumpir la funcionalidad de Amazon Bedrock. Edite los roles de servicio solo cuando Amazon Bedrock proporcione orientación para hacerlo.

## Roles vinculados a servicios para Amazon Bedrock
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Compatibilidad con roles vinculados al servicio:** no 

 Un rol vinculado a un servicio es un tipo de rol de servicio que está vinculado a un. Servicio de AWS El servicio puede asumir el rol para realizar una acción en su nombre. Los roles vinculados al servicio aparecen en usted Cuenta de AWS y son propiedad del servicio. Un administrador de IAM puede ver, pero no editar, los permisos de los roles vinculados a servicios. 

# Ejemplos de políticas basadas en identidad para Amazon Bedrock
<a name="security_iam_id-based-policy-examples"></a>

De forma predeterminada, los usuarios y roles no tienen permiso para crear ni modificar los recursos de Amazon Bedrock. Un administrador de IAM puede crear políticas de IAM para conceder permisos a los usuarios para realizar acciones en los recursos que necesitan.

Para obtener información acerca de cómo crear una política basada en identidades de IAM mediante el uso de estos documentos de políticas JSON de ejemplo, consulte [Creación de políticas de IAM (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) en la *Guía del usuario de IAM*.

Para obtener más información sobre las acciones y los tipos de recursos definidos por Amazon Bedrock, incluido el formato de cada uno de los tipos de recursos, consulte [Acciones, recursos y claves de condición de Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html) en la Referencia de *autorización de servicio*. ARNs 

**Topics**
+ [Prácticas recomendadas sobre las políticas](#security_iam_service-with-iam-policy-best-practices)
+ [Uso de la consola de Amazon Bedrock](#security_iam_id-based-policy-examples-console)
+ [Cómo permitir a los usuarios consultar sus propios permisos](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Denegación del acceso de inferencia de modelos fundacionales](#security_iam_id-based-policy-examples-deny-inference)
+ [Permiso a los usuarios para invocar un modelo aprovisionado](#security_iam_id-based-policy-examples-perform-actions-pt)
+ [Ejemplos de políticas basadas en identidades para Agentes de Amazon Bedrock](security_iam_id-based-policy-examples-agent.md)

## Prácticas recomendadas sobre las políticas
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Las políticas basadas en identidad determinan si alguien puede crear, eliminar o acceder a los recursos de Amazon Bedrock de la cuenta. Estas acciones pueden generar costos adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:
+ **Comience con las políticas AWS administradas y avance hacia los permisos con privilegios mínimos: para comenzar a conceder permisos** a sus usuarios y cargas de trabajo, utilice las *políticas AWS administradas* que otorgan permisos para muchos casos de uso comunes. Están disponibles en su. Cuenta de AWS Le recomendamos que reduzca aún más los permisos definiendo políticas administradas por el AWS cliente que sean específicas para sus casos de uso. Con el fin de obtener más información, consulte las [políticas administradas por AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) o las [políticas administradas por AWS para funciones de tarea](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) en la *Guía de usuario de IAM*.
+ **Aplique permisos de privilegio mínimo**: cuando establezca permisos con políticas de IAM, conceda solo los permisos necesarios para realizar una tarea. Para ello, debe definir las acciones que se pueden llevar a cabo en determinados recursos en condiciones específicas, también conocidos como *permisos de privilegios mínimos*. Con el fin de obtener más información sobre el uso de IAM para aplicar permisos, consulte [Políticas y permisos en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) en la *Guía del usuario de IAM*.
+ **Utilice condiciones en las políticas de IAM para restringir aún más el acceso**: puede agregar una condición a sus políticas para limitar el acceso a las acciones y los recursos. Por ejemplo, puede escribir una condición de políticas para especificar que todas las solicitudes deben enviarse utilizando SSL. También puedes usar condiciones para conceder el acceso a las acciones del servicio si se utilizan a través de una acción específica Servicio de AWS, por ejemplo CloudFormation. Para obtener más información, consulte [Elementos de la política de JSON de IAM: Condición](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) en la *Guía del usuario de IAM*.
+ **Utiliza el analizador de acceso de IAM para validar las políticas de IAM con el fin de garantizar la seguridad y funcionalidad de los permisos**: el analizador de acceso de IAM valida políticas nuevas y existentes para que respeten el lenguaje (JSON) de las políticas de IAM y las prácticas recomendadas de IAM. El analizador de acceso de IAM proporciona más de 100 verificaciones de políticas y recomendaciones procesables para ayudar a crear políticas seguras y funcionales. Para más información, consulte [Validación de políticas con el Analizador de acceso de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) en la *Guía del usuario de IAM*.
+ **Requerir autenticación multifactor (MFA**): si tiene un escenario que requiere usuarios de IAM o un usuario raíz en Cuenta de AWS su cuenta, active la MFA para mayor seguridad. Para exigir la MFA cuando se invoquen las operaciones de la API, añada condiciones de MFA a sus políticas. Para más información, consulte [Acceso seguro a la API con MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) en la *Guía del usuario de IAM*.

Para obtener más información sobre las prácticas recomendadas de IAM, consulte [Prácticas recomendadas de seguridad en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la *Guía del usuario de IAM*.

## Uso de la consola de Amazon Bedrock
<a name="security_iam_id-based-policy-examples-console"></a>

Para acceder a la consola de Amazon Bedrock, debe tener un conjunto mínimo de permisos. Estos permisos deben permitirle enumerar y ver detalles sobre los recursos de Amazon Bedrock que tiene en su Cuenta de AWS cuenta. Si crea una política basada en identidades que sea más restrictiva que el mínimo de permisos necesarios, la consola no funcionará del modo esperado para las entidades (usuarios o roles) que tengan esa política.

No necesita conceder permisos mínimos de consola a los usuarios que solo realicen llamadas a la AWS API AWS CLI o a la misma. En su lugar, permita el acceso únicamente a las acciones que coincidan con la operación de API que intentan realizar.

Para garantizar que los usuarios y los roles puedan seguir utilizando la consola de Amazon Bedrock, adjunte también la política [AmazonBedrockReadOnly](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockReadOnly) AWS gestionada [AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess)o de Amazon Bedrock a las entidades. Para obtener más información, consulte [Adición de permisos a un usuario](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) en la *Guía del usuario de IAM*:

## Cómo permitir a los usuarios consultar sus propios permisos
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

En este ejemplo, se muestra cómo podría crear una política que permita a los usuarios de IAM ver las políticas administradas e insertadas que se asocian a la identidad de sus usuarios. Esta política incluye permisos para completar esta acción en la consola o mediante programación mediante la API o. AWS CLI AWS 

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## Denegación del acceso de inferencia de modelos fundacionales
<a name="security_iam_id-based-policy-examples-deny-inference"></a>

Para evitar que un usuario invoque modelos fundacionales, debe denegar el acceso a las acciones de la API que invocan los modelos directamente. El siguiente ejemplo muestra una política basada en identidades que deniega el acceso a la ejecución de inferencia en un modelo específico. Esta política se puede utilizar como política de control de servicio (SCP) para controlar el acceso al modelo en toda la organización.

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

****  

```
{
          "Version":"2012-10-17",		 	 	 
          "Statement": {
              "Sid": "DenyInference",
              "Effect": "Deny",
              "Action": [
                  "bedrock:InvokeModel",
                  "bedrock:InvokeModelWithResponseStream",
                  "bedrock:CreateModelInvocationJob"
               ],
              "Resource": "arn:aws:bedrock:*::foundation-model/model-id"
          }
      }
```

------

Para denegar el acceso de inferencia a todos los modelos fundacionales, utilice `*` para el ID del modelo. Otras acciones, como `Converse` y `StartAsyncInvoke`, se bloquean automáticamente cuando se deniega `InvokeModel`. Para obtener una lista de modelos IDs, consulte [Modelos fundacionales compatibles en Amazon Bedrock](models-supported.md)

## Permiso a los usuarios para invocar un modelo aprovisionado
<a name="security_iam_id-based-policy-examples-perform-actions-pt"></a>

El siguiente es un ejemplo de política que puede asociar a un rol de IAM para permitirle usar un modelo aprovisionado en la inferencia de modelos. Por ejemplo, puede asociar esta política a un rol para el que desee que solo tenga permisos para usar un modelo aprovisionado. El rol no podrá administrar ni ver información sobre el rendimiento aprovisionado.

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

****  

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

------

# Ejemplos de políticas basadas en identidades para Agentes de Amazon Bedrock
<a name="security_iam_id-based-policy-examples-agent"></a>

Seleccione un tema para ver ejemplos de políticas de IAM que pueda asociar a un rol de IAM para otorgar permisos para acciones en [Automatización de las tareas en la aplicación mediante agentes de IA](agents.md).

**Topics**
+ [Permisos necesarios para Agentes de Amazon Bedrock](#iam-agents-ex-all)
+ [Permiso para que los usuarios vean información sobre un agente e invocarlo](#security_iam_id-based-policy-examples-perform-actions-agent)
+ [Controle el acceso a los niveles de servicio](#security_iam_id-based-policy-examples-service-tiers)

## Permisos necesarios para Agentes de Amazon Bedrock
<a name="iam-agents-ex-all"></a>

Para que una identidad de IAM utilice Agentes de Amazon Bedrock, debe configurarla con los permisos necesarios. Puede adjuntar la [AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess)política para conceder los permisos adecuados al rol.

Para restringir los permisos solo a las acciones que se utilizan en Agentes para Amazon Bedrock, asocie la siguiente política basada en identidades a un rol de IAM:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AgentPermissions",
            "Effect": "Allow",
            "Action": [  
                "bedrock:ListFoundationModels",
                "bedrock:GetFoundationModel",
                "bedrock:TagResource", 
                "bedrock:UntagResource", 
                "bedrock:ListTagsForResource", 
                "bedrock:CreateAgent", 
                "bedrock:UpdateAgent", 
                "bedrock:GetAgent", 
                "bedrock:ListAgents", 
                "bedrock:DeleteAgent",
                "bedrock:CreateAgentActionGroup", 
                "bedrock:UpdateAgentActionGroup", 
                "bedrock:GetAgentActionGroup", 
                "bedrock:ListAgentActionGroups", 
                "bedrock:DeleteAgentActionGroup",
                "bedrock:GetAgentVersion",
                "bedrock:ListAgentVersions", 
                "bedrock:DeleteAgentVersion",
                "bedrock:CreateAgentAlias", 
                "bedrock:UpdateAgentAlias",               
                "bedrock:GetAgentAlias",
                "bedrock:ListAgentAliases",
                "bedrock:DeleteAgentAlias",
                "bedrock:AssociateAgentKnowledgeBase",
                "bedrock:DisassociateAgentKnowledgeBase",
                "bedrock:ListAgentKnowledgeBases",
                "bedrock:GetKnowledgeBase",
                "bedrock:ListKnowledgeBases",
                "bedrock:PrepareAgent",
                "bedrock:InvokeAgent",
                "bedrock:AssociateAgentCollaborator",
                "bedrock:DisassociateAgentCollaborator",
                "bedrock:GetAgentCollaborator",
                "bedrock:ListAgentCollaborators",
                "bedrock:UpdateAgentCollaborator"
            ],
            "Resource": "*"
        }
    ]   
}
```

------

Puede restringir aún más los permisos omitiendo [acciones](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-actions) o especificando [recursos](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-resources) y [claves de condición](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-conditionkeys). Una identidad de IAM puede llamar a las operaciones de la API en recursos específicos. Por ejemplo, la operación [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgent.html) solo se puede usar en los recursos del agente y la operación [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) solo se puede usar en los recursos de alias. Para las operaciones de la API que no se utilizan en un tipo de recurso específico (por ejemplo, [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgent.html)), especifique \$1 como `Resource`. Si especifica una operación de la API que no se puede utilizar en el recurso especificado en la política, Amazon Bedrock devuelve un error.

## Permiso para que los usuarios vean información sobre un agente e invocarlo
<a name="security_iam_id-based-policy-examples-perform-actions-agent"></a>

El siguiente es un ejemplo de política que puede adjuntar a un rol de IAM para que pueda ver información sobre un agente con el ID o editarlo *AGENT12345* e interactuar con su alias con el ID*ALIAS12345*. Por ejemplo, puede asociar esta política a un rol para el que desee que solo tenga permisos para solucionar problemas de un agente y actualizarlo.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetAndUpdateAgent",
            "Effect": "Allow",
            "Action": [
                "bedrock:GetAgent",
                "bedrock:UpdateAgent"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:agent/AgentId"
        },
        {
            "Sid": "InvokeAgent",
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeAgent"
            ],
            "Resource": "arn:aws:bedrock:us-east-1:123456789012:agent-alias/AgentId/AgentAliasId"
        }
    ]
}
```

------

## Controle el acceso a los niveles de servicio
<a name="security_iam_id-based-policy-examples-service-tiers"></a>

Los niveles de servicio de Amazon Bedrock proporcionan diferentes niveles de prioridad de procesamiento y precios para las solicitudes de inferencia. De forma predeterminada, todos los niveles de servicio (prioritario, predeterminado y flexible) están disponibles para los usuarios con los permisos de Bedrock adecuados, siguiendo un enfoque de lista de permitidos en el que se concede el acceso a menos que se restrinja explícitamente.

Sin embargo, es posible que las organizaciones deseen controlar a qué niveles de servicio pueden acceder sus usuarios para gestionar los costes o hacer cumplir las políticas de uso. Puede implementar restricciones de acceso mediante políticas de IAM con la clave de `bedrock:ServiceTier` condición para denegar el acceso a niveles de servicio específicos. Este enfoque le permite mantener un control pormenorizado sobre qué miembros del equipo pueden utilizar los niveles de servicio premium, como el «prioritario», o los niveles con costes optimizados, como el «flexible».

El siguiente ejemplo muestra una política basada en la identidad que deniega el acceso a todos los niveles de servicio. Este tipo de política resulta útil cuando se quiere impedir que los usuarios especifiquen un nivel de servicio y obligarlos a utilizar el comportamiento predeterminado del sistema:

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "bedrock:InvokeModel",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "bedrock:ServiceTier": ["reserved", "priority", "default", "flex"]
                }
            }
        }
    ]
}
```

Puede personalizar esta política para denegar el acceso únicamente a niveles de servicio específicos modificando los valores de `bedrock:ServiceTier` condición. Por ejemplo, para denegar únicamente el nivel premium de «prioridad» y permitir los niveles «predeterminado» y «flexible», especificaría únicamente `["priority"]` esa condición. Este enfoque flexible le permite implementar políticas de uso que se ajusten a los requisitos operativos y de administración de costos de su organización. Para obtener más información sobre los niveles de servicio, consulte[Niveles de servicio para optimizar el rendimiento y los costes](service-tiers-inference.md).

# Gestión de las políticas de IAM en los proyectos
<a name="security-iam-projects"></a>

Los proyectos de Amazon Bedrock admiten la vinculación directa de políticas de IAM, lo que le permite gestionar el control de acceso a nivel de recursos del proyecto. Esto proporciona una alternativa a la gestión de las políticas sobre los usuarios y roles de IAM.

## Comprensión de las políticas de IAM a nivel de proyecto
<a name="security-iam-projects-understanding"></a>

Las políticas de IAM a nivel de proyecto le permiten:
+ **Centralice el control de acceso**: defina los permisos directamente en el recurso del proyecto
+ **Simplifique la administración**: actualice el acceso sin modificar las políticas individuales user/role 
+ **Audita fácilmente**: consulta todos los permisos de un proyecto en un solo lugar
+ **Administración delegada**: permita a los propietarios de los proyectos gestionar el acceso a sus proyectos

## Adjuntar políticas de IAM a los proyectos
<a name="security-iam-projects-attaching"></a>

### Adjunte una política para conceder el acceso
<a name="security-iam-projects-attach-grant"></a>

Adjunta una política de IAM directamente a un proyecto para conceder permisos:

```
import boto3
import json

iam = boto3.client('iam', region_name='us-east-1')

project_arn = "arn:aws:bedrock-mantle:us-east-1:123456789012:project/proj_abc123"

# Define the identity-based policy document
policy_document = {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowTeamAlphaAccess",
            "Effect": "Allow",
            "Action": [
                "bedrock-mantle:ListTagsForResources",
                "bedrock-mantle:GetProject"
            ],
            "Resource": project_arn
        }
    ]
}

policy_json = json.dumps(policy_document)

# Create a managed policy
create_response = iam.create_policy(
    PolicyName="TeamAlphaAccessPolicy",
    PolicyDocument=policy_json,
    Description="Grants Team Alpha read access to the Bedrock project"
)

policy_arn = create_response['Policy']['Arn']
print(f"Policy created: {policy_arn}")

# Attach the policy to alice (IAM user)
iam.attach_user_policy(
    UserName="alice",
    PolicyArn=policy_arn
)
print("Policy attached to alice")

# Attach the policy to bob (IAM user)
iam.attach_user_policy(
    UserName="bob",
    PolicyArn=policy_arn
)
print("Policy attached to bob")

# Attach the policy to TeamAlphaRole (IAM role)
iam.attach_role_policy(
    RoleName="TeamAlphaRole",
    PolicyArn=policy_arn
)
print("Policy attached to TeamAlphaRole")
```

### Otorgue acceso completo al proyecto a un equipo
<a name="security-iam-projects-full-access"></a>

Permita que un equipo tenga acceso total para administrar y usar un proyecto:

```
import boto3
import json

iam = boto3.client('iam', region_name='us-east-1')

project_arn = "arn:aws:bedrock-mantle:us-east-1:123456789012:project/proj_abc123"

# Identity-based policy — no Principal block needed
policy_document = {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "FullProjectAccess",
            "Effect": "Allow",
            "Action": "bedrock-mantle:*",
            "Resource": project_arn
        }
    ]
}

# Create a managed policy
create_response = iam.create_policy(
    PolicyName="DataScienceFullAccess",
    PolicyDocument=json.dumps(policy_document),
    Description="Grants DataScienceTeamRole full access to the Bedrock project"
)

policy_arn = create_response['Policy']['Arn']
print(f"Policy created: {policy_arn}")

# Attach to the DataScienceTeamRole
iam.attach_role_policy(
    RoleName="DataScienceTeamRole",
    PolicyArn=policy_arn
)

print("Full access policy attached to DataScienceTeamRole")
```

### Conceder acceso de solo lectura a
<a name="security-iam-projects-readonly"></a>

Adjunta una política que permita ver los detalles del proyecto y realizar únicamente solicitudes de inferencia:

```
import boto3
import json

iam = boto3.client('iam', region_name='us-east-1')

project_arn = "arn:aws:bedrock-mantle:us-east-1:123456789012:project/proj_abc123"

# Identity-based policy — no Principal block needed
policy_document = {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadOnlyAccess",
            "Effect": "Allow",
            "Action": [
                "bedrock-mantle:CreateInference",
                "bedrock-mantle:GetProject",
                "bedrock-mantle:ListProjects",
                "bedrock-mantle:ListTagsForResources"
            ],
            "Resource": project_arn
        }
    ]
}

# Create a managed policy
create_response = iam.create_policy(
    PolicyName="ReadOnlyAccessPolicy",
    PolicyDocument=json.dumps(policy_document),
    Description="Grants viewer1 and viewer2 read-only access to the Bedrock project"
)

policy_arn = create_response['Policy']['Arn']
print(f"Policy created: {policy_arn}")

# Attach to viewer1
iam.attach_user_policy(
    UserName="viewer1",
    PolicyArn=policy_arn
)
print("Policy attached to viewer1")

# Attach to viewer2
iam.attach_user_policy(
    UserName="viewer2",
    PolicyArn=policy_arn
)
print("Policy attached to viewer2")
```







# AWS políticas gestionadas para Amazon Bedrock
<a name="security-iam-awsmanpol"></a>

Para añadir permisos a usuarios, grupos y roles, es más fácil usar políticas AWS administradas que escribirlas tú mismo. Se necesita tiempo y experiencia para [crear políticas administradas por el cliente de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) que proporcionen a su equipo solo los permisos necesarios. Para empezar rápidamente, puedes usar nuestras políticas AWS gestionadas. Estas políticas cubren casos de uso comunes y están disponibles en su Cuenta de AWS.

Para obtener una lista de las políticas AWS administradas, consulte [las políticas AWS administradas](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/policy-list.html) en la referencia de políticas AWS administradas. Para obtener más información sobre las políticas AWS administradas, consulte las [políticas AWS administradas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) en la Guía del *usuario de IAM*.

AWS los servicios mantienen y AWS actualizan las políticas gestionadas. No puede cambiar los permisos en las políticas AWS gestionadas. En ocasiones, los servicios agregan permisos adicionales a una política administrada de AWS para admitir características nuevas. Este tipo de actualización afecta a todas las identidades (usuarios, grupos y roles) donde se asocia la política. Es más probable que los servicios actualicen una política administrada de AWS cuando se lanza una nueva característica o cuando se ponen a disposición nuevas operaciones. Los servicios no eliminan los permisos de una política AWS administrada, por lo que las actualizaciones de la política no afectarán a los permisos existentes.

Además, AWS admite políticas administradas para funciones laborales que abarcan varios servicios. Por ejemplo, la política **ReadOnlyAccess** AWS gestionada proporciona acceso de solo lectura a todos los AWS servicios y recursos. Cuando un servicio lanza una nueva función, AWS agrega permisos de solo lectura para nuevas operaciones y recursos. Para obtener una lista y descripciones de las políticas de funciones de trabajo, consulte [Políticas administradas de AWS para funciones de trabajo](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) en la *Guía del usuario de IAM*.

**Topics**
+ [AWS política gestionada: AmazonBedrockFullAccess](#security-iam-awsmanpol-AmazonBedrockFullAccess)
+ [AWS política gestionada: AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly)
+ [AWS política gestionada: AmazonBedrockLimitedAccess](#security-iam-awsmanpol-AmazonBedrockLimitedAccess)
+ [AWS política gestionada: AmazonBedrockMarketplaceAccess](#security-iam-awsmanpol-AmazonBedrockMarketplaceAccess)
+ [AWS política gestionada: AmazonBedrockMantleFullAccess](#security-iam-awsmanpol-AmazonBedrockMantleFullAccess)
+ [AWS política gestionada: AmazonBedrockMantleReadOnly](#security-iam-awsmanpol-AmazonBedrockMantleReadOnly)
+ [AWS política gestionada: AmazonBedrockMantleInferenceAccess](#security-iam-awsmanpol-AmazonBedrockMantleInferenceAccess)
+ [Amazon Bedrock actualiza las políticas AWS gestionadas](#security-iam-awsmanpol-updates)

## AWS política gestionada: AmazonBedrockFullAccess
<a name="security-iam-awsmanpol-AmazonBedrockFullAccess"></a>

Puede adjuntar la [AmazonBedrockFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockFullAccess.html)política a sus identidades de IAM para conceder permisos administrativos que permitan al usuario crear, leer, actualizar y eliminar recursos de Amazon Bedrock.

**Detalles de los permisos**

Esta política incluye los permisos siguientes:
+  `ec2`(Amazon Elastic Compute Cloud): permite permisos para describir VPCs subredes y grupos de seguridad. 
+  `iam`(AWS Identity and Access Management): permite a los directores transferir funciones, pero solo permite transferir las funciones de IAM que contengan «Amazon Bedrock» al servicio Amazon Bedrock. Los permisos están restringidos a `bedrock.amazonaws.com` para las operaciones de Amazon Bedrock. 
+  `kms`(Servicio de administración de AWS claves): permite a los directores describir las claves y los alias. AWS KMS 
+  `bedrock` (Amazon Bedrock): concede a las entidades principales acceso de lectura y escritura a todas las acciones del plano de control y el servicio de tiempo de ejecución de Amazon Bedrock. 
+  `sagemaker`(Amazon SageMaker AI): permite a los directores acceder a los recursos de Amazon SageMaker AI de la cuenta del cliente, lo que sirve de base para la función Amazon Bedrock Marketplace. 

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

****  

```
{
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Sid": "BedrockAll",
             "Effect": "Allow",
             "Action": [
                 "bedrock:*"
             ],
             "Resource": "*"
         },
         {
             "Sid": "DescribeKey",
             "Effect": "Allow",
             "Action": [
                 "kms:DescribeKey"
             ],
             "Resource": "arn:*:kms:*:::*"
         },
         {
             "Sid": "APIsWithAllResourceAccess",
             "Effect": "Allow",
             "Action": [
                 "iam:ListRoles",
                 "ec2:DescribeVpcs",
                 "ec2:DescribeSubnets",
                 "ec2:DescribeSecurityGroups"
             ],
             "Resource": "*"
         },
         {
             "Sid": "MarketplaceModelEndpointMutatingAPIs",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:CreateEndpoint",
                 "sagemaker:CreateEndpointConfig",
                 "sagemaker:CreateModel",
                 "sagemaker:DeleteEndpoint",
                 "sagemaker:UpdateEndpoint"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:*:endpoint/*",
                 "arn:aws:sagemaker:*:*:endpoint-config/*",
                 "arn:aws:sagemaker:*:*:model/*"
             ],
             "Condition": {
                 "StringEquals": {
                     "aws:CalledViaLast": "bedrock.amazonaws.com",
                     "aws:ResourceTag/sagemaker-sdk:bedrock": "compatible"
                 }
             }
         },
         {
             "Sid": "MarketplaceModelEndpointAddTagsOperations",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:AddTags"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:*:endpoint/*",
                 "arn:aws:sagemaker:*:*:endpoint-config/*",
                 "arn:aws:sagemaker:*:*:model/*"
             ],
             "Condition": {
                 "ForAllValues:StringEquals": {
                     "aws:TagKeys": [
                         "sagemaker-sdk:bedrock",
                         "bedrock:marketplace-registration-status",
                         "sagemaker-studio:hub-content-arn"
                     ]
                 },
                 "StringLike": {
                     "aws:RequestTag/sagemaker-sdk:bedrock": "compatible",
                     "aws:RequestTag/bedrock:marketplace-registration-status": "registered",
                     "aws:RequestTag/sagemaker-studio:hub-content-arn": "arn:aws:sagemaker:*:aws:hub-content/SageMakerPublicHub/Model/*"
                 }
             }
         },
         {
             "Sid": "MarketplaceModelEndpointDeleteTagsOperations",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:DeleteTags"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:*:endpoint/*",
                 "arn:aws:sagemaker:*:*:endpoint-config/*",
                 "arn:aws:sagemaker:*:*:model/*"
             ],
             "Condition": {
                 "ForAllValues:StringEquals": {
                     "aws:TagKeys": [
                         "sagemaker-sdk:bedrock",
                         "bedrock:marketplace-registration-status",
                         "sagemaker-studio:hub-content-arn"
                     ]
                 },
                 "StringLike": {
                     "aws:ResourceTag/sagemaker-sdk:bedrock": "compatible",
                     "aws:ResourceTag/bedrock:marketplace-registration-status": "registered",
                     "aws:ResourceTag/sagemaker-studio:hub-content-arn": "arn:aws:sagemaker:*:aws:hub-content/SageMakerPublicHub/Model/*"
                 }
             }
         },
         {
             "Sid": "MarketplaceModelEndpointNonMutatingAPIs",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:DescribeEndpoint",
                 "sagemaker:DescribeEndpointConfig",
                 "sagemaker:DescribeModel",
                 "sagemaker:DescribeInferenceComponent",
                 "sagemaker:ListEndpoints",
                 "sagemaker:ListTags"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:*:endpoint/*",
                 "arn:aws:sagemaker:*:*:endpoint-config/*",
                 "arn:aws:sagemaker:*:*:model/*"
             ],
             "Condition": {
                 "StringEquals": {
                     "aws:CalledViaLast": "bedrock.amazonaws.com"
                 }
             }
         },
         {
             "Sid": "MarketplaceModelEndpointInvokingOperations",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:InvokeEndpoint",
                 "sagemaker:InvokeEndpointWithResponseStream"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:*:endpoint/*"
             ],
             "Condition": {
                 "StringEquals": {
                     "aws:CalledViaLast": "bedrock.amazonaws.com",
                     "aws:ResourceTag/sagemaker-sdk:bedrock": "compatible"
                 }
             }
         },
         {
             "Sid": "DiscoveringMarketplaceModel",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:DescribeHubContent"
             ],
             "Resource": [
                 "arn:aws:sagemaker:*:aws:hub-content/SageMakerPublicHub/Model/*",
                 "arn:aws:sagemaker:*:aws:hub/SageMakerPublicHub"
             ]
         },
         {
             "Sid": "AllowMarketplaceModelsListing",
             "Effect": "Allow",
             "Action": [
                 "sagemaker:ListHubContents"
             ],
             "Resource": "arn:aws:sagemaker:*:aws:hub/SageMakerPublicHub"
         },
         {
             "Sid": "PassRoleToSageMaker",
             "Effect": "Allow",
             "Action": [
                 "iam:PassRole"
             ],
             "Resource": [
                 "arn:aws:iam::*:role/*SageMaker*ForBedrock*"
             ],
             "Condition": {
                 "StringEquals": {
                     "iam:PassedToService": [
                         "sagemaker.amazonaws.com",
                         "bedrock.amazonaws.com"
                     ]
                 }
             }
         },
         {
             "Sid": "PassRoleToBedrock",
             "Effect": "Allow",
             "Action": [
                 "iam:PassRole"
             ],
             "Resource": "arn:aws:iam::*:role/*AmazonBedrock*",
             "Condition": {
                 "StringEquals": {
                     "iam:PassedToService": [
                         "bedrock.amazonaws.com"
                     ]
                 }
             }
         },
         {
             "Sid": "MarketplaceOperationsFromBedrockFor3pModels",
             "Effect": "Allow",
             "Action": [
                 "aws-marketplace:Subscribe",
                 "aws-marketplace:ViewSubscriptions",
                 "aws-marketplace:Unsubscribe"
             ],
             "Resource": "*",
             "Condition": {
                 "StringEquals": {
                     "aws:CalledViaLast": "bedrock.amazonaws.com"
                 }
             }
         }
     ]
 }
```

------

## AWS política gestionada: AmazonBedrockReadOnly
<a name="security-iam-awsmanpol-AmazonBedrockReadOnly"></a>

Puede adjuntar la [AmazonBedrockReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockReadOnly.html)política a sus identidades de IAM para conceder permisos de solo lectura para ver todos los recursos de Amazon Bedrock.

## AWS política gestionada: AmazonBedrockLimitedAccess
<a name="security-iam-awsmanpol-AmazonBedrockLimitedAccess"></a>

Puede adjuntar la [AmazonBedrockLimitedAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockLimitedAccess.html)política a sus identidades de IAM para permitirle acceder a los servicios de Amazon Bedrock, la administración de AWS KMS claves, los recursos de red y las suscripciones a AWS Marketplace para modelos básicos de terceros. Esta política incluye las siguientes instrucciones:
+ La instrucción `BedrockAPIs` le permite realizar varias operaciones en Amazon Bedrock, entre las que se incluyen:
  + Pasar la clave de API de Amazon Bedrock al realizar solicitudes de API al servicio Amazon Bedrock
  + Describir información acerca de los recursos
  + Crear recursos (barreras de protección, modelos, trabajos)
  + Crear y refinar políticas de razonamiento automatizado (crear, desarrollar, refinar y probar políticas)
  + Eliminar recursos
  + Invocar modelos en todos los recursos
+ La instrucción `DescribeKey` le permite ver información sobre las claves de KMS en todas las regiones y cuentas, siempre que las políticas de claves lo permitan.
+ La instrucción `APIsWithAllResourceAccess` le permite:
  + Enumerar los roles de IAM.
  + Describa los recursos de Amazon VPC (VPCssubredes y grupos de seguridad) en todos los recursos.
+ La instrucción `MarketplaceOperationsFromBedrockFor3pModels` le permite:
  + Suscríbase a las ofertas. AWS Marketplace 
  + Consultar suscripciones
  + Darse de baja de AWS Marketplace las ofertas.
**nota**  
La clave de condición `aws:CalledViaLast` restringe estas acciones a solo cuando se invocan a través del servicio Amazon Bedrock.

## AWS política gestionada: AmazonBedrockMarketplaceAccess
<a name="security-iam-awsmanpol-AmazonBedrockMarketplaceAccess"></a>

Puede adjuntar la [AmazonBedrockMarketplaceAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockMarketplaceAccess.html)política a sus identidades de IAM para que pueda gestionar y utilizar los puntos finales del modelo de mercado de Amazon Bedrock con SageMaker integración de IA. Esta política incluye las siguientes instrucciones:
+ La instrucción `BedrockMarketplaceAPIs` le permite crear, eliminar, registrar, anular el registro y actualizar los puntos de conexión del modelo del Marketplace en Amazon Bedrock en todos los recursos.
+ La `MarketplaceModelEndpointMutatingAPIs` declaración le permite crear y administrar puntos de enlace de SageMaker IA, configuraciones de puntos finales y modelos en recursos específicos.
  + Utilice la clave de condición `aws:CalledViaLast` para asegurarse de que estas acciones solo se realicen cuando se invoquen a través de Bedrock.
  + Use la clave de condición `aws:ResourceTag/sagemaker-sdk:bedrock` para asegurarse de que estas acciones solo se realicen en recursos etiquetados como compatibles con Amazon Bedrock.
+ La `MarketplaceModelEndpointAddTagsOperations` declaración permite añadir etiquetas específicas a los puntos finales, las configuraciones de los puntos finales y los modelos de la SageMaker IA en recursos específicos.
  + Utilice la clave de condición `aws:TagKeys` para restringir las etiquetas que se pueden añadir.
  + Utilice la clave de condición `aws:RequestTag/*` para asegurarse de que los valores de las etiquetas coincidan con los patrones especificados.
+ La `MarketplaceModelEndpointDeleteTagsOperations` declaración permite eliminar etiquetas específicas de los puntos finales, las configuraciones de los puntos finales y los modelos de la SageMaker IA en recursos específicos.
  + Utilice la clave de condición `aws:TagKeys` para restringir las etiquetas que se pueden eliminar.
  + Utilice la clave de condición `aws:ResourceTag/*` para asegurarse de que las etiquetas eliminadas coincidan con los patrones especificados.
+ La `MarketplaceModelEndpointNonMutatingAPIs` declaración permite ver y describir los puntos finales, las configuraciones de los puntos finales y los modelos de la SageMaker IA en recursos específicos.
  + Utilice la clave de condición `aws:CalledViaLast` para asegurarse de que estas acciones solo se realicen cuando se invoquen a través del servicio Amazon Bedrock.
+ La `MarketplaceModelEndpointInvokingOperations` declaración permite invocar puntos finales de SageMaker IA en recursos específicos.
  + Utilice la clave de condición `aws:CalledViaLast` para asegurarse de que estas acciones solo se realicen a través del servicio Amazon Bedrock.
  + Use la clave de condición `aws:ResourceTag/sagemaker-sdk:bedrock` para asegurarse de que estas acciones solo se realicen en recursos compatibles con Amazon Bedrock.
+ La `DiscoveringMarketplaceModel` declaración permite describir el contenido del centro de SageMaker IA en recursos específicos.
+ La `AllowMarketplaceModelsListing` declaración permite enumerar el contenido de SageMaker AI Hub en recursos específicos.
+ La `PassRoleToSageMaker` declaración permite transferir funciones de IAM a SageMaker AI y Amazon Bedrock en recursos específicos.
  + Utilice la clave de condición `iam:PassedToService` para garantizar que los roles solo se pasen a servicios específicos.
+ La instrucción `PassRoleToBedrock` le permite pasar roles de IAM específicos a Amazon Bedrock en recursos específicos.
  + Utilice la clave de condición `iam:PassedToService` para asegurarse de que estos roles solo se pasen al servicio Amazon Bedrock.

## AWS política gestionada: AmazonBedrockMantleFullAccess
<a name="security-iam-awsmanpol-AmazonBedrockMantleFullAccess"></a>

Puede adjuntar la [AmazonBedrockMantleFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockMantleFullAccess.html)política a sus identidades de IAM para conceder acceso total a todas las operaciones de Amazon Bedrock Mantle.

**Detalles de los permisos**

Esta política incluye los permisos siguientes:
+ `bedrock-mantle`(Amazon Bedrock Mantle): permite a los directores tener acceso total a todas las acciones del servicio Amazon Bedrock Mantle.

## AWS política gestionada: AmazonBedrockMantleReadOnly
<a name="security-iam-awsmanpol-AmazonBedrockMantleReadOnly"></a>

Puede adjuntar la [AmazonBedrockMantleReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockMantleReadOnly.html)política a sus identidades de IAM para conceder permisos de solo lectura para ver los recursos de Amazon Bedrock Mantle y realizar llamadas con un token de portador.

**Detalles de los permisos**

Esta política incluye los permisos siguientes:
+ `bedrock-mantle`(Amazon Bedrock Mantle): permite a los directores obtener y enumerar los recursos del proyecto Amazon Bedrock Mantle y llamar con un token de portador para autenticarse.

## AWS política gestionada: AmazonBedrockMantleInferenceAccess
<a name="security-iam-awsmanpol-AmazonBedrockMantleInferenceAccess"></a>

Puede adjuntar la [AmazonBedrockMantleInferenceAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonBedrockMantleInferenceAccess.html)política a sus identidades de IAM para conceder permisos para ejecutar inferencias en los modelos de Amazon Bedrock Mantle.

**Detalles de los permisos**

Esta política incluye los permisos siguientes:
+ `bedrock-mantle`(Amazon Bedrock Mantle): permite a los directores obtener y enumerar los recursos del proyecto Amazon Bedrock Mantle, crear solicitudes de inferencia y llamar con un token de portador para autenticarse.

## Amazon Bedrock actualiza las políticas AWS gestionadas
<a name="security-iam-awsmanpol-updates"></a>

Consulte los detalles sobre las actualizaciones de las políticas AWS gestionadas de Amazon Bedrock desde que este servicio comenzó a realizar el seguimiento de estos cambios. Para obtener alertas automáticas sobre cambios en esta página, suscríbase a la fuente RSS en [Historial de documentación para la guía de usuario de Amazon Bedrock](doc-history.md).


| Cambio | Descripción | Fecha | 
| --- | --- | --- | 
|  [AmazonBedrockMantleFullAccess](#security-iam-awsmanpol-AmazonBedrockMantleFullAccess): política nueva  |  Amazon Bedrock agregó una nueva política para otorgar acceso total a todas las operaciones de Amazon Bedrock Mantle.  | 3 de diciembre de 2025 | 
|  [AmazonBedrockMantleReadOnly](#security-iam-awsmanpol-AmazonBedrockMantleReadOnly): política nueva  |  Amazon Bedrock agregó una nueva política para conceder acceso de solo lectura a los recursos de Amazon Bedrock Mantle.  | 3 de diciembre de 2025 | 
|  [AmazonBedrockMantleInferenceAccess](#security-iam-awsmanpol-AmazonBedrockMantleInferenceAccess): política nueva  |  Amazon Bedrock agregó una nueva política para conceder acceso a la inferencia a los modelos Amazon Bedrock Mantle.  | 3 de diciembre de 2025 | 
|  [AmazonBedrockFullAccess](#security-iam-awsmanpol-AmazonBedrockFullAccess): política actualizada  |  Amazon Bedrock actualizó la política AmazonBedrockFullAccess administrada para permitir el acceso a todos los modelos básicos sin servidor de forma predeterminada.  | 14 de julio de 2025 | 
|  [AmazonBedrockMarketplaceAccess](#security-iam-awsmanpol-AmazonBedrockLimitedAccess): política nueva  |  Amazon Bedrock agregó una nueva política para conceder a los clientes permisos para acceder a los modelos básicos de Amazon Bedrock Marketplace a través de un punto final de SageMaker IA.  | 13 de junio de 2025 | 
|  [AmazonBedrockLimitedAccess](#security-iam-awsmanpol-AmazonBedrockLimitedAccess): política nueva  |  Amazon Bedrock agregó una nueva política para conceder a los clientes permisos básicos para acceder a las acciones principales de Amazon Bedrock.  | 13 de junio de 2025 | 
|  [AmazonBedrockFullAccess](#security-iam-awsmanpol-AmazonBedrockFullAccess): política actualizada  |  Amazon Bedrock actualizó la política AmazonBedrockFullAccess gestionada para conceder a los clientes los permisos necesarios para crear, leer, actualizar y eliminar los recursos de Amazon Bedrock Marketplace. Esto incluye permisos para administrar los recursos de Amazon SageMaker AI subyacentes, ya que sirven de base para la funcionalidad de Amazon Bedrock Marketplace.  | 4 de diciembre de 2024 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly): política actualizada  |  Amazon Bedrock actualizó la política AmazonBedrockReadOnly gestionada para conceder a los clientes los permisos necesarios para leer los recursos de Amazon Bedrock Marketplace. Esto incluye permisos para administrar los recursos de Amazon SageMaker AI subyacentes, ya que sirven de base para la funcionalidad de Amazon Bedrock Marketplace.  | 4 de diciembre de 2024 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly): política actualizada  |  Amazon Bedrock actualizó la AmazonBedrockReadOnly política para incluir permisos de solo lectura para la importación de modelos personalizados.  | 18 de octubre de 2024 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly): política actualizada  |  Amazon Bedrock ha añadido permisos de solo lectura del perfil de inferencia.  | 27 de agosto de 2024 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly): política actualizada  |  Amazon Bedrock actualizó la AmazonBedrockReadOnly política para incluir permisos de solo lectura para Amazon Bedrock Guardrails, la evaluación del modelo Amazon Bedrock y la inferencia por lotes de Amazon Bedrock.  | 21 de agosto de 2024 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly): política actualizada  |  Amazon Bedrock ha agregado permisos de solo lectura para inferencia por lotes (trabajo de invocación del modelo).  | 21 de agosto de 2024 | 
|   [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly): política actualizada   |  Amazon Bedrock actualizó la AmazonBedrockReadOnly política para incluir permisos de solo lectura para la importación de modelos personalizados de Amazon Bedrock.  | 3 de septiembre de 2024 | 
|  [AmazonBedrockFullAccess](#security-iam-awsmanpol-AmazonBedrockFullAccess): política nueva  |  Amazon Bedrock agregó una nueva política para otorgar a los usuarios permisos para crear, leer, actualizar y eliminar recursos.  | 12 de diciembre de 2023 | 
|  [AmazonBedrockReadOnly](#security-iam-awsmanpol-AmazonBedrockReadOnly): política nueva  |  Amazon Bedrock ha agregado una nueva política para conceder a los usuarios permisos de solo lectura para realizar todas las acciones.  | 12 de diciembre de 2023 | 
|  Amazon Bedrock comenzó a hacer un seguimiento de los cambios  |  Amazon Bedrock comenzó a realizar un seguimiento de los cambios en sus políticas AWS gestionadas.  | 12 de diciembre de 2023 | 

# Roles de servicio
<a name="security-iam-sr"></a>

Amazon Bedrock usa [roles de servicio de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) para algunas características para dejar que Amazon Bedrock lleve a cabo tareas en su nombre.

La consola crea automáticamente roles de servicio para las características compatibles.

También puede crear un rol de servicio personalizado y personalizar los permisos asociados según su caso de uso específico. Si usa la consola, puede seleccionar este rol en lugar de dejar que Amazon Bedrock cree uno por usted.

Para configurar el rol de servicio personalizado, lleve a cabo los siguientes pasos generales.

1. Cree el rol siguiendo los pasos que se indican en [Crear un rol para delegar permisos a un AWS servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).

1. Asociar una **política de confianza**.

1. Asociar los permisos **basados en identidades** pertinentes.

**importante**  
Cuando configure el permiso `iam:PassRole`, debe asegurarse de que un usuario no pueda pasar un rol que tenga más permisos de los que usted desea que tenga. Por ejemplo, es posible que a Alice no se le permita realizar `bedrock:InvokeModel` en un modelo personalizado. Si Alice puede pasar un rol a Amazon Bedrock para crear una evaluación de ese modelo personalizado, el servicio podría invocar ese modelo en nombre de Alice mientras ejecuta el trabajo.

Consulte los siguientes enlaces para obtener más información sobre los conceptos de IAM relacionados con la configuración de los permisos de los roles de servicio.
+ [AWS rol de servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)
+ [Políticas basadas en identidad y políticas basadas en recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html)
+ [Uso de políticas basadas en recursos para Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html)
+ [AWS condiciones globales: claves de contexto](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)
+ [Claves de condición para Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)

Seleccione un tema para obtener más información sobre los roles de servicio para una característica específica.

**Topics**
+ [Creación de un rol de servicio personalizado para la inferencia en lotes](batch-iam-sr.md)
+ [Creación de un rol de servicio para la personalización de modelos](model-customization-iam-role.md)
+ [Creación de un rol de servicio para la importación de modelos preentrenados](model-import-iam-role.md)
+ [Creación de un rol de servicio para los agentes de Amazon Bedrock](agents-permissions.md)
+ [Creación de un rol de servicio para bases de conocimientos de Amazon Bedrock](kb-permissions.md)
+ [Creación de un rol de servicio para Flujos de Amazon Bedrock en Amazon Bedrock](flows-permissions.md)
+ [Requisitos de rol de servicio para los trabajos de evaluación de modelos](model-evaluation-security-service-roles.md)

# Creación de un rol de servicio personalizado para la inferencia en lotes
<a name="batch-iam-sr"></a>

Para utilizar un rol de servicio personalizado para la inferencia por lotes en lugar del que Amazon Bedrock crea automáticamente para usted en elConsola de administración de AWS, cree un rol de IAM y adjunte los siguientes permisos siguiendo los pasos que se indican en [Crear un rol para delegar permisos a](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) un servicio. AWS

**Topics**
+ [Relación de confianza](#batch-iam-sr-trust)
+ [Permisos basados en identidades para el rol de servicio de inferencia por lotes.](#batch-iam-sr-identity)

## Relación de confianza
<a name="batch-iam-sr-trust"></a>

La siguiente política permite que Amazon Bedrock asuma este rol y realice trabajos de inferencia por lotes. Sustituya esta opción según sea necesario*values*. La política contiene claves de condición opcionales (consulte [Claves de condición para Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) y [Claves de contexto de condición globales de AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) en el campo `Condition` que es una práctica de seguridad que recomendamos.

**nota**  
Como práctica recomendada por motivos de seguridad, sustituya el *\$1* trabajo por uno de inferencia por lotes específico una IDs vez que lo haya creado.

------
#### [ 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/*"
                }
            }
        }
    ]
}
```

------

## Permisos basados en identidades para el rol de servicio de inferencia por lotes.
<a name="batch-iam-sr-identity"></a>

En los temas siguientes se describen y proporcionan ejemplos de políticas de permisos que puede que necesite asociar a su rol de servicio de inferencia en lotes personalizada, según su caso de uso.

**Topics**
+ [(Obligatorio) Permisos para acceder a los datos de entrada y salida en Amazon S3](#batch-iam-sr-s3)
+ [(Opcional) Permisos para ejecutar la inferencia en lotes con perfiles de inferencia](#batch-iam-sr-ip)

### (Obligatorio) Permisos para acceder a los datos de entrada y salida en Amazon S3
<a name="batch-iam-sr-s3"></a>

Para permitir que un rol de servicio acceda al bucket de Amazon S3 que contiene los datos de entrada y al bucket en el que se escriben los datos de salida, asocie la siguiente política al rol de servicio. *values*Sustitúyalo según sea necesario.

------
#### [ 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"
                ]
            }
         }
        }
    ]
}
```

------

### (Opcional) Permisos para ejecutar la inferencia en lotes con perfiles de inferencia
<a name="batch-iam-sr-ip"></a>

Para ejecutar una inferencia por lotes con un [perfil de inferencia](inference-profiles.md), un rol de servicio debe tener permisos para invocar el perfil de inferencia en una región del perfil de inferenciaRegión de AWS, además del modelo de cada región.

Para los permisos que se deben invocar con un perfil de inferencia entre regiones (definido por el sistema), utilice la siguiente política como plantilla para la política de permisos que debe asociar a su rol de servicio:

------
#### [ 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}"
            ]
        }
    ]
}
```

------

Para los permisos que se deben invocar con un perfil de inferencia de aplicación, utilice la siguiente política como plantilla para la política de permisos que debe asociar a su rol de servicio:

------
#### [ 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}"
            ]
        }
    ]
}
```

------

# Creación de un rol de servicio para la personalización de modelos
<a name="model-customization-iam-role"></a>

Para usar un rol personalizado para la personalización del modelo en lugar del que Amazon Bedrock crea automáticamente, cree un rol de IAM y adjunte los siguientes permisos siguiendo los pasos que se indican en [Crear un rol para delegar permisos a un AWS servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).
+ Relación de confianza
+ Permisos para acceder a los datos de entrenamiento y validación en S3 y para escribir los datos de salida en S3
+ (Opcional) Si cifra alguno de los siguientes recursos con una clave KMS, permisos para descifrar la clave (consulte [Cifrado de los modelos personalizados](encryption-custom-job.md))
  + Un trabajo de personalización del modelo o el modelo personalizado resultante
  + Los datos de entrenamiento, validación o salida para el trabajo de personalización del modelo

**Topics**
+ [Relación de confianza](#model-customization-iam-role-trust)
+ [Permisos para acceder a los archivos de entrenamiento y validación y escribir los archivos de salida en S3](#model-customization-iam-role-s3)
+ [(Opcional) Permisos para crear un trabajo de destilación con un perfil de inferencia entre regiones](#customization-iam-sr-ip)

## Relación de confianza
<a name="model-customization-iam-role-trust"></a>

La siguiente política permite a Amazon Bedrock asumir este rol y realizar el trabajo de personalización de modelos. A continuación se muestra un ejemplo de política que puede utilizar.

De forma opcional, puede restringir el alcance del permiso para [evitar que se produzcan errores confusos entre servicios](cross-service-confused-deputy-prevention.md) mediante el uso de una o más claves de contexto de condiciones globales en el campo `Condition`. Para obtener más información, consulte las [claves de contexto de condición globales de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html).
+ Configure el valor `aws:SourceAccount` en el ID de su cuenta.
+ (Opcional) Utilice la condición `ArnEquals` o `ArnLike` para restringir el alcance a trabajos de entrenamiento de modelos específicos de su ID de cuenta.

------
#### [ 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/*"
                }
            }
        }
    ]
}
```

------

## Permisos para acceder a los archivos de entrenamiento y validación y escribir los archivos de salida en S3
<a name="model-customization-iam-role-s3"></a>

Asocie la siguiente política para permitir que el rol acceda a sus datos de entrenamiento y validación y al bucket en el que escribir sus datos de salida. Sustituya los valores de la lista `Resource` por los nombres reales de los buckets.

Para restringir el acceso a una carpeta específica de un bucket, añada una clave de condición `s3:prefix` a la ruta de la carpeta. Puede seguir el ejemplo de la **Política de usuario** en el [Ejemplo 2: obtener una lista de objetos en un bucket con un prefijo específico](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/*"
            ]
        }
    ]
}
```

------

## (Opcional) Permisos para crear un trabajo de destilación con un perfil de inferencia entre regiones
<a name="customization-iam-sr-ip"></a>

Para utilizar un perfil de inferencia interregional para un modelo de profesor en un trabajo de síntesis, el rol de servicio debe tener permisos para invocar el perfil de inferencia en un modelo de profesorRegión de AWS, además del modelo de cada región del perfil de inferencia.

Para los permisos que se deben invocar con un perfil de inferencia entre regiones (definido por el sistema), utilice la siguiente política como plantilla para la política de permisos que debe asociar a su rol de servicio:

------
#### [ 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}"
            ]
        }
    ]
}
```

------

# Creación de un rol de servicio para la importación de modelos preentrenados
<a name="model-import-iam-role"></a>

Para utilizar un rol personalizado para la importación de modelos, cree un rol de servicio de IAM y asocie los siguientes permisos. Para obtener información sobre cómo crear un rol de servicio en IAM, consulte [Crear un rol para delegar permisos a un AWS servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html).

Estos permisos se aplican a ambos métodos de importación de modelos de Amazon Bedrock:
+ **Trabajos de importación de modelos personalizados**: para importar modelos fundacionales personalizados de código abierto (como modelos Mistral AI o Llama). Para obtener más información, consulte [Uso de la importación de modelos personalizados para importar un modelo de código abierto personalizado a Amazon Bedrock](model-customization-import-model.md).
+ **Cree un modelo personalizado**: para importar Amazon Nova modelos que haya ajustado con inteligencia artificial. SageMaker Para obtener más información, consulte [Importe un modelo de SageMaker Amazon Nova entrenado por IA](import-with-create-custom-model.md).

**Topics**
+ [Relación de confianza](#model-import-iam-role-trust)
+ [Permisos para acceder a archivos de modelos en Amazon S3](#model-import-iam-role-s3)

## Relación de confianza
<a name="model-import-iam-role-trust"></a>

La siguiente política permite a Amazon Bedrock asumir este rol y realizar las operaciones de importación de modelos. A continuación se muestra un ejemplo de política que puede utilizar.

De forma opcional, puede restringir el alcance del permiso para [evitar que se produzcan errores confusos entre servicios](cross-service-confused-deputy-prevention.md) mediante el uso de una o más claves de contexto de condiciones globales en el campo `Condition`. Para obtener más información, consulte las [claves de contexto de condición globales de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html).
+ Configure el valor `aws:SourceAccount` en el ID de su cuenta.
+ (Opcional) Utilice la condición `ArnEquals` o `ArnLike` para restringir el alcance a operaciones específicas de su cuenta. En el siguiente ejemplo se restringe el acceso a los trabajos de importación de modelos personalizados.

------
#### [ 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/*"
                }
            }
        }
    ]
}
```

------

## Permisos para acceder a archivos de modelos en Amazon S3
<a name="model-import-iam-role-s3"></a>

Asocie la siguiente política para permitir que el rol acceda a los archivos de modelos de un bucket de Amazon S3. Sustituya los valores de la lista `Resource` por los nombres reales de los buckets.

Para los trabajos de importación de modelos personalizados, este es su propio bucket de Amazon S3 que contiene los archivos de modelo de código abierto personalizados. Para crear modelos personalizados a partir de Amazon Nova modelos SageMaker entrenados por IA, este es el depósito Amazon S3 gestionado por Amazon, SageMaker donde la IA almacena los artefactos del modelo entrenado. SageMaker La IA crea este depósito cuando realizas tu primer SageMaker trabajo de formación en IA. 

Para restringir el acceso a una carpeta específica de un bucket, añada una clave de condición `s3:prefix` a la ruta de la carpeta. Puede seguir el ejemplo de la **Política de usuario** en el [Ejemplo 2: obtener una lista de objetos en un bucket con un prefijo específico](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"
                }
            }
        }
    ]
}
```

------

# Creación de un rol de servicio para los agentes de Amazon Bedrock
<a name="agents-permissions"></a>

Para usar un rol de servicio personalizado para los agentes en lugar del que Amazon Bedrock crea automáticamente, cree un rol de IAM y adjunte los siguientes permisos siguiendo los pasos que se indican en [Crear un rol para delegar permisos a un AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) servicio.
+ Política de confianza
+ Una política que contenga los siguientes permisos basados en identidades:
  + Acceso a los modelos base de Amazon Bedrock
  + Acceso a los objetos de Amazon S3 que contienen los esquemas de OpenAPI para los grupos de acciones de sus agentes
  + Permisos para que Amazon Bedrock consulte las bases de conocimientos que desea asociar a los agentes
  + Si alguna de las siguientes situaciones aparece en su caso de uso, añada la instrucción a la política o añada una política con la instrucción al rol de servicio:
    + (Opcional) Si habilita la colaboración entre múltiples agentes, los permisos para obtener los alias e invocar los colaboradores del agente.
    + (Opcional) Si asocia un rendimiento aprovisionado a su alias de agente, permisos para invocar modelos con ese rendimiento aprovisionado
    + (Opcional) Si asocia una barrera de protección al agente, permisos para aplicarla. Si la barrera de protección está cifrada con una clave de KMS, el rol de servicio también necesitará [permisos para descifrar la clave](guardrails-permissions-kms.md).
    + (Opcional) Si cifra su agente con una clave KMS, [permisos para descifrar la clave](encryption-agents.md).

Independientemente de si utiliza un rol personalizado o no, también debe asociar una **política basada en recursos** a las funciones de Lambda para los grupos de acciones de sus agentes para proporcionar permisos para que el rol de servicio acceda a las funciones. Para obtener más información, consulte [Política basada en recursos que permite a Amazon Bedrock invocar una función de Lambda de un grupo de acciones](#agents-permissions-lambda).

**Topics**
+ [Relación de confianza](#agents-permissions-trust)
+ [Permisos basados en identidades para el rol de servicio de los agentes](#agents-permissions-identity)
+ [(Opcional) Política basada en identidades que permite a Amazon Bedrock utilizar el rendimiento aprovisionado con su alias de agente](#agents-permissions-pt)
+ [(Opcional) Política basada en identidades que permite a Amazon Bedrock asociar e invocar agentes colaboradores](#agents-permissions-mac)
+ [(Opcional) Política basada en identidades que permite a Amazon Bedrock utilizar barreras de protección con su agente](#agents-permissions-gr)
+ [(Opcional) Política basada en identidades que permite a Amazon Bedrock acceder a los archivos de S3 para usarlos con la interpretación del código](#agents-permissions-files-ci)
+ [Política basada en recursos que permite a Amazon Bedrock invocar una función de Lambda de un grupo de acciones](#agents-permissions-lambda)

## Relación de confianza
<a name="agents-permissions-trust"></a>

La siguiente política de confianza permite a Amazon Bedrock asumir este rol y crear y administrar agentes. Sustituya esta opción *\$1\$1values\$1* según sea necesario. La política contiene claves de condición opcionales (consulte [Claves de condición para Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) y [Claves de contexto de condición globales de AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) en el campo `Condition` que es una práctica de seguridad que recomendamos.

**nota**  
Como práctica recomendada por motivos de seguridad, sustitúyalos por un agente específico una IDs vez que los haya creado. *\$1*

------
#### [ 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/*"
                }
            }
        }
    ]
}
```

------

## Permisos basados en identidades para el rol de servicio de los agentes
<a name="agents-permissions-identity"></a>

Adjunte la siguiente política para proporcionar permisos para el rol de servicio y sustitúyala *\$1\$1values\$1* según sea necesario. La política contiene las siguientes instrucciones. Omita una instrucción si no es aplicable a su caso de uso. La política contiene claves de condición opcionales (consulte [Claves de condición para Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) y [Claves de contexto de condición globales de AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) en el campo `Condition` que es una práctica de seguridad que recomendamos.

**nota**  
Si cifra el agente con una clave de KMS administrada por el cliente, consulte [Cifrado de los recursos del agente para agentes creados antes del 22 de enero de 2025](encryption-agents.md) para los permisos que debe agregar.
+ Permisos para usar los modelos fundacionales de Amazon Bedrock para ejecutar inferencias de modelos en las peticiones utilizadas en la orquestación de su agente.
+ Permisos para acceder a los esquemas de API de los grupos de acciones de su agente en Amazon S3. Omita esta instrucción si su agente no tiene grupos de acciones.
+ Permisos para acceder a las bases de conocimientos asociadas al agente. Omita esta instrucción si su agente no tiene bases de conocimientos asociadas.
+ Permisos para acceder a una base de conocimientos de terceros (Pinecone o Redis Enterprise Cloud) asociada a su agente. Omita esta afirmación si su base de conocimientos es propia (Amazon OpenSearch Serverless o Amazon Aurora) o si su agente no tiene bases de conocimientos asociadas.
+ Permisos para acceder a una petición desde Administración de peticiones. Omita esta instrucción si no tiene previsto probar una petición de administración de peticiones con su agente en la consola de 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"
            ]
        }
    ]
}
```

------

## (Opcional) Política basada en identidades que permite a Amazon Bedrock utilizar el rendimiento aprovisionado con su alias de agente
<a name="agents-permissions-pt"></a>

Si asocia un [rendimiento aprovisionado](prov-throughput.md) a un alias del agente, asocie la siguiente política basada en identidades al rol de servicio o añada la instrucción a la política en [Permisos basados en identidades para el rol de servicio de los agentes](#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}"
        ]
      }
    ]
}
```

------

## (Opcional) Política basada en identidades que permite a Amazon Bedrock asociar e invocar agentes colaboradores
<a name="agents-permissions-mac"></a>

Si habilita la [colaboración entre múltiples agentes](agents-multi-agent-collaboration.md), asocie la siguiente política basada en identidades al rol de servicio o añada la instrucción a la política en [Permisos basados en identidades para el rol de servicio de los agentes](#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}"
            ]
        }
    ]
}
```

------

## (Opcional) Política basada en identidades que permite a Amazon Bedrock utilizar barreras de protección con su agente
<a name="agents-permissions-gr"></a>

Si asocia una [barrera de protección](guardrails.md) al agente, asocie la siguiente política basada en identidades al rol de servicio o añada la instrucción a la política en [Permisos basados en identidades para el rol de servicio de los agentes](#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}"
            ]
        }
    ]
}
```

------

## (Opcional) Política basada en identidades que permite a Amazon Bedrock acceder a los archivos de S3 para usarlos con la interpretación del código
<a name="agents-permissions-files-ci"></a>

Si activa [Activación de la interpretación del código en Amazon Bedrock](agents-enable-code-interpretation.md), asocie la siguiente política basada en identidades al rol de servicio o añada la instrucción a la política en los [permisos basados en identidades para el rol de servicio de los agentes](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]]"
        ]
      }
    ]
}
```

------

## Política basada en recursos que permite a Amazon Bedrock invocar una función de Lambda de un grupo de acciones
<a name="agents-permissions-lambda"></a>

Siga los pasos que se indican en [Uso de políticas basadas en recursos para Lambda](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html) y adjunte la siguiente política basada en recursos a una función de Lambda para permitir que Amazon Bedrock acceda a la función Lambda para los grupos de acción de su agente, sustituyéndola según sea necesario. *\$1\$1values\$1* La política contiene claves de condición opcionales (consulte [Claves de condición para Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) y [Claves de contexto de condición globales de AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) en el campo `Condition` que es una práctica de seguridad que recomendamos.

------
#### [ 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}"
                }
            }
        }
    ]
}
```

------

# Creación de un rol de servicio para bases de conocimientos de Amazon Bedrock
<a name="kb-permissions"></a>

Para usar un rol personalizado para una base de conocimientos en lugar del que Amazon Bedrock crea automáticamente, cree un rol de IAM y adjunte los siguientes permisos siguiendo los pasos que se indican en [Crear un rol para delegar permisos a un AWS servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html). Incluya solo los permisos necesarios para su propia seguridad.

**nota**  
Una política no se puede compartir entre varios roles cuando se usa el rol de servicio.
+ Relación de confianza
+ Acceso a los modelos base de Amazon Bedrock
+ Acceso al origen de datos en el que almacena los datos
+ (Si creas una base de datos vectorial en Amazon OpenSearch Service) Accede a tu colección OpenSearch de servicios
+ (Si crea una base de datos vectorial en Amazon Aurora) Acceso al clúster de Aurora
+ (Si crea una base de datos vectorial en Pinecone oRedis Enterprise Cloud) Permisos AWS Secrets Manager para autenticar su Pinecone cuenta Redis Enterprise Cloud
+ (Opcional) Si cifra alguno de los siguientes recursos con una clave KMS, permisos para descifrar la clave (consulte [Cifrado de recursos de bases de conocimientos](encryption-kb.md)).
  + Su base de conocimientos
  + Orígenes de datos para bases de conocimientos
  + Tu base de datos vectoriales en Amazon OpenSearch Service
  + El secreto de tu base de datos vectorial de terceros en AWS Secrets Manager
  + Un trabajo de ingesta de datos

**Topics**
+ [Relación de confianza](#kb-permissions-trust)
+ [Permisos para acceder a los modelos de Amazon Bedrock](#kb-permissions-access-models)
+ [Permisos de acceso a los orígenes de datos](#kb-permissions-access-ds)
+ [Permisos para descifrar la AWS KMS clave de las fuentes de datos cifradas en Amazon S3](#kb-permissions-kms-datasource)
+ [Permisos para chatear con su documento](#kb-permissions-chatdoc)
+ [Permisos para contenido multimodal](#kb-permissions-multimodal)
+ [Permisos para acceder a su índice GenAI de Amazon Kendra](#kb-permissions-kendra)
+ [Permisos para acceder a su base de datos vectoriales en Amazon OpenSearch Serverless](#kb-permissions-oss)
+ [Permisos para acceder a su base de datos vectorial en clústeres OpenSearch gestionados](#kb-permissions-osm)
+ [Permisos para acceder al clúster de base de datos de Amazon Aurora](#kb-permissions-rds)
+ [Permisos para acceder a la base de datos vectorial en Análisis por Amazon Neptune](#kb-permissions-neptune)
+ [Permisos para acceder a su almacén de vectores en Amazon S3 Vectors](#kb-permissions-s3vectors)
+ [Permisos para acceder a una base de datos vectorial configurada con un AWS Secrets Manager secreto](#kb-permissions-secret)
+ [Permisos AWS para administrar una AWS KMS clave para el almacenamiento transitorio de datos durante la ingesta de datos](#kb-permissions-kms-ingestion)
+ [Permisos AWS para administrar una fuente de datos desde la AWS cuenta de otro usuario.](#kb-permissions-otherds)

## Relación de confianza
<a name="kb-permissions-trust"></a>

La siguiente política permite a Amazon Bedrock asumir este rol y crear y gestionar bases de conocimientos. A continuación se muestra un ejemplo de política que puede utilizar. Puede restringir el alcance del permiso mediante una o más claves de contexto de condiciones globales. Para obtener más información, consulte las [claves de contexto de condición globales de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html). Configure el valor `aws:SourceAccount` en el ID de su cuenta. Use la condición `ArnEquals` o `ArnLike` para restringir el alcance a bases de conocimiento específicas.

**nota**  
Como práctica recomendada por motivos de seguridad, sustitúyala *\$1* por una base de conocimientos específica una IDs vez que la haya creado.

------
#### [ 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/*"
                }
            }
        }
    ]
}
```

------

## Permisos para acceder a los modelos de Amazon Bedrock
<a name="kb-permissions-access-models"></a>

Asocie la siguiente política para proporcionar permisos al rol para usar modelos de Amazon Bedrock para incrustar sus datos de origen.

------
#### [ 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"
            ]
        }
    ]
}
```

------

## Permisos de acceso a los orígenes de datos
<a name="kb-permissions-access-ds"></a>

Seleccione uno de los siguientes orígenes de datos para asociar los permisos necesarios para el rol.

**Topics**
+ [Permisos de acceso al origen de datos en Amazon S3](#kb-permissions-access-s3)
+ [Permisos de acceso al origen de datos de Confluence](#kb-permissions-access-confluence)
+ [Permisos para acceder a la fuente de SharePoint datos de Microsoft](#kb-permissions-access-sharepoint)
+ [Permisos de acceso al origen de datos de Salesforce](#kb-permissions-access-salesforce)

### Permisos de acceso al origen de datos en Amazon S3
<a name="kb-permissions-access-s3"></a>

Si su origen de datos es Amazon S3, asocie la siguiente política para proporcionar permisos para que el rol acceda al bucket de S3 al que se conectará como origen de datos.

Si ha cifrado la fuente de datos con una AWS KMS clave, adjunte los permisos para descifrar la clave al rol siguiendo los pasos que se indican en[Permisos para descifrar la AWS KMS clave de las fuentes de datos en Amazon S3](encryption-kb.md#encryption-kb-ds).

------
#### [ 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"
                }
            }
        }
    ]
}
```

------

### Permisos de acceso al origen de datos de Confluence
<a name="kb-permissions-access-confluence"></a>

**nota**  
El conector del origen de datos de Confluence está en versión preliminar y sujeta a cambios.

Asocie la siguiente política para conceder permisos al rol para acceder a Confluence.

**nota**  
`secretsmanager:PutSecretValue`solo es necesario si utiliza la autenticación OAuth 2.0 con un token de actualización.  
El token de **acceso OAuth2** 3.0 de Confluence tiene un tiempo de caducidad predeterminado de 60 minutos. Si este token caduca mientras se está sincronizando el origen de datos (trabajo de sincronización), Amazon Bedrock utilizará el token de **actualización** proporcionado para regenerar este token. Esta regeneración actualiza los tokens de acceso y de actualización. Para mantener los tokens actualizados desde el trabajo de sincronización actual al siguiente trabajo de sincronización, Amazon Bedrock necesita write/put permisos para sus credenciales secretas.

------
#### [ 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"
                    ]
                }
            }
        }
    ]
}
```

------

### Permisos para acceder a la fuente de SharePoint datos de Microsoft
<a name="kb-permissions-access-sharepoint"></a>

**nota**  
SharePoint El conector de la fuente de datos se encuentra en versión preliminar y está sujeto a cambios.

Adjunta la siguiente política para proporcionar permisos de acceso al rol 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"
                    ]
                }
            }
        }
    ]
}
```

------

### Permisos de acceso al origen de datos de Salesforce
<a name="kb-permissions-access-salesforce"></a>

**nota**  
El conector del origen de datos de Salesforce está en versión preliminar y sujeta a cambios.

Asocie la siguiente política para conceder permisos al rol para acceder a 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"
                    ]
                }
            }
        }
    ]
}
```

------

## Permisos para descifrar la AWS KMS clave de las fuentes de datos cifradas en Amazon S3
<a name="kb-permissions-kms-datasource"></a>

Si ha cifrado sus fuentes de datos en Amazon S3 con una AWS KMS clave, adjunte la siguiente política a su función de servicio de Amazon Bedrock Knowledge Bases para permitir que Amazon Bedrock descifre su clave. Sustituya *\$1\$1Region\$1* y *\$1\$1AccountId\$1* por la región y el ID de cuenta a los que pertenece la clave. *\$1\$1KeyId\$1*Sustitúyala por el ID de tu AWS KMS clave.

```
{
    "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"
                ]
            }
        }
    }]
}
```

## Permisos para chatear con su documento
<a name="kb-permissions-chatdoc"></a>

Asocie la siguiente política para proporcionar permisos al rol para usar modelos de Amazon Bedrock para chatear con su documento:

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

****  

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

------

Si solo quiere conceder acceso a un usuario para chatear con su documento (y no `RetrieveAndGenerate` en todas las bases de conocimientos), utilice la siguiente política:

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

****  

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

------

Si quieres chatear con tu documento y usarlo `RetrieveAndGenerate` en una base de conocimientos específica, proporciona una *\$1\$1KnowledgeBaseArn\$1* política y usa la siguiente:

------
#### [ 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"
        }
    ]
}
```

------

## Permisos para contenido multimodal
<a name="kb-permissions-multimodal"></a>

Cuando se trabaja con contenido multimodal (imágenes, audio, vídeo), se requieren permisos adicionales en función del enfoque de procesamiento.

### Permisos de incrustaciones multimodales de Nova
<a name="kb-permissions-multimodal-mme"></a>

Cuando utilice Nova Multimodal Embeddings, adjunte la siguiente política para proporcionar permisos para la invocación de modelos asíncronos:

```
{
    "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": ""
        }
    }
}
```

### Permisos de Bedrock Data Automation (BDA)
<a name="kb-permissions-multimodal-bda"></a>

Cuando utilice BDA para procesar contenido multimodal, adjunte la siguiente política:

```
{
    "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 utiliza AWS KMS claves administradas por el cliente con BDA, adjunte también la siguiente política. Sustituya *account-id**region*, y por *key-id* sus valores específicos:

```
{
    "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"
        }
    }
}
```

## Permisos para acceder a su índice GenAI de Amazon Kendra
<a name="kb-permissions-kendra"></a>

Si ha creado un índice GenAI de Amazon Kendra para su base de conocimiento, asocie la siguiente política a su rol de servicio de Bases de conocimiento de Amazon Bedrock para permitir el acceso al índice. En la política, sustituya *\$1\$1Partition\$1* *\$1\$1Region\$1**\$1\$1AccountId\$1*, y por *\$1\$1IndexId\$1* los valores de su índice. Puede permitir el acceso a varios índices añadiéndolos a la lista `Resource`. Para permitir el acceso a todos los índices del suyo Cuenta de AWS, *\$1\$1IndexId\$1* sustitúyalos por un comodín (\$1).

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

****  

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

------

## Permisos para acceder a su base de datos vectoriales en Amazon OpenSearch Serverless
<a name="kb-permissions-oss"></a>

Si ha creado una base de datos vectorial en OpenSearch Serverless para su base de conocimientos, adjunte la siguiente política a su función de servicio de Amazon Bedrock Knowledge Bases para permitir el acceso a la colección. Sustituya *\$1\$1Region\$1* y *\$1\$1AccountId\$1* por la región y el identificador de cuenta a los que pertenece la base de datos. Introduce el ID de tu colección OpenSearch de Amazon Service*\$1\$1CollectionId\$1*. Puede permitir el acceso a varias colecciones si las agrega a la lista de `Resource`.

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

****  

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

------

## Permisos para acceder a su base de datos vectorial en clústeres OpenSearch gestionados
<a name="kb-permissions-osm"></a>

Si ha creado una base de datos vectorial en OpenSearch Managed Cluster para su base de conocimientos, adjunte la siguiente política a su rol de servicio de Amazon Bedrock Knowledge Bases para permitir el acceso al dominio. Sustituya *<region>* y *<accountId>* por la región y el ID de cuenta a los que pertenece la base de datos. Puede permitir el acceso a varios dominios añadiéndolos a la lista `Resource`. Para obtener más información acerca de la configuración de permisos, consulte [Requisitos previos y permisos necesarios para usar clústeres OpenSearch gestionados con las bases de conocimiento de Amazon BedrockDescripción general de la configuración de permisos](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"
            ]       
        }
    ]
}
```

------

## Permisos para acceder al clúster de base de datos de Amazon Aurora
<a name="kb-permissions-rds"></a>

**nota**  
El clúster de Amazon Aurora debe residir en el Cuenta de AWS mismo lugar en el que se creó la base de conocimientos para Amazon Bedrock.

Si ha creado un clúster de base de datos (DB) en Amazon Aurora para la base de conocimientos, asocie la siguiente política al rol de servicio de bases de conocimientos de Amazon Bedrock para permitir el acceso al clúster de base de datos y proporcionarle permisos de lectura y escritura. Sustituya *\$1\$1Region\$1* y *\$1\$1AccountId\$1* por la región y el ID de cuenta a los que pertenece el clúster de base de datos. Introduzca el ID del clúster de base de datos de Amazon Aurora*\$1\$1DbClusterId\$1*. Puede permitir el acceso a varios clústeres de bases de datos si las agrega a la lista `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}"
            ]
        }
    ]
}
```

------

## Permisos para acceder a la base de datos vectorial en Análisis por Amazon Neptune
<a name="kb-permissions-neptune"></a>

Si ha creado un gráfico de Análisis por Amazon Neptune para su base de conocimiento, asocie la siguiente política a su rol de servicio de Bases de conocimiento de Amazon Bedrock para permitir el acceso al gráfico. En la política, sustituya *\$1\$1Region\$1* y *\$1\$1AccountId\$1* por la región y el ID de cuenta a los que pertenece la base de datos. *\$1\$1GraphId\$1*Sustitúyalo por los valores de la base de datos de gráficos.

------
#### [ 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}"
            ]
        }
    ]
}
```

------

## Permisos para acceder a su almacén de vectores en Amazon S3 Vectors
<a name="kb-permissions-s3vectors"></a>

Si decide usar Amazon S3 Vectors para su base de conocimiento, asocie la siguiente política a su rol de servicio de Bases de conocimiento de Amazon Bedrock para permitir el acceso al índice vectorial.

En la política, sustituya *\$1\$1Region\$1* y *\$1\$1AccountId\$1* por la región y el identificador de cuenta a los que pertenece el índice vectorial. *\$1\$1BucketName\$1*Sustitúyalo por el nombre del cubo vectorial de S3 y *\$1\$1IndexName\$1* por el nombre del índice vectorial. Para obtener más información acerca de Amazon S3 Vectors, consulte [Configuración para usar 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}"
        }
    ]
}
```

------

## Permisos para acceder a una base de datos vectorial configurada con un AWS Secrets Manager secreto
<a name="kb-permissions-secret"></a>

Si su base de datos vectorial está configurada con un AWS Secrets Manager secreto, adjunte la siguiente política a su rol de servicio de Amazon Bedrock Knowledge Bases para permitir AWS Secrets Manager autenticar su cuenta para acceder a la base de datos. Sustituya *\$1\$1Region\$1* y *\$1\$1AccountId\$1* por la región y el identificador de cuenta a los que pertenece la base de datos. *\$1\$1SecretId\$1*Sustitúyala por la ID de tu secreto.

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

****  

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

------

Si has cifrado tu secreto con una AWS KMS clave, adjunta los permisos para descifrar la clave al rol siguiendo los pasos que se indican en[Permisos para descifrar un AWS Secrets Manager secreto para el almacén de vectores que contiene tu base de conocimientos](encryption-kb.md#encryption-kb-3p).

## Permisos AWS para administrar una AWS KMS clave para el almacenamiento transitorio de datos durante la ingesta de datos
<a name="kb-permissions-kms-ingestion"></a>

Para permitir la creación de una AWS KMS clave para el almacenamiento transitorio de datos en el proceso de ingesta de su fuente de datos, adjunte la siguiente política a su función de servicio de Amazon Bedrock Knowledge Bases. Sustituya los *\$1\$1Region\$1* valores*\$1\$1AccountId\$1*, y y por *\$1\$1KeyId\$1* los correspondientes.

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

****  

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

------

## Permisos AWS para administrar una fuente de datos desde la AWS cuenta de otro usuario.
<a name="kb-permissions-otherds"></a>

Para permitir el acceso a la AWS cuenta de otro usuario, debe crear un rol que permita el acceso entre cuentas a un bucket de Amazon S3 de la cuenta de otro usuario. Sustituya los valores *\$1\$1BucketName\$1**\$1\$1BucketOwnerAccountId\$1*, y y *\$1\$1BucketNameAndPrefix\$1* por los correspondientes.

**Se requieren permisos para el rol de base de conocimientos**

El rol de base de conocimientos que se proporciona durante la creación de la base de conocimientos `createKnowledgeBase` requiere los siguientes permisos de Amazon S3.

------
#### [ 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 el bucket de Amazon S3 se cifra con una AWS KMS clave, también es necesario añadir lo siguiente a la función de base de conocimientos. Sustituya *\$1\$1BucketOwnerAccountId\$1* y *\$1\$1Region\$1* por los valores adecuados.

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

**Permisos necesarios en una política de bucket de Amazon S3 en diversas cuentas**

El bucket de la otra cuenta requiere la siguiente política de bucket de Amazon S3. Sustituya los valores *\$1\$1KbRoleArn\$1**\$1\$1BucketName\$1*, y y *\$1\$1BucketNameAndPrefix\$1* por los valores adecuados. 

------
#### [ 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/*"
         ]
      }
   ]
}
```

------

**Se requieren permisos en la política de AWS KMS claves multicuenta**

Si el bucket multicuenta de Amazon S3 se cifra con una AWS KMS clave de esa cuenta, la política de la AWS KMS clave exige la siguiente política. Sustituya *\$1\$1KbRoleArn\$1* y por *\$1\$1KmsKeyArn\$1* los valores adecuados.

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

# Creación de un rol de servicio para Flujos de Amazon Bedrock en Amazon Bedrock
<a name="flows-permissions"></a>

Para crear y administrar un flujo en Amazon Bedrock, debe utilizar un rol de servicio con los permisos necesarios que se describen en esta página. Puede usar un rol de servicio que Amazon Bedrock cree automáticamente para usted en la consola o usar uno que personalice usted mismo.

**nota**  
Si usa el rol de servicio que Amazon Bedrock crea automáticamente para usted en la consola, los permisos se asociarán de forma dinámica si usted agrega nodos al flujo y lo guarda. Sin embargo, si elimina nodos, los permisos no se eliminarán, por lo que tendrá que eliminar los permisos que ya no necesite. Para administrar los permisos del rol que se ha creado para usted, siga los pasos que se indican en [Modificación de un rol](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) en la Guía del usuario de IAM.

Para crear un rol de servicio personalizado para Amazon Bedrock Flows, cree un rol de IAM siguiendo los pasos que se indican en [Crear un rol para delegar permisos a un AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) servicio. A continuación, asocie los siguientes permisos al rol.
+ Política de confianza
+ Los siguientes permisos basados en identidades:
  + Acceso a los modelos base de Amazon Bedrock que utilizará el flujo. Añada a la lista `Resource` todos los modelos que se utilizan en el flujo.
  + Si invoca un modelo mediante el rendimiento aprovisionado, permisos para acceder e invocar el modelo aprovisionado. Añada a la lista `Resource` todos los modelos que se utilizan en el flujo.
  + Si invoca un modelo personalizado, permisos para acceder al modelo personalizado e invocarlo. Añada a la lista `Resource` todos los modelos que se utilizan en el flujo.
  + Permisos basados en los nodos que añada al flujo:
    + Si incluye nodos de petición que utilizan peticiones de Administración de peticiones, necesita permisos para acceder a la petición. Añada a la lista `Resource` todas las peticiones que se utilizan en el flujo.
    + Si incluye nodos de base de conocimiento, necesita permisos para consultar la base de conocimiento. Añada a la lista `Resource` todas las bases de conocimiento consultadas en el flujo.
    + Si incluye nodos de agente, necesita permisos para invocar un alias del agente. Añada a la lista `Resource` todos los agentes que se invocan en el flujo.
    + Si incluye nodos de recuperación de S3, necesita permisos para acceder al bucket de Amazon S3 del que se recuperarán los datos. Agregue a la lista `Resource` cada bucket del que se obtengan datos.
    + Si incluye nodos de almacenamiento de S3, necesita permisos para escribir en el bucket de Amazon S3 en el que se almacenarán los datos de salida. Agregue a la lista `Resource` cada bucket en el que se escriben datos.
    + Si incluye barreras de protección para un nodo de base de conocimiento o un nodo de petición, necesitará permisos para aplicar las barreras de protección en un flujo. Añada a la lista `Resource` todas las barreras de protección que se utilizan en el flujo.
    + Si incluye nodos de Lambda, necesitará permisos para invocar la función de Lambda. Añada a la lista `Resource` todas las funciones de Lambda que deban invocarse.
    + Si incluye nodos de Amazon Lex, necesitará permisos para usar el bot de Amazon Lex. Añada a la lista `Resource` todos los alias de bots que tenga que utilizar.
    + Si ha cifrado algún recurso invocado en un flujo, necesita permisos para descifrar la clave. Agregue cada clave a la lista `Resource`.
+ Si cifra el flujo, también deberá asociar una política de claves a la clave de KMS que utilice para cifrar el flujo.

**nota**  
Se han implementado recientemente los siguientes cambios:  
Anteriormente, AWS Lambda los recursos de Amazon Lex se invocaban mediante el servicio principal de Amazon Bedrock. Este comportamiento está cambiando para los flujos creados después del 22 de noviembre de 2024 y la función de servicio Amazon Bedrock Flows se utilizará para invocar los recursos y AWS Lambda los de Amazon Lex. Si creó algún flujo que utilice alguno de estos recursos antes del 22 de noviembre de 2020, debe actualizar sus funciones de servicio de Amazon Bedrock Flows con los permisos de Amazon AWS Lambda Lex.
Anteriormente, los recursos de Administración de peticiones se representaban mediante la acción `bedrock:GetPrompt`. Este comportamiento ha cambiado en los flujos creados después del 22 de noviembre de 2024 y se utilizará la acción `bedrock:RenderPrompt` para representar el recurso de petición. Si creó algún flujo que usa un recurso de petición antes del 22 de noviembre de 2024, debe actualizar sus roles de servicio de Flujos de Amazon Bedrock con los permisos de `bedrock:RenderPrompt`.
Si usa el rol de servicio que Amazon Bedrock crea automáticamente para usted en la consola, Amazon Bedrock asociará los permisos correctos de forma dinámica cuando guarde el flujo.

**Topics**
+ [Relación de confianza](#flows-permissions-trust)
+ [Permisos basados en identidades para el rol de servicio de los flujos.](#flows-permissions-identity)

## Relación de confianza
<a name="flows-permissions-trust"></a>

Asocie la siguiente política de confianza al rol de ejecución del flujo para permitir que Amazon Bedrock asuma este rol y administre un flujo. Sustitúyalo según sea necesario. *values* La política contiene claves de condición opcionales (consulte [Claves de condición para Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) y [Claves de contexto de condición globales de AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) en el campo `Condition` que es una práctica de seguridad que recomendamos.

**nota**  
Como práctica recomendada, sustituya el *\$1* por un identificador de flujo después de haberlo creado.

------
#### [ 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/*"
                }
            }
        }
    ]
}
```

------

## Permisos basados en identidades para el rol de servicio de los flujos.
<a name="flows-permissions-identity"></a>

Adjunte la siguiente política para proporcionar permisos para el rol de servicio y sustitúyala *values* según sea necesario. La política contiene las siguientes instrucciones. Omita una instrucción si no es aplicable a su caso de uso. La política contiene claves de condición opcionales (consulte [Claves de condición para Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys) y [Claves de contexto de condición globales de AWS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html#amazonbedrock-policy-keys)) en el campo `Condition` que es una práctica de seguridad que recomendamos.
+ Acceso a los modelos base de Amazon Bedrock que utilizará el flujo. Añada a la lista `Resource` todos los modelos que se utilizan en el flujo.
+ Si invoca un modelo mediante el rendimiento aprovisionado, permisos para acceder e invocar el modelo aprovisionado. Añada a la lista `Resource` todos los modelos que se utilizan en el flujo.
+ Si invoca un modelo personalizado, permisos para acceder al modelo personalizado e invocarlo. Añada a la lista `Resource` todos los modelos que se utilizan en el flujo.
+ Permisos basados en los nodos que añada al flujo:
  + Si incluye nodos de petición que utilizan peticiones de Administración de peticiones, necesita permisos para acceder a la petición. Añada a la lista `Resource` todas las peticiones que se utilizan en el flujo.
  + Si incluye nodos de base de conocimiento, necesita permisos para consultar la base de conocimiento. Añada a la lista `Resource` todas las bases de conocimiento consultadas en el flujo.
  + Si incluye nodos de agente, necesita permisos para invocar un alias del agente. Añada a la lista `Resource` todos los agentes que se invocan en el flujo.
  + Si incluye nodos de recuperación de S3, necesita permisos para acceder al bucket de Amazon S3 del que se recuperarán los datos. Agregue a la lista `Resource` cada bucket del que se obtengan datos.
  + Si incluye nodos de almacenamiento de S3, necesita permisos para escribir en el bucket de Amazon S3 en el que se almacenarán los datos de salida. Agregue a la lista `Resource` cada bucket en el que se escriben datos.
  + Si incluye barreras de protección para un nodo de base de conocimiento o un nodo de petición, necesitará permisos para aplicar las barreras de protección en un flujo. Añada a la lista `Resource` todas las barreras de protección que se utilizan en el flujo.
  + Si incluye nodos de Lambda, necesitará permisos para invocar la función de Lambda. Añada a la lista `Resource` todas las funciones de Lambda que deban invocarse.
  + Si incluye nodos de Amazon Lex, necesitará permisos para usar el bot de Amazon Lex. Añada a la lista `Resource` todos los alias de bots que tenga que utilizar.
  + Si ha cifrado algún recurso invocado en un flujo, necesita permisos para descifrar la clave. Agregue cada clave a la lista `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"
                }
            }
        }
    ]
}
```

------

# Requisitos de rol de servicio para los trabajos de evaluación de modelos
<a name="model-evaluation-security-service-roles"></a>

Para crear un trabajo de evaluación de modelos, debe especificar un rol de servicio. Un rol de servicio es un [rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) que asume un servicio para realizar acciones en su nombre. Un administrador de IAM puede crear, modificar y eliminar un rol de servicio desde IAM. Para obtener más información, consulte [Crear un rol para delegar permisos a un Servicio de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) en la *Guía del usuario de IAM*. 

Las acciones y los recursos de IAM necesarios dependen del tipo de trabajo de evaluación de modelos que vaya a crear. Utilice las siguientes secciones para obtener más información sobre las acciones de IAM, las entidades principales de servicio y los recursos necesarios de Amazon Bedrock, Amazon SageMaker AI y Amazon S3. Si lo desea, puede cifrar el resultado mediante AWS Key Management Service.

**Topics**
+ [Requisitos de rol de servicio para los trabajos de evaluación de modelos automática](automatic-service-roles.md)
+ [Requisitos del rol de servicio para los trabajos de evaluación de modelos con intervención humana](model-eval-service-roles.md)
+ [Permisos del rol de servicio necesarios para crear un trabajo de evaluación del modelos con un modelo de juez](judge-service-roles.md)
+ [Requisitos del rol de servicio para los trabajos de evaluación de bases de conocimiento](rag-eval-service-roles.md)

# Requisitos de rol de servicio para los trabajos de evaluación de modelos automática
<a name="automatic-service-roles"></a>

Para crear un trabajo de evaluación de modelos automática, debe especificar un rol de servicio. La política que asocie otorga a Amazon Bedrock acceso a los recursos de su cuenta y permite a Amazon Bedrock invocar el modelo seleccionado en su nombre.

También debe asociar una política de confianza que defina a Amazon Bedrock como la entidad principal de servicio que usa `bedrock.amazonaws.com`. Cada uno de los siguientes ejemplos de políticas muestra las acciones de IAM exactas que se requieren en función de cada servicio invocado en un trabajo de evaluación de modelos automática.

Para crear un rol de servicio personalizado, consulte [Creación de un rol que utilice una política de confianza personalizada](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) en la *Guía del usuario de IAM*.

**Acciones de IAM de Amazon S3 obligatorias**  
El siguiente ejemplo de política otorga acceso a los buckets de S3 donde se guardan los resultados de la evaluación de modelos y (opcionalmente) a cualquier conjunto de datos de peticiones personalizado que haya especificado.

------
#### [ 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"
        ]
    }
]
}
```

------

**Acciones de IAM de Amazon Bedrock obligatorias**  
También debe crear una política que permita a Amazon Bedrock invocar el modelo que planea especificar en el trabajo de evaluación automática de modelos. Para obtener más información sobre la administración del acceso a modelos de Amazon Bedrock, consulte [Acceso a los modelos fundacionales de Amazon Bedrock](model-access.md). En la sección `"Resource"` de la política, debe especificar al menos un ARN de un modelo al que también tenga acceso. Para utilizar un modelo cifrado con una clave de KMS administrada por el cliente, debe añadir las acciones y los recursos de IAM necesarios a la política de roles de servicio de IAM. También debe añadir el rol de servicio a la política AWS KMS clave.

------
#### [ 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"
            ]
        }
    ]
}
```

------

**Requisitos de la entidad principal de servicio**  
También debe especificar una política de confianza que defina a Amazon Bedrock como la entidad principal de servicio. Esto permite que Amazon Bedrock asuma el rol. El ARN del trabajo de evaluación de modelos wildcard (`*`) es obligatorio para que Amazon Bedrock pueda crear trabajos de evaluación de modelos en su cuenta. AWS

------
#### [ 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/*"
        }
    }
}]
}
```

------

# Requisitos del rol de servicio para los trabajos de evaluación de modelos con intervención humana
<a name="model-eval-service-roles"></a>

Para crear un trabajo de evaluación de modelos en el que intervengan trabajadores humanos, debe especificar dos roles de servicio.

En las siguientes listas se resumen los requisitos de la política de IAM para cada rol de servicio obligatorio que debe especificarse en la consola de Amazon Bedrock.

**Resumen de los requisitos de la política de IAM para el rol de servicio de Amazon Bedrock**
+ Debe asociar una política de confianza que defina a Amazon Bedrock como la entidad principal de servicio.
+ Debe permitir que Amazon Bedrock invoque los modelos seleccionados en su nombre.
+ Debe permitir que Amazon Bedrock acceda al bucket de S3 que contenga su conjunto de datos de peticiones y al bucket de S3 en el que desee guardar los resultados.
+ Debe permitir que Amazon Bedrock cree los recursos de bucle humano necesarios en su cuenta.
+ (Recomendado) Use un *bloque* de `Condition` para especificar las cuentas que tienen acceso.
+ (Opcional) Debe permitir que Amazon Bedrock descifre su clave KMS si ha cifrado el bucket de conjunto de datos de peticiones o el bucket de Amazon S3 en el que quiera guardar los resultados.

**Resumen de los requisitos de la política de IAM para el rol de servicio Amazon SageMaker AI**
+ Debe adjuntar una política de confianza que defina a la SageMaker IA como la principal del servicio.
+ Debes permitir que SageMaker AI acceda al depósito de S3 que contiene tu conjunto de datos de solicitudes y al depósito de S3 en el que deseas guardar los resultados.
+ (Opcional) Debes permitir que SageMaker AI utilice las claves gestionadas por el cliente si has cifrado el depósito de datos de búsqueda o la ubicación en la que deseas obtener los resultados.

Para crear un rol de servicio personalizado, consulte [Creación de un rol que utilice una política de confianza personalizada](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) en la *Guía del usuario de IAM*.

**Acciones de IAM de Amazon S3 obligatorias**  
El siguiente ejemplo de política otorga acceso a los buckets de S3 donde se guardan los resultados de la evaluación de modelos y al conjunto de datos de peticiones personalizado que haya especificado. Debe adjuntar esta política tanto a la función de servicio de SageMaker IA como a la función de servicio de 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"
        ]
    }
]
}
```

------

**Acciones de IAM de Amazon Bedrock obligatorias**  
Para permitir que Amazon Bedrock invoque el modelo que planea especificar en el trabajo de evaluación automática del modelo, asocie la siguiente política al rol de servicio de Amazon Bedrock. En la sección `"Resource"` de la política, debe especificar al menos un ARN de un modelo al que también tenga acceso. Para utilizar un modelo cifrado con una clave de KMS administrada por el cliente, debe añadir las acciones y los recursos de IAM necesarios al rol de servicio de IAM. También debe añadir los elementos AWS KMS clave de la política que sean necesarios.

------
#### [ 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"
            ]
        }
    ]
}
```

------

**Acciones de IAM de Amazon Augmented AI obligatorias**  
También debe crear una política que permita a Amazon Bedrock crear recursos relacionados con trabajos de evaluación del modelo con intervención humana. Dado que Amazon Bedrock crea los recursos necesarios para iniciar el trabajo de evaluación de modelos, debe utilizar `"Resource": "*"`. Debe asociar esta política al rol de servicio de Amazon Bedrock.

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

****  

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

------

**Requisitos de la entidad principal del servicio (Amazon Bedrock)**  
También debe especificar una política de confianza que defina a Amazon Bedrock como la entidad principal de servicio. Esto permite que Amazon Bedrock asuma el rol.

------
#### [ 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/*"
                }
            }
        }
    ]
}
```

------

**Requisitos principales del servicio (SageMaker AI)**  
También debe especificar una política de confianza que defina a Amazon Bedrock como la entidad principal de servicio. Esto permite que la SageMaker IA asuma la función.

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

****  

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

------

# Permisos del rol de servicio necesarios para crear un trabajo de evaluación del modelos con un modelo de juez
<a name="judge-service-roles"></a>

Para crear un trabajo de evaluación de modelos que utilice un LLM como juez, debe especificar un rol de servicio. La política que asocie otorga a Amazon Bedrock acceso a los recursos de su cuenta y permite a Amazon Bedrock invocar el modelo seleccionado en su nombre.

La política de confianza define Amazon Bedrock como la entidad principal que usa `bedrock.amazonaws.com`. Cada uno de los siguientes ejemplos de políticas muestra las acciones de IAM exactas que se requieren en función de cada servicio invocado en un trabajo de evaluación de modelos.

Para crear un rol de servicio personalizado como se describe a continuación, consulte [Creación de un rol que utilice una política de confianza personalizada](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) en la *Guía del usuario de IAM*.

## Acciones de IAM de Amazon Bedrock obligatorias
<a name="judge-service-roles-br"></a>

Debe crear una política que permita a Amazon Bedrock invocar el modelo que quiere especificar en el trabajo de evaluación de modelos. Para obtener más información sobre la administración del acceso a modelos de Amazon Bedrock, consulte [Acceso a los modelos fundacionales de Amazon Bedrock](model-access.md). En la sección `"Resource"` de la política, debe especificar al menos un ARN de un modelo al que también tenga acceso. Para utilizar un modelo cifrado con una clave de KMS administrada por el cliente, debe añadir las acciones y los recursos de IAM necesarios a la política de roles de servicio de IAM. También debe añadir el rol de servicio a la política AWS KMS clave.

El rol de servicio debe incluir el acceso a al menos un modelo evaluador compatible. Para obtener una lista de los modelos evaluadores admitidos actualmente, consulte [Modelos compatibles](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/*"
			]
		}
	]
}
```

------

## Acciones de IAM y recursos de Amazon S3 necesarios
<a name="judge-service-roles-s3"></a>

Su política de roles de servicio debe incluir el acceso al bucket de Amazon S3 en el que desea guardar la salida de los trabajos de evaluación de modelos y el acceso al conjunto de datos de peticiones que especificó en su solicitud `CreateEvaluationJob` o mediante la consola de 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"
			]
		}
	]
}
```

------

# Requisitos del rol de servicio para los trabajos de evaluación de bases de conocimiento
<a name="rag-eval-service-roles"></a>

Para crear un trabajo de evaluación de bases de conocimiento, debe especificar un rol de servicio. La política que asocie al rol otorga a Amazon Bedrock acceso a los recursos de su cuenta y permite a Amazon Bedrock hacer lo siguiente:
+ Invocar los modelos que seleccione para la generación de resultados con la acción de la API `RetrieveAndGenerate` y evaluar los resultados de la base de conocimiento
+ Invocar las acciones de la API `Retrieve` y `RetrieveAndGenerate` de Bases de conocimiento de Amazon Bedrock en su instancia de base de conocimiento

Para crear un rol de servicio personalizado, consulte [Creación de un rol que utilice políticas de confianza personalizadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) en la *Guía del usuario de IAM*.

**Acciones de IAM necesarias para el acceso a Amazon S3**  
El siguiente ejemplo de política otorga acceso a los buckets de S3 cuando se producen las dos siguientes condiciones: 
+ Guarda los resultados de la evaluación de la base de conocimiento.
+ Amazon Bedrock lee el conjunto de datos de entrada.

------
#### [ 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"
            ]
        }
    ]
}
```

------

**Acciones de IAM de Amazon Bedrock obligatorias**  
También debe crear una política que permita a Amazon Bedrock hacer lo siguiente:

1. Invocar los modelos que quiere especificar para lo siguiente: 
   + Generación de resultados con la acción de la API `RetrieveAndGenerate`
   + Resultados de la evaluación

   Para la clave de `Resource` de la política, debe especificar al menos un ARN de un modelo al que tenga acceso. Para utilizar un modelo cifrado con una clave de KMS administrada por el cliente, debe añadir las acciones y los recursos de IAM necesarios a la política de roles de servicio de IAM. También debe añadir el rol de servicio a la política AWS KMS clave.

1. Llamar a las acciones de la API `Retrieve` y `RetrieveAndGenerate`. Tenga en cuenta que, en la creación automática de roles en la consola, concedemos permisos a las acciones de la API `Retrieve` y `RetrieveAndGenerate`, independientemente de la acción que elija evaluar para ese trabajo. De este modo, ofrecemos flexibilidad y capacidad de reutilización adicionales para ese rol. Sin embargo, para mayor seguridad, ese rol creado automáticamente está vinculado a una única instancia de la base de conocimiento.

------
#### [ 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"
            ]
        }
    ]
}
```

------

**Requisitos de la entidad principal de servicio**  
También debe especificar una política de confianza que defina a Amazon Bedrock como la entidad principal de servicio. Esta política permite que Amazon Bedrock asuma el rol. El ARN del trabajo de evaluación de modelos wildcard (`*`) es obligatorio para que Amazon Bedrock pueda crear trabajos de evaluación de modelos en su cuenta. AWS 

------
#### [ 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/*"
                }
            }
        }
    ]
}
```

------

# Configuración del acceso a buckets de Amazon S3
<a name="s3-bucket-access"></a>

Varias características de Amazon Bedrock requieren acceso a los datos almacenados en buckets de Amazon S3. Para acceder a estos datos, debe configurar los siguientes permisos:


****  

| Caso de uso | Permisos | 
| --- | --- | 
| Permisos para recuperar datos del bucket de S3 | s3: GetObjects3: ListBucket | 
| Permisos para escribir datos en el bucket de S3 | s3: PutObject | 
| Permisos para descifrar la clave de KMS que cifró el bucket de S3 | kms:Decryptkm: DescribeKey | 

Las identidades o los recursos a los que debe asociar los permisos anteriores dependen de los siguientes factores:
+ Varias características de Amazon Bedrock utilizan [roles de servicio](security-iam-sr.md). Si una característica usa un rol de servicio, debe configurar los permisos de manera que el rol de servicio, y no la identidad de IAM del usuario, tenga acceso a los datos de S3. Algunas características de Amazon Bedrock pueden crear automáticamente un rol de servicio para usted y asociar los [permisos basados en identidad](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies.html#policies_id-based) necesarios al rol de servicio, si utiliza la Consola de administración de AWS.
+ Algunas características de Amazon Bedrock permiten que una identidad acceda a un bucket de S3 en una cuenta diferente. Si es necesario acceder a los datos de S3 desde una cuenta diferente, el propietario del bucket debe incluir los [permisos basados en recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) mencionados anteriormente en una [política de bucket de S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html) asociada al bucket de S3.

A continuación, se describe cómo determinar dónde se deben asociar los permisos necesarios para acceder a los datos de S3:
+ Permisos de identidad de IAM
  + Si puede crear automáticamente un rol de servicio en la consola, los permisos se configurarán para el rol de servicio, por lo que no tendrá que configurarlo usted mismo.
  + Si prefiere usar un rol de servicio personalizado o la identidad a la que requiere acceso no es un rol de servicio, vaya a [Asociación de permisos a una identidad IAM para permitir el acceso a un bucket de Amazon S3](#s3-bucket-access-identity) para obtener información sobre cómo crear una política basada en identidad con los permisos adecuados.
+ Permisos basados en recursos
  + Si la identidad requiere acceso a los datos de S3 de la misma cuenta, no es necesario asociar una política de bucket de S3 al bucket que contiene los datos.
  + Si la identidad requiere acceso a los datos de S3 de una cuenta diferente, vaya a [Asociación de una política de bucket a un bucket de Amazon S3 para permitir el acceso de otra cuenta](#s3-bucket-access-cross-account) para obtener información sobre cómo crear una política de bucket de S3 con los permisos adecuados.
**importante**  
La creación automática de un rol de servicio en Consola de administración de AWS el rol asocia los permisos basados en la identidad adecuados al rol, pero aun así debe configurar la política de bucket de S3 si la identidad que requiere acceso a él está en otra. Cuenta de AWS

Para obtener más información, consulte los enlaces siguientes:
+ Para obtener más información sobre cómo controlar el acceso a los datos en Amazon S3, consulte [Control de acceso en Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-management.html).
+ Para obtener más información acerca de los permisos de Amazon S3, consulte [Acciones definidas por Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-actions-as-permissions).
+ Para obtener más información sobre AWS KMS los permisos, consulte [Acciones](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html#awskeymanagementservice-actions-as-permissions) definidas por. AWS Key Management Service

Continúe con los temas relacionados con su caso de uso:

**Topics**
+ [Asociación de permisos a una identidad IAM para permitir el acceso a un bucket de Amazon S3](#s3-bucket-access-identity)
+ [Asociación de una política de bucket a un bucket de Amazon S3 para permitir el acceso de otra cuenta](#s3-bucket-access-cross-account)
+ [(Opción de seguridad avanzada) Incluya las condiciones en una instrucción para un acceso más detallado](#s3-bucket-access-conditions)

## Asociación de permisos a una identidad IAM para permitir el acceso a un bucket de Amazon S3
<a name="s3-bucket-access-identity"></a>

En este tema, se proporciona una plantilla para asociar una política a una identidad de IAM. La política incluye las siguientes instrucciones que definen los permisos para conceder a una identidad de IAM acceso a un bucket de S3:

1. Permisos para recuperar datos de un bucket de S3. Esta instrucción también incluye una condición que utiliza la [clave de condición](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-policy-keys) `s3:prefix` para restringir el acceso a una carpeta específica del bucket. Para obtener más información sobre esta condición, consulte la sección **Política de usuario** en [Ejemplo 2: obtención de una lista de objetos de un bucket con un prefijo específico](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#condition-key-bucket-ops-2).

1. (Si necesita escribir datos en una ubicación de S3) Permisos para escribir datos en un bucket de S3. Esta declaración también incluye una condición que utiliza la [clave de `aws:ResourceAccount` condición](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceaccount) para restringir el acceso a las solicitudes enviadas desde una persona específicaCuenta de AWS.

1. (Si el bucket de S3 está cifrado con una clave de KMS) Permisos para describir y descifrar la clave de KMS que cifró el bucket de S3.
**nota**  
Si su bucket de S3 tiene activado el control de versiones, cada versión del objeto que cargue utilizando esta característica tendrá su propia clave de cifrado. Usted debe responsabilizarse de realizar un seguimiento de qué clave de cifrado utilizó en cada versión del objeto.

Agregue, modifique y elimine las declaraciones, los recursos y las condiciones de la siguiente política y sustitúyalos *\$1\$1values\$1* según sea necesario:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::${S3Bucket}",
                "arn:aws:s3:::${S3Bucket}/*"
            ]
        },
        {
            "Sid": "WriteToS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::${S3Bucket}",
                "arn:aws:s3:::${S3Bucket}/*"
            ]
        },
        {
            "Sid": "DecryptKMSKey",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${KMSKeyId}"
        }
    ]
}
```

------

Tras modificar la política para su caso de uso, asóciela al rol de servicio (o identidad de IAM) que requiere acceso al bucket de S3. Para obtener información sobre cómo asociar permisos a una identidad de IAM, consulte [Adición y eliminación de permisos de identidad de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

## Asociación de una política de bucket a un bucket de Amazon S3 para permitir el acceso de otra cuenta
<a name="s3-bucket-access-cross-account"></a>

En este tema, se proporciona una plantilla para asociar una política basada en recursos a un bucket de S3 para permitir el acceso de una identidad de IAM a los datos del bucket. La política incluye las siguientes instrucciones que definen los permisos para conceder a una identidad acceso al bucket:

1. Permisos para recuperar datos de un bucket de S3.

1. (Si necesita escribir datos en una ubicación de S3) Permisos para escribir datos en un bucket de S3.

1. (Si el bucket de S3 está cifrado con una clave de KMS) Permisos para describir y descifrar la clave de KMS que cifró el bucket de S3.
**nota**  
Si su bucket de S3 tiene activado el control de versiones, cada versión del objeto que cargue utilizando esta característica tendrá su propia clave de cifrado. Usted debe responsabilizarse de realizar un seguimiento de qué clave de cifrado utilizó en cada versión del objeto.

Los permisos son similares a los permisos basados en identidad que se describen en [Asociación de permisos a una identidad IAM para permitir el acceso a un bucket de Amazon S3](#s3-bucket-access-identity). Sin embargo, cada instrucción también requiere que especifique la identidad para la que se van a conceder los permisos al recurso en el campo `Principal`. Especifique la identidad (en la mayoría de las características de Amazon Bedrock, este es el rol de servicio) en el campo `Principal`. Agregue, modifique y elimine las declaraciones, los recursos y las condiciones de la siguiente política y sustitúyalos *\$1\$1values\$1* según sea necesario:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadS3Bucket",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/ServiceRole"
            },
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::${S3Bucket}",
                "arn:aws:s3:::${S3Bucket}/*"
            ]
        },
        {
            "Sid": "WriteToS3Bucket",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/ServiceRole"
            },
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::${S3Bucket}",
                "arn:aws:s3:::${S3Bucket}/*"
            ]
        },
        {
            "Sid": "DecryptKMSKey",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/ServiceRole"
            },
            "Action": [
                "kms:Decrypt",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${KMSKeyId}"
        }
    ]
}
```

------

Tras modificar la política para su caso de uso, asóciela al bucket de S3. Para obtener información sobre cómo asociar una política de bucket a un bucket S3, consulte [Adición de una política de bucket mediante la consola de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html).

## (Opción de seguridad avanzada) Incluya las condiciones en una instrucción para un acceso más detallado
<a name="s3-bucket-access-conditions"></a>

Para tener un mayor control sobre las identidades que pueden acceder a sus recursos, puede incluir condiciones en una instrucción de política. La política de este tema proporciona un ejemplo en el que se utilizan las siguientes claves de condición:
+ `s3:prefix`: una clave de condición de S3 que restringe el acceso a una carpeta específica de un bucket de S3. Para obtener más información sobre esta clave de condición, consulte la sección **Política de usuario** en [Ejemplo 2: obtención de una lista de objetos de un bucket con un prefijo específico](https://docs.aws.amazon.com/AmazonS3/latest/userguide/amazon-s3-policy-keys.html#condition-key-bucket-ops-2).
+ `aws:ResourceAccount`— Una clave de condición global que restringe el acceso a las solicitudes de una persona específicaCuenta de AWS.

La siguiente política restringe el acceso de lectura a la *my-folder* carpeta del bucket de *amzn-s3-demo-bucket* S3 y restringe el acceso de escritura del bucket de *amzn-s3-demo-destination-bucket* S3 a las solicitudes que vienen Cuenta de AWS con el identificador: *111122223333*

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition" : {
                "StringEquals" : {
                    "s3:prefix": "my-folder" 
                }
            }
        },
        {
            "Sid": "WriteToS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket",
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "111122223333"
                }
            }
        }
    ]
}
```

------

Para obtener más información acerca de las condiciones y claves de condición, consulte los siguientes enlaces:
+ Para obtener más información acerca de las condiciones, consulte [Elementos de política JSON de IAM: Condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) en la Guía del usuario de IAM.
+ Para obtener más información acerca de las claves de condición específicas de S3 consulte [Claves de condición de Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-policy-keys) en la Referencia de autorización de servicios.
+ Para obtener más información sobre las claves de condición globales que se utilizan en todas partesServicios de AWS, consulta las claves de [contexto de condición AWS globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceaccount).

# Solución de problemas de identidad y acceso de Amazon Bedrock
<a name="security_iam_troubleshoot"></a>

Utilice la siguiente información para diagnosticar y solucionar los problemas habituales que pueden surgir cuando se trabaja con Amazon Bedrock e IAM.

**Topics**
+ [No tengo autorización para realizar una acción en Amazon Bedrock](#security_iam_troubleshoot-no-permissions)
+ [No estoy autorizado a realizar tareas como: PassRole](#security_iam_troubleshoot-passrole)
+ [Quiero permitir que personas ajenas a mí accedan Cuenta de AWS a mis recursos de Amazon Bedrock](#security_iam_troubleshoot-cross-account-access)

## No tengo autorización para realizar una acción en Amazon Bedrock
<a name="security_iam_troubleshoot-no-permissions"></a>

Si recibe un error que indica que no tiene autorización para realizar una acción, las políticas se deben actualizar para permitirle realizar la acción.

En el siguiente ejemplo, el error se produce cuando el usuario de IAM `mateojackson` intenta utilizar la consola para consultar los detalles acerca de un recurso ficticio `my-example-widget`, pero no tiene los permisos ficticios `bedrock:GetWidget`.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: bedrock:GetWidget on resource: my-example-widget
```

En este caso, la política del usuario `mateojackson` debe actualizarse para permitir el acceso al recurso `my-example-widget` mediante la acción `bedrock:GetWidget`.

Si necesita ayuda, póngase en contacto con su AWS administrador. El administrador es la persona que le proporcionó las credenciales de inicio de sesión.

## No estoy autorizado a realizar tareas como: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Si recibe un error que indica que no tiene autorización para llevar a cabo la acción `iam:PassRole`, las políticas se deben actualizar para permitirle pasar un rol a Amazon Bedrock.

Algunas Servicios de AWS permiten transferir una función existente a ese servicio en lugar de crear una nueva función de servicio o una función vinculada a un servicio. Para ello, debe tener permisos para transferir la función al servicio.

En el siguiente ejemplo, el error se produce cuando un usuario de IAM denominado `marymajor` intenta utilizar la consola para realizar una acción en Amazon Bedrock. Sin embargo, la acción requiere que el servicio cuente con permisos que otorguen un rol de servicio. Mary no tiene permisos para transferir el rol al servicio.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

En este caso, las políticas de Mary se deben actualizar para permitirle realizar la acción `iam:PassRole`.

Si necesita ayuda, póngase en contacto con su AWS administrador. El administrador es la persona que le proporcionó las credenciales de inicio de sesión.

## Quiero permitir que personas ajenas a mí accedan Cuenta de AWS a mis recursos de Amazon Bedrock
<a name="security_iam_troubleshoot-cross-account-access"></a>

Se puede crear un rol que los usuarios de otras cuentas o las personas externas a la organización puedan utilizar para acceder a sus recursos. Se puede especificar una persona de confianza para que asuma el rol. En el caso de los servicios que respaldan políticas basadas en recursos o listas de control de acceso (ACLs), puede usar esas políticas para permitir que las personas accedan a sus recursos.

Para obtener más información, consulte lo siguiente:
+ Para saber si Amazon Bedrock admite estas características, consulte [Funcionamiento de Amazon Bedrock con IAM](security_iam_service-with-iam.md).
+ Para obtener información sobre cómo proporcionar acceso a los recursos de su Cuentas de AWS propiedad, consulte [Proporcionar acceso a un usuario de IAM en otro de su propiedad en la Cuenta de AWS Guía del usuario](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) de *IAM*.
+ Para obtener información sobre cómo proporcionar acceso a tus recursos a terceros Cuentas de AWS, consulta Cómo [proporcionar acceso a recursos que Cuentas de AWS son propiedad de terceros](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) en la Guía del usuario de *IAM*.
+ Para obtener información sobre cómo proporcionar acceso mediante una federación de identidades, consulte [Proporcionar acceso a usuarios autenticados externamente (identidad federada)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) en la *Guía del usuario de IAM*.
+ Para conocer sobre la diferencia entre las políticas basadas en roles y en recursos para el acceso entre cuentas, consulte [Acceso a recursos entre cuentas en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) en la *Guía del usuario de IAM*.

# Acceso entre cuentas al bucket de Amazon S3 para trabajos de importación de modelos personalizados
<a name="cross-account-access-cmi"></a>

Si va a importar su modelo desde un bucket de Amazon S3 y utiliza Amazon S3 entre cuentas, tendrá que conceder permisos a los usuarios de la cuenta del propietario del bucket para acceder al bucket antes de importar su modelo personalizado. Consulte [Requisitos previos para importar el modelo personalizado](custom-model-import-prereq.md).

## Configuración del acceso entre cuentas a un bucket de Amazon S3
<a name="configure-cross-acct-access"></a>

En esta sección, se explican los pasos para crear políticas para que los usuarios de la cuenta del propietario del bucket accedan al bucket de Amazon S3. 

1. En la cuenta del propietario del bucket, cree una política de bucket que dé acceso a los usuarios de la cuenta del propietario del bucket.

   La siguiente política de bucket de ejemplo, creada y aplicada al bucket `s3://amzn-s3-demo-bucket` por el propietario del bucket, concede acceso a un usuario de la cuenta del propietario del bucket `123456789123`. 

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

****  

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

------

1. En la del usuario Cuenta de AWS, cree una política de roles de ejecución de importación. Para `aws:ResourceAccount` especificar el identificador de cuenta del propietario del bucket Cuenta de AWS.

   El siguiente ejemplo de política de roles de ejecución de importación en la cuenta del usuario proporciona al identificador de cuenta del propietario del bucket `111222333444555` acceso al bucket de Amazon S3 `s3://amzn-s3-demo-bucket`.

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

****  

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

------

## Configure el acceso multicuenta al bucket de Amazon S3 cifrado con un cifrado personalizado AWS KMS key
<a name="configure-cross-acct-access-kms"></a>

Si tiene un bucket de Amazon S3 cifrado con una clave custom AWS Key Management Service (AWS KMS), tendrá que conceder acceso a él a los usuarios de la cuenta del propietario del bucket.

Para configurar el acceso multicuenta al bucket de Amazon S3 cifrado con un cifrado personalizado AWS KMS key

1. En la cuenta del propietario del bucket, cree una política de bucket que dé acceso a los usuarios de la cuenta del propietario del bucket.

   La siguiente política de bucket de ejemplo, creada y aplicada al bucket `s3://amzn-s3-demo-bucket` por el propietario del bucket, concede acceso a un usuario de la cuenta del propietario del bucket `123456789123`. 

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

****  

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

------

1. En la cuenta del propietario del bucket, cree la siguiente política de recursos para permitir el descifrado al rol de importación de la cuenta del usuario.

   ```
   {
      "Sid": "Allow use of the key by the destination account",
      "Effect": "Allow",
      "Principal": {
      "AWS": "arn:aws:iam::"arn:aws:iam::123456789123:role/ImportRole"
       },
       "Action": [
             "kms:Decrypt",
             "kms:DescribeKey"
       ],
       "Resource": "*"
   }
   ```

1. En la del usuario Cuenta de AWS, cree una política de roles de ejecución de importaciones. Para `aws:ResourceAccount` especificar el identificador de cuenta del propietario del bucket Cuenta de AWS. Además, proporciona acceso al AWS KMS key que se utiliza para cifrar el depósito.

   En el siguiente ejemplo, la política de funciones de ejecución de importaciones en la cuenta del usuario proporciona el identificador de cuenta del propietario del bucket, el `111222333444555` acceso al bucket de Amazon S3 `s3://amzn-s3-demo-bucket` y al AWS KMS key `arn:aws:kms:us-west-2:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd`

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

****  

   ```
   { 
       "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
           "Effect": "Allow",
           "Action": [
               "s3:ListBucket",
               "s3:GetObject"
           ],
           "Resource": [
               "arn:aws:s3:::amzn-s3-demo-bucket",
               "arn:aws:s3:::amzn-s3-demo-bucket/*"
           ],
           "Condition": {
               "StringEquals": {
                   "aws:ResourceAccount": "123456789012"
               }
           }
        },
        {
         "Effect": "Allow",
         "Action": [
           "kms:Decrypt",
           "kms:DescribeKey"
         ],
         "Resource": "arn:aws:kms:us-west-2:123456789012:key/111aa2bb-333c-4d44-5555-a111bb2c33dd"
       }
     ]
    }
   ```

------

# Validación de la conformidad en Amazon Bedrock
<a name="compliance-validation"></a>

Para saber si un programa de cumplimiento Servicio de AWS está dentro del ámbito de aplicación de programas de cumplimiento específicos, consulte [Servicios de AWS Alcance por programa](https://aws.amazon.com/compliance/services-in-scope/) de de cumplimiento y elija el programa de cumplimiento que le interese. Para obtener información general, consulte Programas de [AWS cumplimiento > Programas AWS](https://aws.amazon.com/compliance/programs/) .

Puede descargar informes de auditoría de terceros utilizando AWS Artifact. Para obtener más información, consulte [Descarga de informes en AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html) .

Su responsabilidad de cumplimiento al Servicios de AWS utilizarlos viene determinada por la confidencialidad de sus datos, los objetivos de cumplimiento de su empresa y las leyes y reglamentos aplicables. Para obtener más información sobre su responsabilidad de conformidad al utilizarlos Servicios de AWS, consulte [AWS la documentación de seguridad](https://docs.aws.amazon.com/security/).

# Respuesta frente a incidencias en Amazon Bedrock
<a name="security-incident-response"></a>

La seguridad de AWS es nuestra mayor prioridad. Como parte del [modelo de responsabilidad compartida AWS](https://aws.amazon.com/compliance/shared-responsibility-model) en la nube, AWS administra un centro de datos, una red y una arquitectura de software que cumple con los requisitos de las organizaciones más sensibles a la seguridad. AWS es responsable de cualquier respuesta a un incidente relacionado con el propio servicio de Amazon Bedrock. Además, como AWS cliente, usted comparte la responsabilidad de mantener la seguridad en la nube. Esto significa que usted controla la seguridad que decide implementar desde las AWS herramientas y funciones a las que tiene acceso. Además, usted es responsable de la respuesta a los incidentes en su parte del modelo de responsabilidad compartida.

Al establecer una base de seguridad que cumpla con los objetivos de las aplicaciones que se ejecutan en la nube, puede detectar las desviaciones a las que puede responder. Para ayudarle a entender el impacto que la respuesta a los incidentes y sus decisiones tienen en sus objetivos empresariales, le recomendamos que consulte los siguientes recursos:
+ [AWS Guía de respuesta a incidentes de seguridad](https://docs.aws.amazon.com/whitepapers/latest/aws-security-incident-response-guide/welcome.html)
+ [AWS Mejores prácticas de seguridad, identidad y cumplimiento](https://aws.amazon.com/architecture/security-identity-compliance)
+ Documento técnico sobre la [perspectiva de seguridad del marco de adopción de la AWS nube (CAF)](https://docs.aws.amazon.com/whitepapers/latest/overview-aws-cloud-adoption-framework/security-perspective.html)

 [Amazon GuardDuty](https://aws.amazon.com/guardduty/) es un servicio gestionado de detección de amenazas que supervisa continuamente el comportamiento malicioso o no autorizado para ayudar a los clientes a proteger AWS las cuentas y las cargas de trabajo e identificar posibles actividades sospechosas antes de que se conviertan en un incidente. Supervisa actividades como las llamadas inusuales a la API o las implementaciones potencialmente no autorizadas, lo que indica la posibilidad de que las cuentas o los recursos se vean comprometidos o el reconocimiento por parte de personas malintencionadas. Por ejemplo, Amazon GuardDuty puede detectar actividades sospechosas en Amazon Bedrock APIs, como que un usuario inicie sesión desde una nueva ubicación y utilice Amazon Bedrock APIs para quitar las barandillas de Amazon Bedrock, o cambiar el conjunto de cubos de Amazon S3 por datos de entrenamiento de modelos.

# Resiliencia en Amazon Bedrock
<a name="disaster-recovery-resiliency"></a>

La infraestructura AWS global se basa Regiones de AWS en distintas zonas de disponibilidad. Regiones de AWS proporcionan varias zonas de disponibilidad aisladas y separadas físicamente, que están conectadas mediante redes de baja latencia, alto rendimiento y alta redundancia. Con las zonas de disponibilidad, puede diseñar y utilizar aplicaciones y bases de datos que realizan una conmutación por error automática entre las zonas sin interrupciones. Las zonas de disponibilidad tienen una mayor disponibilidad, tolerancia a errores y escalabilidad que las infraestructuras tradicionales de uno o varios centros de datos. 

[Para obtener más información sobre las zonas de disponibilidad Regiones de AWS y las zonas de disponibilidad, consulte Infraestructura global.AWS](https://aws.amazon.com/about-aws/global-infrastructure/)

# Seguridad de la infraestructura en Amazon Bedrock
<a name="infrastructure-security"></a>

Como servicio gestionado, Amazon Bedrock está protegido por la seguridad de la red AWS global. Para obtener información sobre los servicios AWS de seguridad y cómo se AWS protege la infraestructura, consulte [Seguridad AWS en la nube](https://aws.amazon.com/security/). Para diseñar su AWS entorno utilizando las mejores prácticas de seguridad de la infraestructura, consulte [Protección de infraestructuras en un marco](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) de buena * AWS arquitectura basado en el pilar de la seguridad*.

Utiliza las llamadas a la API AWS publicadas para acceder a Amazon Bedrock a través de la red. Los clientes deben admitir lo siguiente:
+ Seguridad de la capa de transporte (TLS). Exigimos TLS 1.2 y recomendamos TLS 1.3.
+ Conjuntos de cifrado con confidencialidad directa total (PFS) como DHE (Ephemeral Diffie-Hellman) o ECDHE (Elliptic Curve Ephemeral Diffie-Hellman). La mayoría de los sistemas modernos como Java 7 y posteriores son compatibles con estos modos.

Además, las solicitudes deben estar firmadas mediante un ID de clave de acceso y una clave de acceso secreta que esté asociada a una entidad principal de IAM. También puedes utilizar [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html) (AWS STS) para generar credenciales de seguridad temporales para firmar solicitudes.

# Prevención de la sustitución confusa entre servicios
<a name="cross-service-confused-deputy-prevention"></a>

El problema de la sustitución confusa es un problema de seguridad en el que una entidad que no tiene permiso para realizar una acción puede obligar a una entidad con más privilegios a realizar la acción. En AWS, la suplantación de identidad entre servicios puede provocar un confuso problema de diputado. La suplantación entre servicios puede producirse cuando un servicio (el *servicio que lleva a cabo las llamadas*) llama a otro servicio (el *servicio al que se llama*). El servicio que lleva a cabo las llamadas se puedes manipular para utilizar sus permisos a fin de actuar en función de los recursos de otro cliente de una manera en la que no debe tener permiso para acceder. Para evitarlo, AWS proporciona herramientas que lo ayudan a proteger sus datos para todos los servicios con entidades principales de servicio a las que se les ha dado acceso a los recursos de su cuenta. 

Se recomienda utilizar las claves de contexto de condición global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) y [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) en las políticas de recursos para limitar los permisos que Amazon Bedrock concede a otro servicio para el recurso. Utiliza `aws:SourceArn` si desea que solo se asocie un recurso al acceso entre servicios. Utiliza `aws:SourceAccount` si quiere permitir que cualquier recurso de esa cuenta se asocie al uso entre servicios.

La forma más eficaz de protegerse contra el problema de la sustitución confusa es utilizar la clave de contexto de condición global de `aws:SourceArn` con el ARN completo del recurso. Si no conoce el ARN completo del recurso o si está especificando varios recursos, utilice la clave de condición de contexto global `aws:SourceArn` con caracteres comodines (`*`) para las partes desconocidas del ARN. Por ejemplo, `arn:aws:bedrock:*:123456789012:*`. 

Si el valor de `aws:SourceArn` no contiene el ID de cuenta, como un ARN de bucket de Amazon S3, debe utilizar ambas claves de contexto de condición global para limitar los permisos. 

El valor `aws:SourceArn` debe ser  ResourceDescription.

El siguiente ejemplo muestra cómo se pueden utilizar las claves contextuales de condición global `aws:SourceArn` y `aws:SourceAccount` en Bedrock para evitar el problema del adjunto confundido.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "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:model-customization-job/*"
                }
            }
        }
    ] 
}
```

------

# Configuración y análisis de vulnerabilidades en Amazon Bedrock
<a name="vulnerability-analysis-and-management"></a>

La configuración y los controles de TI son una responsabilidad compartida entre usted AWS y usted, nuestro cliente. Para obtener más información, consulte el [modelo de responsabilidad AWS compartida](https://aws.amazon.com/compliance/shared-responsibility-model/).

# Detección de abusos de Amazon Bedrock
<a name="abuse-detection"></a>

AWS está comprometida con el uso responsable de la IA. Para ayudar a prevenir un posible uso indebido, Amazon Bedrock implementa mecanismos automatizados de detección de abusos para identificar y mitigar las posibles infracciones de la [Política de uso aceptable (AUP)](https://aws.amazon.com/aup/) y la [Política de IA responsable](https://aws.amazon.com/machine-learning/responsible-ai/policy/) de AWS o de la AUP de un proveedor de modelos externo.

Nuestros mecanismos de detección de abusos están totalmente automatizados, por lo que no se puede revisar ni acceder a las entradas de usuario ni a las salidas del modelo.

La detección automática de abusos incluye: 
+ **Categorizar el contenido**: utilizamos clasificadores para detectar el contenido dañino (como el que incita a la violencia) en las entradas de usuario y en las salidas del modelo. Un clasificador es un algoritmo que procesa las entradas y salidas del modelo y asigna el tipo de daño y el nivel de confianza. Podemos utilizar estos clasificadores tanto en Titan como en modelos de terceros. Esto puede incluir modelos que se hayan refinado con la personalización de modelos de Amazon Bedrock. El proceso de clasificación está automatizado y no implica la revisión humana de entradas de usuario ni de salidas del modelo.
+ **Identificar patrones**: utilizamos métricas de clasificación para identificar posibles infracciones y comportamientos recurrentes. Podemos recopilar y compartir métricas de clasificadores anónimas con proveedores de modelos externos. Amazon Bedrock no almacena las entradas de usuario ni las salidas del modelo y no las comparte con proveedores de modelos externos.
+ **Detección y bloqueo de material de abuso sexual infantil (CSAM)**: usted es responsable del contenido que usted y sus usuarios finales suban a Amazon Bedrock y debe asegurarse de que no contenga imágenes ilegales. Para ayudar a detener la difusión de CSAM, Amazon Bedrock puede utilizar mecanismos automatizados de detección de abusos (como la tecnología de coincidencia de hash o los clasificadores) para detectar posible CSAM. Si Amazon Bedrock detecta posible CSAM en las entradas de imágenes, bloqueará la solicitud y usted recibirá un mensaje de error automático. Amazon Bedrock también puede remitir una denuncia al Centro Nacional para Menores Desaparecidos y Explotados (NCMEC, por sus siglas en inglés) o a la autoridad pertinente. Nos tomamos muy en serio el CSAM y, por ello, no dejaremos de actualizar nuestros mecanismos de detección, bloqueo y notificación. Es posible que las leyes aplicables le exijan que tome medidas adicionales. Usted es responsable de tomar dichas medidas.

Cuando nuestros mecanismos automatizados de detección de abusos identifiquen posibles infracciones, podemos solicitar información sobre el uso que hace de Amazon Bedrock y sobre el cumplimiento de nuestras condiciones de servicio o de la AUP de un proveedor externo. En caso de que no responda, no quiera o no pueda cumplir con estos términos o políticas, AWS podrá suspender su acceso a Amazon Bedrock. También es posible que se le facture por los trabajos de refinamiento que hayan fallado si nuestras pruebas automatizadas detectan que las respuestas de los modelos no cumplen los términos de licencia y las políticas de los proveedores de modelos de terceros.

Póngase en contacto con AWS Support si tiene más preguntas. Para obtener más información, consulte [Amazon Bedrock FAQs](https://aws.amazon.com/bedrock/faqs/?refid=6f95042b-28fe-493f-8858-601fe99cea89).

# Seguridad de la inyección de peticiones
<a name="prompt-injection"></a>

 Según el [modelo de responsabilidad AWS compartida](https://aws.amazon.com/compliance/shared-responsibility-model/), AWS es responsable de proteger la infraestructura de nube subyacente, incluidos el hardware, el software, las redes y las instalaciones que ejecutan AWS los servicios. Sin embargo, los clientes son responsables de proteger las aplicaciones, los datos y los recursos en los que estén desplegados AWS. 

En el contexto de Amazon Bedrock, AWS gestiona la seguridad de la infraestructura subyacente, incluidos los centros de datos físicos, las redes y el propio servicio de Amazon Bedrock. Sin embargo, la responsabilidad del desarrollo seguro de las aplicaciones y de la prevención de vulnerabilidades, como las inyecciones de peticiones, recae en el cliente. 

La inyección de peticiones es un problema de seguridad de la aplicación, similar a la inyección de código SQL en aplicaciones de bases de datos. Del mismo modo que AWS servicios como Amazon RDS y Amazon Aurora proporcionan motores de bases de datos seguros, los clientes son responsables de evitar la inyección de SQL en sus aplicaciones. Amazon Bedrock proporciona una base segura para el procesamiento del lenguaje natural, pero los clientes deben tomar medidas para evitar vulnerabilidades de inyección de peticiones en su código. Además, AWS proporciona documentación detallada, mejores prácticas y orientación sobre prácticas de codificación segura para Bedrock y otros AWS servicios. 

Para protegerse contra las inyecciones de peticiones y otras vulnerabilidades de seguridad al utilizar Amazon Bedrock, los clientes deben seguir estas prácticas recomendadas: 
+ **Validación de entradas**: valide y sanee todas las entradas de los usuarios antes de pasarlas a la API o al tokenizador de Amazon Bedrock. Esto incluye eliminar o evitar caracteres especiales y garantizar que la entrada se ajuste a los formatos esperados. 
+ **Recomendaciones para una codificación segura**: aplique prácticas de codificación seguras, como utilizar consultas parametrizadas, evitar la concatenación de cadenas para la entrada y practicar el principio del privilegio mínimo al conceder acceso a los recursos. 
+ **Pruebas de seguridad**: pruebe periódicamente sus aplicaciones para detectar inyecciones de peticiones y otras vulnerabilidades de seguridad rápidas mediante técnicas como las pruebas de penetración, el análisis de código estático y las pruebas dinámicas de seguridad de las aplicaciones (DAST). 
+ **Manténgase actualizado**: mantenga su SDK, bibliotecas y dependencias de Amazon Bedrock up-to-date con los últimos parches y actualizaciones de seguridad. Supervise los boletines y anuncios de AWS seguridad para ver si hay actualizaciones u orientación relevantes. AWS proporciona documentación detallada, publicaciones de blog y códigos de muestra para ayudar a los clientes a crear aplicaciones seguras con Bedrock y otros servicios. AWS Los clientes deben revisar estos recursos y seguir las prácticas de seguridad recomendadas para proteger sus aplicaciones contra inyecciones de peticiones y otras vulnerabilidades. 

Puede usar una barrera de protección de Amazon Bedrock para protegerse de los ataques de inyección de peticiones. Para obtener más información, consulte [Detección de ataques de peticiones con Barreras de protección para Amazon Bedrock](guardrails-prompt-attack.md).

Al crear un agente de Amazon Bedrock, utilice las siguientes técnicas para protegerse de los ataques de inyección de peticiones. 
+ Asociación de una barrera de protección al agente. Para obtener más información, consulte [Implementación de medidas de seguridad para la aplicación asociando una barrera de protección al agente](agents-guardrail.md).
+ Utilice [peticiones avanzadas](https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html) para activar la petición de preprocesamiento predeterminada. Cada agente tiene una petición de preprocesamiento predeterminada que puede activar. Se trata de una petición ligera que utiliza un modelo fundacional para determinar si es seguro procesar las entradas del usuario. Puede usar su comportamiento predeterminado o personalizar completamente la petición para incluir cualquier otra categoría de clasificación. Si lo desea, puede crear su propio analizador de respuestas del modelo fundacional en una función [AWS Lambda](https://docs.aws.amazon.com/bedrock/latest/userguide/lambda-parser.html) para implementar sus propias reglas personalizadas. 

  Para obtener más información, consulte [Funcionamiento de los agentes de Amazon Bedrock](agents-how.md).
+ Actualice la petición del sistema mediante características de petición avanzadas. Los modelos más nuevos diferencian entre las peticiones del sistema y las del usuario. Si utiliza las peticiones del sistema en un agente, le recomendamos que defina claramente el alcance de lo que el agente puede y no puede hacer. Además, consulte la documentación del proveedor del modelo para obtener orientación específica sobre el modelo. Para saber qué modelos sin servidor de Amazon Bedrock son compatibles con las peticiones del sistema, consulte [Parámetros de solicitud de inferencia y campos de respuesta para los modelos fundacionales](model-parameters.md). 