

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.

# Gestión de identidad y acceso para AWS Database Migration Service
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) es una herramienta 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 puede *autenticarse (iniciar* sesión) y quién puede *autorizarse* (tener permisos) para usar los recursos. AWS DMS La IAM es una Servicio de AWS opción 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)
+ [¿Cómo AWS Database Migration Service funciona con IAM](security_iam_service-with-iam.md)
+ [AWS Database Migration Service ejemplos de políticas basadas en la identidad](security_iam_id-based-policy-examples.md)
+ [Ejemplos de políticas basadas en recursos para AWS KMS](security_iam_resource-based-policy-examples.md)
+ [Uso de secretos para acceder a los puntos AWS Database Migration Service finales](security_iam_secretsmanager.md)
+ [Uso de roles vinculados a servicios para AWS DMS](using-service-linked-roles.md)
+ [Solución de problemas AWS Database Migration Service de identidad y acceso](security_iam_troubleshoot.md)
+ [Se necesitan permisos de IAM para utilizarlos AWS DMS](#CHAP_Security.IAMPermissions)
+ [Crear los roles de IAM para usarlos con AWS DMS](#CHAP_Security.APIRole)
+ [Prevención de la sustitución confusa entre servicios](cross-service-confused-deputy-prevention.md)
+ [AWS políticas gestionadas para AWS Database Migration Service](security-iam-awsmanpol.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 AWS Database Migration Service de identidad y acceso](security_iam_troubleshoot.md)).
+ **Administrador del servicio:** determine el acceso de los usuarios y envíe las solicitudes de permiso (consulte [¿Cómo AWS Database Migration Service funciona con IAM](security_iam_service-with-iam.md)).
+ **Administrador de IAM**: escribe las políticas para administrar el acceso (consulte [AWS Database Migration Service ejemplos de políticas basadas en la identidad](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 la lista completa de 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*. 

### 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>

 AWS Para controlar el acceso, puede crear políticas y adjuntarlas 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.

### Listas de control de acceso () ACLs
<a name="security_iam_access-manage-acl"></a>

Las listas de control de acceso (ACLs) controlan qué responsables (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.

Amazon S3 y Amazon VPC son ejemplos de servicios compatibles. AWS WAF ACLs Para obtener más información ACLs, consulte la [descripción general de la lista de control de acceso (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) en la *Guía para desarrolladores de Amazon Simple Storage Service*.

### 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 otorgados por 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*.

# ¿Cómo AWS Database Migration Service funciona con IAM
<a name="security_iam_service-with-iam"></a>

Antes de utilizar IAM para gestionar el acceso AWS DMS, debe comprender las funciones de IAM disponibles para su uso. AWS DMS*Para obtener una visión general de cómo funcionan con IAM AWS DMS y otros AWS servicios, consulte los [AWS 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).*

**Topics**
+ [AWS DMS políticas basadas en la identidad](#security_iam_service-with-iam-id-based-policies)
+ [AWS DMS políticas basadas en recursos](#security_iam_service-with-iam-resource-based-policies)
+ [Autorización basada en etiquetas AWS DMS](#security_iam_service-with-iam-tags)
+ [Funciones de IAM para AWS DMS](#security_iam_service-with-iam-roles)
+ [Administración de identidades y accesos para DMS Fleet Advisor](#fa-security-iam)

## AWS DMS políticas basadas en la identidad
<a name="security_iam_service-with-iam-id-based-policies"></a>

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

### Acciones
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

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.

Las acciones políticas AWS DMS utilizan el siguiente prefijo antes de la acción:`dms:`. Por ejemplo, para conceder permiso a alguien para crear una tarea de replicación con la operación de AWS DMS `CreateReplicationTask` API, debes incluir la `dms:CreateReplicationTask` acción en su política. Las declaraciones de política deben incluir un `NotAction` elemento `Action` o. AWS DMS define su propio conjunto de acciones que describen las tareas que puede realizar con este servicio.

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

```
"Action": [
      "dms:action1",
      "dms:action2"
```

Puede utilizar caracteres comodín (\$1) para especificar varias acciones . Por ejemplo, para especificar todas las acciones que comiencen con la palabra `Describe`, incluya la siguiente acción.

```
"Action": "dms:Describe*"
```



Para ver una lista de AWS DMS acciones, consulte las [acciones definidas por AWS Database Migration Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsdatabasemigrationservice.html#awsdatabasemigrationservice-actions-as-permissions) en la *Guía del usuario de IAM*.

### Recursos
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

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": "*"
```



AWS DMS funciona con los siguientes recursos:
+ Certificados
+ Puntos de conexión
+ Suscripciones de eventos
+ Instancias de replicación
+ Grupos de subred (seguridad) de replicación
+ Tareas de replicación

El recurso o los recursos necesarios AWS DMS dependen de la acción o las acciones que se invoquen. Necesita una política que permita estas acciones en el recurso o los recursos asociados especificados por el recurso ARNs.

Por ejemplo, un recurso de AWS DMS punto final tiene el siguiente ARN:

```
arn:${Partition}:dms:${Region}:${Account}:endpoint/${InstanceId}
```

Para obtener más información sobre el formato de ARNs, consulte [Nombres de recursos de Amazon (ARNs) y espacios de nombres AWS de servicios](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).

Por ejemplo, para especificar la instancia de punto de enlace de `1A2B3C4D5E6F7G8H9I0J1K2L3M` para la región `us-east-2` en la instrucción, utilice el siguiente ARN.

```
"Resource": "arn:aws:dms:us-east-2:987654321098:endpoint/1A2B3C4D5E6F7G8H9I0J1K2L3M"
```

Para especificar todos los puntos de enlace que pertenecen a una cuenta específica, utilice el carácter comodín (\$1):

```
"Resource": "arn:aws:dms:us-east-2:987654321098:endpoint/*"
```

Algunas AWS DMS acciones, como las de creación de recursos, no se pueden realizar en un recurso específico. En dichos casos, debe utilizar el carácter comodín (\$1).

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

Algunas acciones AWS DMS de la API implican varios recursos. Por ejemplo, `StartReplicationTask` inicia y conecta una tarea de replicación a dos recursos de punto de conexión de la base de datos, un origen y un destino, por lo que un usuario de IAM debe tener permisos para leer el punto de conexión de origen y escribir en el punto de conexión de destino. Para especificar varios recursos en una sola sentencia, sepárelos ARNs con comas. 

```
"Resource": [
      "resource1",
      "resource2" ]
```

Para obtener más información sobre cómo controlar el acceso a AWS DMS los recursos mediante políticas, consulte[Uso de nombres de recursos para controlar el acceso](CHAP_Security.FineGrainedAccess.md#CHAP_Security.FineGrainedAccess.ResourceName). Para ver una lista de los tipos de AWS DMS recursos y sus correspondientes ARNs, consulte [los recursos definidos por AWS Database Migration Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsdatabasemigrationservice.html#awsdatabasemigrationservice-resources-for-iam-policies) en la *Guía del usuario de IAM*. Para obtener información sobre las acciones con las que puede especificar el ARN de cada recurso, consulte [Acciones definidas por AWS Database Migration Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsdatabasemigrationservice.html#awsdatabasemigrationservice-actions-as-permissions).

### Claves de condición
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

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*.

AWS DMS define su propio conjunto de claves de condición y también admite el uso de algunas claves de condición globales. 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*.



AWS DMS define un conjunto de etiquetas estándar que puede utilizar en sus claves de condición y también le permite definir sus propias etiquetas personalizadas. Para obtener más información, consulte [Uso de etiquetas para controlar el acceso](CHAP_Security.FineGrainedAccess.md#CHAP_Security.FineGrainedAccess.Tags).

Para ver una lista de claves de AWS DMS condición, consulte las [claves de condición AWS Database Migration Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsdatabasemigrationservice.html#awsdatabasemigrationservice-policy-keys) en la *Guía del usuario de IAM*. Para obtener información acerca de las acciones y los recursos con los que puede utilizar una clave de condición, consulte [Acciones definidas por AWS Database Migration Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsdatabasemigrationservice.html#awsdatabasemigrationservice-actions-as-permissions) y [recursos definidos por AWS Database Migration Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsdatabasemigrationservice.html#awsdatabasemigrationservice-resources-for-iam-policies).

### Ejemplos
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Para ver ejemplos de políticas AWS DMS basadas en la identidad, consulte. [AWS Database Migration Service ejemplos de políticas basadas en la identidad](security_iam_id-based-policy-examples.md)

## AWS DMS políticas basadas en recursos
<a name="security_iam_service-with-iam-resource-based-policies"></a>

Las políticas basadas en recursos son documentos de políticas de JSON que especifican qué acciones puede realizar un director específico en un AWS DMS recurso determinado y en qué condiciones. AWS DMS admite políticas de permisos basadas en recursos para las claves de AWS KMS cifrado que se crean para cifrar los datos migrados a los puntos finales de destino compatibles. Los puntos de conexión de destino incluyen Amazon Redshift y Amazon S3. Mediante el uso de políticas basadas en recursos, puede conceder el permiso para utilizar estas claves de cifrado en otras cuentas en cada punto de enlace de destino.

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 basada en recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html). Añadir a una política en función de recursos una entidad principal entre cuentas es solo una parte del establecimiento de una relación de confianza. Si el principal y el recurso están en AWS cuentas diferentes, también debe conceder permiso a la entidad principal para acceder al recurso. Conceda permiso asociando a la entidad una política basada en identidades. Sin embargo, si la política basada en recursos concede el acceso a una entidad principal de la misma cuenta, no es necesaria una política basada en identidad adicional. Para más información, consulte [Cómo los roles de IAM difieren de las políticas basadas en recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html) en la *Guía del usuario de IAM*.

El AWS DMS servicio solo admite un tipo de política basada en recursos denominada política de *claves*, que se adjunta a una clave de AWS KMS cifrado. Esta política define qué entidades principales (cuentas, usuarios, roles y usuarios federados) pueden cifrar los datos migrados en el punto de enlace de destino admitido.

Para obtener información sobre cómo asociar una política basada en recursos a una clave de cifrado que cree para los puntos de enlace de destino compatibles, consulte [Creación y uso de AWS KMS claves para cifrar los datos de destino de Amazon Redshift](CHAP_Target.Redshift.md#CHAP_Target.Redshift.KMSKeys) y [Creación de AWS KMS claves para cifrar los objetos de destino de Amazon S3](CHAP_Target.S3.md#CHAP_Target.S3.KMSKeys).

### Ejemplos
<a name="security_iam_service-with-iam-resource-based-policies-examples"></a>



Para ver ejemplos de políticas AWS DMS basadas en recursos, consulte. [Ejemplos de políticas basadas en recursos para AWS KMS](security_iam_resource-based-policy-examples.md)

## Autorización basada en etiquetas AWS DMS
<a name="security_iam_service-with-iam-tags"></a>

Puede adjuntar etiquetas a AWS DMS los recursos o pasarles etiquetas en una solicitud AWS DMS. Para controlar el acceso en función de las etiquetas, proporciona la 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 mediante la clave de `aws:TagKeys` condición `dms:ResourceTag/key-name``aws:RequestTag/key-name`, o. AWS DMS define un conjunto de etiquetas estándar que puede usar en sus claves de condición y también le permite definir sus propias etiquetas personalizadas. Para obtener más información, consulte [Uso de etiquetas para controlar el acceso](CHAP_Security.FineGrainedAccess.md#CHAP_Security.FineGrainedAccess.Tags).

Para obtener un ejemplo de política basada en identidad que limita el acceso a un recurso basado en etiquetas, consulte [Acceder a AWS DMS los recursos en función de las etiquetas](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-access-resources-tags).

## Funciones de IAM para AWS DMS
<a name="security_iam_service-with-iam-roles"></a>

Un [rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) es una entidad de tu AWS cuenta que tiene permisos específicos.

### Usar credenciales temporales con AWS DMS
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

Puede utilizar credenciales temporales para iniciar sesión con identidad federada, asumir un rol de IAM o asumir un rol de acceso entre cuentas. Para obtener credenciales de seguridad temporales, puede llamar a operaciones de AWS STS API como [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)o [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html). 

AWS DMS admite el uso de credenciales temporales. 

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

Los [roles vinculados a un servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) permiten a AWS los servicios acceder a los recursos de otros servicios para completar una acción en tu nombre. Los roles vinculados a servicios aparecen en la cuenta de IAM y son propiedad del servicio. Un administrador de IAM puede ver, pero no editar, los permisos de los roles vinculados a servicios.

Para obtener más información sobre la creación o la administración de funciones AWS DMS vinculadas a un servicio, consulte. [Cómo utilizar roles vinculados a servicios](using-service-linked-roles.md)

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

Esta característica permite que un servicio asuma un [rol de servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) en su nombre. Este rol permite que el servicio obtenga acceso a los recursos de otros servicios para completar una acción en su nombre. Los roles de servicio aparecen en su cuenta de IAM y son propiedad de la cuenta. Esto significa que un administrador de IAM puede cambiar los permisos de este rol. Sin embargo, hacerlo podría deteriorar la funcionalidad del servicio.

AWS DMS admite dos tipos de funciones de servicio que debe crear para utilizar determinados puntos finales de origen o destino:
+ Funciones con permisos que permiten al AWS DMS acceder a los siguientes puntos finales de origen y destino (o a sus recursos):
  + Amazon DynamoDB como destino: para obtener más información, consulte [Requisitos previos para usar DynamoDB como objetivo para AWS Database Migration Service](CHAP_Target.DynamoDB.md#CHAP_Target.DynamoDB.Prerequisites).
  + OpenSearch como destino: para obtener más información, consulte. [Requisitos previos para utilizar Amazon OpenSearch Service como objetivo para AWS Database Migration Service](CHAP_Target.Elasticsearch.md#CHAP_Target.Elasticsearch.Prerequisites)
  + Amazon Kinesis como destino: para obtener más información, consulte [Requisitos previos para utilizar una transmisión de datos de Kinesis como destino para AWS Database Migration Service](CHAP_Target.Kinesis.md#CHAP_Target.Kinesis.Prerequisites).
  + Amazon Redshift como destino: debe crear el rol especificado solo para crear una clave de cifrado de KMS personalizada para cifrar los datos de destino o para especificar un bucket de S3 personalizado para almacenar tareas intermedias. Para obtener más información, consulte [Creación y uso de AWS KMS claves para cifrar los datos de destino de Amazon Redshift](CHAP_Target.Redshift.md#CHAP_Target.Redshift.KMSKeys) o [Configuración del bucket de Amazon S3](CHAP_Target.Redshift.md#CHAP_Target.Redshift.EndpointSettings.S3Buckets).
  + Amazon S3 como origen o como destino: para obtener más información, consulte [Requisitos previos al utilizar Amazon S3 como fuente de AWS DMS](CHAP_Source.S3.md#CHAP_Source.S3.Prerequisites) o [Requisitos previos para utilizar Amazon S3 como un destino](CHAP_Target.S3.md#CHAP_Target.S3.Prerequisites).

  Por ejemplo, para leer datos de un punto de enlace de origen S3 o para insertar datos a un punto de enlace de destino S3, debe crear un rol de servicio como requisito previo para acceder a S3 para cada una de estas operaciones de punto de enlace. 
+ Funciones con permisos necesarios para usar la consola de AWS DMS, la API de AWS DMS AWS CLI y las dos funciones de IAM que debe crear son y. `dms-vpc-role` `dms-cloudwatch-logs-role` Si utiliza Amazon Redshift como base de datos de destino, también debe crear y añadir el rol de IAM `dms-access-for-endpoint` a su cuenta. AWS Para obtener más información, consulte [Crear los roles de IAM para usarlos con AWS DMS](security-iam.md#CHAP_Security.APIRole).

### Elegir un rol de IAM en AWS DMS
<a name="security_iam_service-with-iam-roles-choose"></a>

Si utiliza la consola del AWS DMS AWS CLI o la API del AWS DMS para la migración de la base de datos, debe añadir determinadas funciones de IAM a su AWS cuenta antes de poder utilizar las funciones del DMS. AWS Dos de los tres roles son `dms-vpc-role` y `dms-cloudwatch-logs-role`. Si utiliza Amazon Redshift como base de datos de destino, también debe añadir el rol de IAM `dms-access-for-endpoint` a su cuenta. AWS Para obtener más información, consulte [Crear los roles de IAM para usarlos con AWS DMS](security-iam.md#CHAP_Security.APIRole).

## Administración de identidades y accesos para DMS Fleet Advisor
<a name="fa-security-iam"></a>

Con las políticas basadas en identidades de IAM, puede especificar las acciones permitidas o denegadas, así como los recursos y también las condiciones en las que se permiten o deniegan las acciones. DMS Fleet Advisor admite acciones, recursos y claves de condición específicos. Para obtener más información acerca de los elementos que utiliza en una política de JSON, consulte [Referencia de los elementos de las políticas de JSON de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) en la *Guía del usuario de IAM*. 

DMS Fleet Advisor utiliza roles de IAM para acceder a Amazon Simple Storage Service. Un [rol de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) es una entidad de su AWS cuenta que tiene permisos específicos. Para obtener más información, consulte [Crear recursos de IAM](fa-resources.md#fa-resources-iam). 

# AWS Database Migration Service ejemplos de políticas basadas en la identidad
<a name="security_iam_id-based-policy-examples"></a>

De forma predeterminada, los usuarios y los roles de IAM no tienen permiso para crear, ver ni modificar recursos de AWS DMS . Tampoco pueden realizar tareas con la API Consola de administración de AWS AWS CLI, o AWS . Un administrador de IAM debe crear políticas de IAM que concedan permisos a los usuarios y a los roles para realizar operaciones de la API concretas en los recursos especificados que necesiten. El administrador debe adjuntar esas políticas a los usuarios o grupos de IAM que necesiten esos permisos.

Para obtener más información acerca de cómo crear una política basada en identidad de IAM con estos documentos de políticas de JSON de ejemplo, consulte [Creación de políticas en la pestaña JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) en la *Guía del usuario de IAM*.

**Topics**
+ [Prácticas recomendadas relativas a políticas](#security_iam_service-with-iam-policy-best-practices)
+ [Uso de la consola AWS DMS](#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)
+ [Acceso a un bucket de Amazon S3](#security_iam_id-based-policy-examples-access-one-bucket)
+ [Acceder a AWS DMS los recursos en función de las etiquetas](#security_iam_id-based-policy-examples-access-resources-tags)

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

Las políticas basadas en la identidad determinan si alguien puede crear AWS DMS recursos de tu cuenta, acceder a ellos o eliminarlos. 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 empezar 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 AWS DMS
<a name="security_iam_id-based-policy-examples-console"></a>

La siguiente política le da acceso al AWS DMS, incluida la consola del AWS DMS, y también especifica los permisos para determinadas acciones necesarias desde otros servicios de Amazon, como Amazon EC2.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
     "Statement": [
    {
        "Effect": "Allow",
        "Action": "dms:*",
        "Resource": "arn:aws:dms:*:123456789012:*"
    },
    {
        "Effect": "Allow",
        "Action": [
            "kms:ListAliases",
            "kms:DescribeKey"
        ],
        "Resource": "arn:aws:kms:*:123456789012:key/*"
    },
    {
        "Effect": "Allow",
        "Action": [
            "iam:GetRole",
            "iam:CreateRole",
            "iam:AttachRolePolicy"
        ],
        "Resource": "arn:aws:iam::123456789012:role/*"
    },
    {
        "Effect": "Allow",
        "Action": "iam:PassRole",
        "Resource": "arn:aws:iam::123456789012:role/*",
        "Condition": {
            "StringEquals": {
                "iam:PassedToService": "dms.amazonaws.com"
            }
        }
    },
    {
        "Effect": "Allow",
        "Action": [
            "ec2:DescribeVpcs",
            "ec2:DescribeInternetGateways",
            "ec2:DescribeAvailabilityZones",
            "ec2:DescribeSubnets",
            "ec2:DescribeSecurityGroups",
            "ec2:ModifyNetworkInterfaceAttribute",
            "ec2:CreateNetworkInterface",
            "ec2:DeleteNetworkInterface"
        ],
        "Resource": "*"
    },
    {
        "Effect": "Allow",
        "Action": [
            "cloudwatch:Get*",
            "cloudwatch:List*"
        ],
    "Resource": "*"
    },
    {
    "Effect": "Allow",
    "Action": [
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams",
        "logs:FilterLogEvents",
        "logs:GetLogEvents"
        ],
    "Resource": "arn:aws:logs:*:123456789012:*"
    }
   ]
}
```

------

Un desglose de estos permisos puede ayudarle a comprender mejor por qué es necesario cada uno de ellos para usar la consola.

La siguiente sección es necesaria para permitir al usuario enumerar sus claves de AWS KMS y alias disponibles para su visualización en la consola. Esta entrada no es necesaria si conoce el nombre de recurso de Amazon (ARN) para la clave de KMS y está utilizando solo los AWS Command Line Interface (AWS CLI).

```
{
            "Effect": "Allow",
            "Action": [
                "kms:ListAliases", 
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:service:region:account:resourcetype/id"
        }
```

La sección siguiente es necesaria para determinados tipos de punto de enlace que requieren que se pase un ARN del rol con el punto de enlace. Además, si los AWS DMS roles necesarios no se crean con antelación, la AWS DMS consola tiene la capacidad de crear el rol. Si todas las funciones se configuran con antelación, todo eso es necesario en `iam:GetRole` e `iam:PassRole`. Para obtener más información acerca de los roles, consulte [Crear los roles de IAM para usarlos con AWS DMS](security-iam.md#CHAP_Security.APIRole).

```
{
            "Effect": "Allow",
            "Action": [
                "iam:GetRole",
                "iam:PassRole",
                "iam:CreateRole",
                "iam:AttachRolePolicy"
            ],
            "Resource": "arn:aws:service:region:account:resourcetype/id"
        }
```

La siguiente sección es obligatoria porque AWS DMS necesita crear la instancia Amazon EC2 y configurar la red para la instancia de replicación que se crea. Estos recursos existen en la cuenta del cliente, por lo que la capacidad para realizar estas acciones en nombre del cliente es necesaria.

```
{
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeVpcs",
                "ec2:DescribeInternetGateways",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:ModifyNetworkInterfaceAttribute",
                "ec2:CreateNetworkInterface",
                "ec2:DeleteNetworkInterface"
            ],
            "Resource": "arn:aws:service:region:account:resourcetype/id"
        }
```

La siguiente sección es necesaria para permitir que el usuario pueda ver las métricas de instancia de replicación.

```
{
            "Effect": "Allow",
            "Action": [
                "cloudwatch:Get*",
                "cloudwatch:List*"
            ],
            "Resource": "arn:aws:service:region:account:resourcetype/id"
        }
```

Esta sección es necesaria para permitir que el usuario vea los registros de replicación.

```
{
            "Effect": "Allow",
            "Action": [
                "logs:DescribeLogGroups",
                "logs:DescribeLogStreams",
                "logs:FilterLogEvents",
                "logs:GetLogEvents"
            ],
            "Resource": "arn:aws:service:region:account:resourcetype/id"
        }
```

Si utiliza la consola de AWS DMS, la AWS Command Line Interface (AWS CLI) o la API de AWS DMS para la migración, tendrá que añadir varias funciones a su cuenta. Para obtener más información sobre la creación de estos roles, consulte [Crear los roles de IAM para usarlos con AWS DMS](security-iam.md#CHAP_Security.APIRole).

Para obtener más información sobre los requisitos para usar esta política para acceder al AWS DMS, consulte. [Se necesitan permisos de IAM para utilizarlos AWS DMS](security-iam.md#CHAP_Security.IAMPermissions)

## 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 AWS CLI API o. 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": "*"
        }
    ]
}
```

## Acceso a un bucket de Amazon S3
<a name="security_iam_id-based-policy-examples-access-one-bucket"></a>

AWS DMS usa buckets de Amazon S3 como almacenamiento intermedio para la migración de bases de datos. Por lo general, AWS DMS administra los buckets S3 predeterminados para este propósito. Sin embargo, en algunos casos, especialmente cuando utiliza la API del DMS AWS CLI o la API, el AWS AWS DMS le permite especificar su propio depósito de S3 en su lugar. Por ejemplo, puede especificar su propio bucket de S3 para migrar datos a un punto de conexión de destino de Amazon Redshift. En este caso, debe crear un rol con permisos basados en la política AWS administrada`AmazonDMSRedshiftS3Role`.

En el ejemplo siguiente se muestra una versión de la política `AmazonDMSRedshiftS3Role`. Permite a AWS DMS conceder a un usuario de IAM de su AWS cuenta acceso a uno de sus buckets de Amazon S3. También permite al usuario agregar, actualizar y eliminar objetos.

Además de conceder los permisos `s3:PutObject`, `s3:GetObject` y `s3:DeleteObject` al usuario, la política también concede los permisos `s3:ListAllMyBuckets`, `s3:GetBucketLocation` y `s3:ListBucket`. Estos son los permisos adicionales que requiere la consola. Otros permisos permiten a AWS DMS gestionar el ciclo de vida del bucket. Además, se requiere la acción `s3:GetObjectAcl` para poder copiar objetos.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:ListBucket",
                "s3:DeleteBucket",
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:GetObjectVersion",
                "s3:GetBucketPolicy",
                "s3:PutBucketPolicy",
                "s3:GetBucketAcl",
                "s3:PutBucketVersioning",
                "s3:GetBucketVersioning",
                "s3:PutLifecycleConfiguration",
                "s3:GetLifecycleConfiguration",
                "s3:DeleteBucketPolicy"
            ],
            "Resource": "arn:aws:s3:::dms-*"
        }
    ]
}
```

------

Para obtener más información sobre cómo crear un rol basado en esta política, consulte [Configuración del bucket de Amazon S3](CHAP_Target.Redshift.md#CHAP_Target.Redshift.EndpointSettings.S3Buckets).

## Acceder a AWS DMS los recursos en función de las etiquetas
<a name="security_iam_id-based-policy-examples-access-resources-tags"></a>

Puede utilizar las condiciones de su política basada en identidad para controlar el acceso a los recursos de AWS DMS basados en etiquetas. En este ejemplo, se muestra cómo se puede crear una política que permita el acceso a todos los puntos finales del AWS DMS. Sin embargo, los permisos solo se conceden si la etiqueta de base de datos de puntos de enlace `Owner` tiene el valor del nombre de usuario de dicho usuario.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "dms:*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "dms:endpoint-tag/Owner": "${aws:username}"
        }
      }
    }
  ]
}
```

------

También puede asociar esta política al usuario de IAM en su cuenta. Si un usuario llamado `richard-roe` intenta acceder a un AWS DMS punto final, la base de datos del punto final debe estar etiquetada `Owner=richard-roe` o. `owner=richard-roe` De lo contrario, se deniega el acceso a este usuario. La clave de la etiqueta de condición `Owner` coincide con los nombres de las claves de condición `Owner` y `owner` porque no distinguen entre mayúsculas y minúsculas. 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*.

# Ejemplos de políticas basadas en recursos para AWS KMS
<a name="security_iam_resource-based-policy-examples"></a>

AWS El DMS le permite crear claves de AWS KMS cifrado personalizadas para cifrar los datos de los puntos finales de destino compatibles. Para obtener información sobre cómo crear y asociar una política de clave a la clave de cifrado que cree para el cifrado de datos de destino compatible, consulte [Creación y uso de AWS KMS claves para cifrar los datos de destino de Amazon Redshift](CHAP_Target.Redshift.md#CHAP_Target.Redshift.KMSKeys) y [Creación de AWS KMS claves para cifrar los objetos de destino de Amazon S3](CHAP_Target.S3.md#CHAP_Target.S3.KMSKeys).

**Topics**
+ [Una política de clave de AWS KMS cifrado personalizada para cifrar los datos de destino de Amazon Redshift](#security_iam_resource-based-policy-examples-custom-rs-key-policy)
+ [Una política de clave de AWS KMS cifrado personalizada para cifrar los datos de destino de Amazon S3](#security_iam_resource-based-policy-examples-custom-s3-key-policy)

## Una política de clave de AWS KMS cifrado personalizada para cifrar los datos de destino de Amazon Redshift
<a name="security_iam_resource-based-policy-examples-custom-rs-key-policy"></a>

En el ejemplo siguiente se muestra el JSON para la política de claves creada para una clave de cifrado de AWS KMS que se crea para cifrar los datos de destino de Amazon Redshift.

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

****  

```
{
  "Id": "key-consolepolicy-3",
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "Enable IAM User Permissions",
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::987654321098:root"
        ]
      },
      "Action": "kms:*",
      "Resource": "*"
    },
    {
      "Sid": "Allow access for Key Administrators",
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::987654321098:role/Admin"
        ]
      },
      "Action": [
        "kms:Create*",
        "kms:Describe*",
        "kms:Enable*",
        "kms:List*",
        "kms:Put*",
        "kms:Update*",
        "kms:Revoke*",
        "kms:Disable*",
        "kms:Get*",
        "kms:Delete*",
        "kms:TagResource",
        "kms:UntagResource",
        "kms:ScheduleKeyDeletion",
        "kms:CancelKeyDeletion"
      ],
      "Resource": "*"
    },
    {
      "Sid": "Allow use of the key",
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::987654321098:role/DMS-Redshift-endpoint-access-role"
        ]
      },
      "Action": [
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:DescribeKey"
      ],
      "Resource": "*"
    },
    {
      "Sid": "Allow attachment of persistent resources",
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::987654321098:role/DMS-Redshift-endpoint-access-role"
        ]
      },
      "Action": [
        "kms:CreateGrant",
        "kms:ListGrants",
        "kms:RevokeGrant"
      ],
      "Resource": "*",
      "Condition": {
        "Bool": {
          "kms:GrantIsForAWSResource": true
        }
      }
    }
  ]
}
```

------

Aquí puede ver dónde hace referencia la política de claves al rol para acceder a los datos de punto de conexión de destino de Amazon Redshift que creó antes de crear la clave. En el ejemplo, es `DMS-Redshift-endpoint-access-role`. También puede ver las diferentes acciones de clave permitidas para los diferentes principales (usuarios y roles). Por ejemplo, cualquier usuario con `DMS-Redshift-endpoint-access-role` puede cifrar, descifrar y volver a cifrar los datos de destino. Este usuario también puede generar claves de datos para exportarlas a fin de cifrar los datos del exterior. AWS KMS También pueden devolver información detallada sobre una AWS KMS clave, como la clave que acaba de crear. Además, dicho usuario puede administrar los datos adjuntos a los recursos de AWS , como el punto de conexión de destino.

## Una política de clave de AWS KMS cifrado personalizada para cifrar los datos de destino de Amazon S3
<a name="security_iam_resource-based-policy-examples-custom-s3-key-policy"></a>

En el ejemplo siguiente se muestra el JSON para la política de claves creada para una clave de cifrado de AWS KMS que se crea para cifrar los datos de destino de Amazon S3.

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

****  

```
{
    "Id": "key-consolepolicy-3",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Enable IAM User Permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::987654321098:root"
                ]
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Sid": "Allow access for Key Administrators",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::987654321098:role/Admin"
                ]
            },
            "Action": [
                "kms:Create*",
                "kms:Describe*",
                "kms:Enable*",
                "kms:List*",
                "kms:Put*",
                "kms:Update*",
                "kms:Revoke*",
                "kms:Disable*",
                "kms:Get*",
                "kms:Delete*",
                "kms:TagResource",
                "kms:UntagResource",
                "kms:ScheduleKeyDeletion",
                "kms:CancelKeyDeletion"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::987654321098:role/DMS-S3-endpoint-access-role"
                ]
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Allow attachment of persistent resources",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::987654321098:role/DMS-S3-endpoint-access-role"
                ]
            },
            "Action": [
                "kms:CreateGrant",
                "kms:ListGrants",
                "kms:RevokeGrant"
            ],
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": true
                }
            }
        }
    ]
}
```

------

Aquí puede ver dónde hace referencia la política de claves al rol para acceder a los datos de punto de conexión de destino de Amazon S3 que creó antes de crear la clave. En el ejemplo, es `DMS-S3-endpoint-access-role`. También puede ver las diferentes acciones de clave permitidas para los diferentes principales (usuarios y roles). Por ejemplo, cualquier usuario con `DMS-S3-endpoint-access-role` puede cifrar, descifrar y volver a cifrar los datos de destino. Este usuario también puede generar claves de datos para exportarlas a fin de cifrar los datos del exterior. AWS KMS También pueden devolver información detallada sobre una AWS KMS clave, como la clave que acaba de crear. Además, dicho usuario puede administrar los datos adjuntos a los recursos de AWS , como el punto de conexión de destino.

# Uso de secretos para acceder a los puntos AWS Database Migration Service finales
<a name="security_iam_secretsmanager"></a>

Pues AWS DMS, un *secreto* es una clave cifrada que se puede utilizar para representar un conjunto de credenciales de usuario para autenticar, mediante una *autenticación secreta*, la conexión a la base de datos de un punto final de AWS DMS origen o destino compatible. En el caso de un terminal de Oracle que también utilice Oracle Automatic Storage Management (ASM), se AWS DMS requiere un secreto adicional que represente las credenciales del usuario para acceder a Oracle ASM.

Puede crear el secreto o los secretos necesarios para la autenticación secreta mediante un servicio para crear AWS Secrets Manager, almacenar y recuperar de forma segura las credenciales de acceso a las aplicaciones, los servicios y los recursos de TI en la nube y en las instalaciones. AWS DMS Esto incluye la posibilidad de rotar automáticamente y de forma periódica el valor secreto cifrado sin su intervención, lo que proporciona un nivel adicional de seguridad para las credenciales. La activación de la rotación del valor secreto AWS Secrets Manager también garantiza que esta rotación del valor secreto se produzca sin ningún efecto en ninguna migración de bases de datos que se base en el secreto. Para autenticar de forma secreta una conexión a una base de datos de punto de conexión, cree un secreto cuya identidad o ARN asigne a `SecretsManagerSecretId`, que incluya en la configuración del punto de conexión. Para autenticar de forma secreta Oracle ASM como parte de un punto de conexión de Oracle, cree un secreto cuya identidad o ARN asigne a `SecretsManagerOracleAsmSecretId`, que incluya también en la configuración del punto de conexión.

**nota**  
No puede utilizar las credenciales maestras administradas por Amazon RDS Aurora. Estas credenciales no incluyen información sobre el host o el puerto, que es AWS DMS necesaria para establecer conexiones. En lugar de ello, cree un nuevo usuario y secreto. Para obtener información acerca de cómo crear un usuario y un secreto, consulte [Uso de Consola de administración de AWS para crear un rol secreto y de acceso secreto](#security_iam_secretsmanager.console) a continuación.

Para obtener más información AWS Secrets Manager, consulte [¿Qué es AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) en la *Guía AWS Secrets Manager del usuario*.

AWS DMS admite la autenticación secreta para las siguientes bases de datos locales o AWS administradas en los puntos finales de origen y destino compatibles:
+ Amazon DocumentDB
+ IBM Db2 LUW
+ Microsoft SQL Server
+ MongoDB
+ MySQL
+ Oracle
+ PostgreSQL
+ Amazon Redshift
+ SAP ASE

Para conectarse a cualquiera de estas bases de datos, tiene la opción de ingresar uno de los siguientes conjuntos de valores, pero no ambos, como parte de la configuración del punto de conexión:
+ Valores de texto sin cifrar para autenticar la conexión a la base de datos mediante la configuración de `UserName`, `Password`, `ServerName` y `Port`. Para un punto de conexión de Oracle que también utiliza Oracle ASM, incluya valores de texto sin cifrar adicionales para autenticar ASM mediante la configuración de `AsmUserName`, `AsmPassword` y `AsmServerName`.
+ Autenticación secreta mediante valores para la configuración de `SecretsManagerSecretId` y `SecretsManagerAccessRoleArn`. En el caso de un punto de conexión de Oracle con Oracle ASM, incluya valores adicionales para la configuración de `SecretsManagerOracleAsmSecretId` y `SecretsManagerOracleAsmAccessRoleArn`. Los valores secretos de estos ajustes pueden incluir los siguientes para: 
  + `SecretsManagerSecretId`: el nombre de recurso de Amazon (ARN) completo, el ARN parcial o el nombre descriptivo de un secreto que haya creado para el acceso a la base de datos del punto de conexión en AWS Secrets Manager.
  + `SecretsManagerAccessRoleArn`— El ARN de un rol de acceso secreto que ha creado en IAM para proporcionar AWS DMS acceso a este `SecretsManagerSecretId` secreto en su nombre.
  + `SecretsManagerOracleAsmSecretId`: el nombre de recurso de Amazon (ARN) completo, el ARN parcial o el nombre descriptivo de un secreto que haya creado para el acceso de Oracle ASM en AWS Secrets Manager.
  + `SecretsManagerOracleAsmAccessRoleArn`: el ARN de un rol de acceso secreto que ha creado en IAM para proporcionar acceso de AWS DMS a este secreto `SecretsManagerOracleAsmSecretId` en su nombre.
**nota**  
También puede utilizar un único rol de acceso secreto para proporcionar AWS DMS acceso tanto al secreto como al `SecretsManagerSecretId` secreto. `SecretsManagerOracleAsmSecretId` Si crea este único rol de acceso secreto para ambos secretos, asegúrese de asignar el mismo ARN para este rol de acceso a `SecretsManagerAccessRoleArn` y `SecretsManagerOracleAsmAccessRoleArn`. Por ejemplo, si el rol de acceso secreto para ambos secretos tiene su ARN asignado a la variable, `ARN2xsecrets`, puede establecer estas configuraciones de ARN de la siguiente manera:  

  ```
  SecretsManagerAccessRoleArn = ARN2xsecrets;
  SecretsManagerOracleAsmAccessRoleArn = ARN2xsecrets;
  ```

  Para obtener más información sobre la creación de estos valores, consulte [Uso de Consola de administración de AWS para crear un rol secreto y de acceso secreto](#security_iam_secretsmanager.console).

Después de haber creado y especificado la configuración de punto de conexión secreta y de rol de acceso secreto necesaria para los puntos de conexión, actualice los permisos de las cuentas de usuario que ejecutarán la solicitud de la API `CreateEndpoint` o `ModifyEndpoint` con estos detalles de secretos. Asegúrese de que los permisos de estas cuentas incluyan el `IAM:GetRole` permiso de la función de acceso secreto y el `SecretsManager:DescribeSecret` permiso de la función secreta. AWS DMS requiere estos permisos para validar tanto el rol de acceso como su secreto.

**Suministro y comprobación de los permisos de usuario necesarios**

1. Inicie sesión en Consola de administración de AWS y abra la AWS Identity and Access Management consola en[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Elija **Usuarios** y, a continuación, seleccione el **ID de usuario** utilizado para realizar llamadas a la API `CreateEndpoint` y `ModifyEndpoint`.

1. En la pestaña **Permisos**, elija **\$1\$1 JSON**.

1. Asegúrese de que el usuario tenga los permisos mostrados a continuación.

   ```
   {
   	"Statement": [{
   			"Effect": "Allow",
   			"Action": [
   				"iam:GetRole",
   				"iam:PassRole"
   			],
   			"Resource": "SECRET_ACCESS_ROLE_ARN"
   		},
   		{
   			"Effect": "Allow",
   			"Action": "secretsmanager:DescribeSecret",
   			"Resource": "SECRET_ARN"
   		}
   	]
   }
   ```

1. Si el usuario no tiene esos permisos, agréguelos.

1. Si utiliza un rol de IAM para realizar llamadas a la API de DMS, repita los pasos anteriores para el rol correspondiente.

1. Abra un terminal y utilícelo AWS CLI para validar que los permisos se concedan correctamente asumiendo el rol o el usuario utilizados anteriormente.

   1. Valide el permiso del usuario al SecretAccessRole utilizar el `get-role` comando IAM.

      ```
      aws iam get-role --role-name ROLE_NAME
      ```

      *ROLE\$1NAME*Sustitúyalo por el nombre de. `SecretsManagerAccessRole`

      Si el comando devuelve un mensaje de error, asegúrese de que los permisos se hayan otorgado correctamente.

   1. Valide el permiso del usuario en el secreto mediante el comando `describe-secret` de Secrets Manager.

      ```
      aws secretsmanager describe-secret --secret-id SECRET_NAME OR SECRET_ARN --region=REGION_NAME
      ```

      El usuario puede ser el nombre descriptivo, el ARN parcial o el ARN completo. Para obtener más información, consulte [describe-secret](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/describe-secret.html).

      Si el comando devuelve un mensaje de error, asegúrese de que los permisos se hayan otorgado correctamente.

## Uso de Consola de administración de AWS para crear un rol secreto y de acceso secreto
<a name="security_iam_secretsmanager.console"></a>

Puede usarlo Consola de administración de AWS para crear un secreto para la autenticación del punto final y para crear la política y el rol que le permitan acceder AWS DMS al secreto en su nombre.

**Para crear un secreto con el Consola de administración de AWS que AWS DMS se pueda autenticar una base de datos para las conexiones de los puntos finales de origen y destino**

1. Inicie sesión en Consola de administración de AWS y abra la AWS Secrets Manager consola en[https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Elija **Almacenar un secreto nuevo**.

1. En **Seleccionar tipo de secreto** en la página **Almacenar un nuevo secreto**, elija **Otro tipo de secretos** y, a continuación, elija **Texto no cifrado**.
**nota**  
Este es el único lugar en el que debe ingresar credenciales de texto sin cifrar para conectarse a la base de datos de punto de conexión a partir de ahora.

1. En el campo **Texto no cifrado**: 
   + Para un secreto cuya identidad asigne a `SecretsManagerSecretId`, ingrese la siguiente estructura JSON.

     ```
     {
       "username": db_username,
       "password": db_user_password,
       "port": db_port_number,
       "host": db_server_name
     }
     ```
**nota**  
Esta es la lista mínima de miembros de JSON necesaria para autenticar la base de datos de puntos de conexión. Puede agregar cualquier configuración de punto de conexión de JSON adicional como miembros de JSON en minúsculas que desee. Sin embargo, AWS DMS ignora los miembros de JSON adicionales para la autenticación de puntos de conexión.

     Aquí, `db_username` es el nombre del usuario que accede a la base de datos, `db_user_password` es la contraseña del usuario de la base de datos, `db_port_number` es el número de puerto para acceder a la base de datos y `db_server_name` es el nombre (dirección) del servidor de la base de datos en la web, como en el siguiente ejemplo.

     ```
     {
       "username": "admin",
       "password": "some_password",
       "port": "8190",
       "host": "oracle101.abcdefghij.us-east-1.rds.amazonaws.com"
     }
     ```
   + Para un secreto cuya identidad asigne a `SecretsManagerOracleAsmSecretId`, ingrese la siguiente estructura JSON.

     ```
     {
       "asm_user": asm_username,
       "asm_password": asm_user_password,
       "asm_server": asm_server_name
     }
     ```
**nota**  
Esta es la lista mínima de miembros de JSON necesaria para autenticar Oracle ASM para un punto de conexión de Oracle. También es la lista completa que puede especificar en función de la configuración de punto de conexión de Oracle ASM disponible.

     Aquí, `asm_username` es el nombre del usuario que accede a Oracle ASM, `asm_user_password` es la contraseña del usuario de Oracle ASM y `asm_server_name` es el nombre (dirección) del servidor de Oracle ASM en la web, incluido el puerto, como en el siguiente ejemplo.

     ```
     { 
       "asm_user": "oracle_asm_user", 
       "asm_password": "oracle_asm_password",
       "asm_server": "oracle101.abcdefghij.us-east-1.rds.amazonaws.com:8190/+ASM" 
     }
     ```

1. Seleccione una clave de AWS KMS cifrado para cifrar el secreto. Puede aceptar la clave de cifrado predeterminada creada para su servicio AWS Secrets Manager o seleccionar una AWS KMS clave que cree.

1. Especifique un nombre para hacer referencia a este secreto y una descripción opcional. Este es el nombre descriptivo que se utiliza como valor para `SecretsManagerSecretId` o `SecretsManagerOracleAsmSecretId`.

1. Si desea activar la rotación automática del secreto, debe seleccionar o crear una AWS Lambda función con permiso para rotar las credenciales del secreto tal y como se describe. Sin embargo, antes de configurar la rotación automática para utilizar la función de Lambda, asegúrese de que los ajustes de configuración de la función agreguen los cuatro caracteres siguientes al valor de la variable de entorno `EXCLUDE_CHARACTERS`.

   ```
   ;.:+{}*&,%\
   ```

   AWS DMS no permite estos caracteres en las contraseñas utilizadas como credenciales de punto final. Si configura la función de Lambda para excluirlos, evita que AWS Secrets Manager genere estos caracteres como parte de los valores de contraseña rotados. Después de configurar la rotación automática para usar la función Lambda, rota AWS Secrets Manager inmediatamente el secreto para validar la configuración secreta.
**nota**  
En función de la configuración del motor de base de datos, es posible que la base de datos no recupere las credenciales rotadas. En este caso, debe reiniciar manualmente la tarea para actualizar las credenciales.

1. Revisa y guarda tu secreto en él. AWS Secrets Manager A continuación, puede buscar cada secreto por su nombre descriptivo y, a continuación AWS Secrets Manager, recuperar el ARN secreto como el valor `SecretsManagerSecretId` o `SecretsManagerOracleAsmSecretId` según corresponda para autenticar el acceso a la conexión de la base de datos de puntos finales y a Oracle ASM (si se utiliza).

**Para crear la política de acceso secreto y el rol para establecer su `SecretsManagerAccessRoleArn` o`SecretsManagerOracleAsmAccessRoleArn`, que le permita acceder AWS DMS AWS Secrets Manager al secreto correspondiente**

1. Inicie sesión en la consola AWS Identity and Access Management (IAM) Consola de administración de AWS y ábrala en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Elija **Políticas**, después elija **Crear política**.

1. Elija **JSON** e ingrese la siguiente política para permitir el acceso al secreto y el descifrado del secreto.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": "secretsmanager:GetSecretValue",
         "Resource": "*"
       },
       {
         "Effect": "Allow",
         "Action": [
           "kms:Decrypt",
           "kms:DescribeKey"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

------

   Aquí, `secret_arn` es el ARN del secreto, que puede obtener de `SecretsManagerSecretId` o `SecretsManagerOracleAsmSecretId` según corresponda y `kms_key_arn` es el ARN de la clave de AWS KMS que utiliza para cifrar el secreto, como en el siguiente ejemplo.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "secretsmanager:GetSecretValue",
               "Resource": "arn:aws:secretsmanager:us-east-2:123456789012:secret:MySQLTestSecret-qeHamH"
           },
           {
                "Effect": "Allow",
                "Action": [
                           "kms:Decrypt",
                           "kms:DescribeKey"
                         ],
                "Resource": "arn:aws:kms:us-east-2:123456789012:key/761138dc-0542-4e58-947f-4a3a8458d0fd"
           }
        ]
   }
   ```

------
**nota**  
Si utiliza la clave de cifrado predeterminada creada por AWS Secrets Manager, no es necesario que especifique los AWS KMS permisos correspondientes`kms_key_arn`.  
Si desea que su política proporcione acceso a ambos secretos, simplemente especifique un objeto de recurso JSON adicional para el otro*secret\$1arn*.  
Si el secreto está en una cuenta diferente, el rol `SecretsManagerAccessRoleArn` necesita una política adicional para verificar el secreto entre cuentas. Para estos casos de uso, agregue la acción `secretsmanager:DescribeSecret` a la política. Para obtener más información sobre cómo configurar un secreto multicuenta, consulta [Permisos para acceder a los AWS secretos de Secrets Manager para los usuarios de una cuenta diferente](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples_cross.html).

1. Revise y cree la política con un nombre descriptivo y una descripción opcional.

1. Elija **Roles**, después elija **Crear rol**.

1. Elija **Servicio de AWS ** como tipo de entidad de confianza.

1. Elija **DMS** de la lista de servicios como servicio de confianza y, a continuación, elija **Siguiente: Permisos**.

1. Busque y asocie la política que creó en el paso 4 y, a continuación, agregue las etiquetas que desee y revise el rol. En este punto, edite las relaciones de confianza del rol para usar a su director de servicio AWS DMS regional como entidad de confianza. Esta entidad principal tiene el formato siguiente.

   ```
   dms.region-name.amazonaws.com
   ```

   Aquí, *`region-name`* es el nombre de la región, por ejemplo `us-east-1`. Por lo tanto, a continuación se indica un director de servicio AWS DMS regional para esta región.

   ```
   dms.us-east-1.amazonaws.com
   ```

1. Tras editar la entidad de confianza para el rol, cree el rol con un nombre descriptivo y una descripción opcional. Ahora puede buscar el nuevo rol por su nombre descriptivo en IAM y, a continuación, recuperar el ARN del rol como valor `SecretsManagerAccessRoleArn` o `SecretsManagerOracleAsmAccessRoleArn` para autenticar la conexión de base de datos de puntos de conexión.

**Uso de Secrets Manager con una instancia de replicación en una subred privada**

1. Cree un punto de conexión de VPC de administrador de secretos y anote el DNS del punto de conexión. Para obtener más información sobre la creación de un punto de conexión de VPC de Secrets Manager, consulte [Conexión a Secrets Manager a través de un punto de conexión de VPC](https://docs.aws.amazon.com/secretsmanager/latest/userguide/vpc-endpoint-overview.html#vpc-endpoint) []()en la *Guía del usuario de AWS Secrets Manager*.

1. Para las reglas de entrada de los grupos de seguridad de puntos de conexión de VPC, permita el tráfico HTTPS desde la dirección IP privada de la instancia de replicación o los grupos de seguridad asociados a las instancias de replicación.

1. Para las reglas de salida del grupo de seguridad de la instancia de replicación, permita que todo el tráfico llegue al destino `0.0.0.0/0`.

1. Establezca el atributo de conexión adicional de punto de conexión, `secretsManagerEndpointOverride=secretsManager endpoint DNS` para proporcionar el DNS de punto de conexión de VPC del mánager secreto, como se muestra en el siguiente ejemplo.

   ```
   secretsManagerEndpointOverride=vpce-1234a5678b9012c-12345678.secretsmanager.eu-west-1.vpce.amazonaws.com
   ```

# Uso de roles vinculados a servicios para AWS DMS
<a name="using-service-linked-roles"></a>

AWS Database Migration Service [usa roles vinculados al AWS Identity and Access Management servicio (IAM).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) Un rol vinculado a un servicio es un tipo único de rol de IAM al que se vincula directamente. AWS DMS Los roles vinculados al servicio están predefinidos AWS DMS e incluyen todos los permisos que el servicio requiere para llamar a otros AWS servicios en su nombre. 

Un rol vinculado a un servicio facilita la configuración AWS DMS , ya que no es necesario añadir manualmente los permisos necesarios. AWS DMS define los permisos de sus funciones vinculadas al servicio y, a menos que se defina lo contrario, solo AWS DMS puede asumir sus funciones. Los permisos definidos incluyen las políticas de confianza y de permisos, y que la política de permisos no se puede asociar a ninguna otra entidad de IAM.

Solo es posible eliminar un rol vinculado a un servicio después de eliminar sus recursos relacionados. Esto protege sus AWS DMS recursos porque no puede eliminar inadvertidamente el permiso de acceso a los recursos.

**Para obtener información sobre otros servicios que admiten funciones vinculadas a servicios, consulte [AWS Servicios que funcionan con IAM y busque los servicios con](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) la palabra **Sí** en la columna Funciones vinculadas a servicios.** Elija una opción **Sí** con un enlace para ver la documentación acerca del rol vinculado al servicio en cuestión.

**Funciones vinculadas al servicio para ver las características AWS DMS **

**Topics**
+ [Funciones vinculadas al servicio para Fleet Advisor AWS DMS](slr-services-fa.md)
+ [Función vinculada al servicio para AWS DMS](slr-services-sl.md)

# Funciones vinculadas al servicio para Fleet Advisor AWS DMS
<a name="slr-services-fa"></a>

AWS DMS Fleet Advisor usa el rol vinculado al servicio denominado **AWSServiceRoleForDMSFleetAsesor: DMS Fleet Advisor** usa este rol vinculado al servicio para administrar las métricas de Amazon. CloudWatch Este rol vinculado a un servicio se adjunta a la siguiente política administrada: `AWSDMSFleetAdvisorServiceRolePolicy`. Para obtener actualizaciones de esta política, consulte [AWS políticas gestionadas para AWS Database Migration Service](security-iam-awsmanpol.md).

El rol de AWSService RoleFor DMSFleet asesor vinculado al servicio confía en los siguientes servicios para asumir el rol:
+ `dms-fleet-advisor.amazonaws.com`

La política de permisos de roles denominada AWSDMSFleet AdvisorServiceRolePolicy permite a AWS DMS Fleet Advisor realizar las siguientes acciones en los recursos especificados:
+ Acción: `cloudwatch:PutMetricData` en `all AWS resources`

  Este permiso permite a los directores publicar puntos de datos métricos en Amazon CloudWatch. AWS DMS Fleet Advisor requiere este permiso para mostrar gráficos con las métricas de la base de datos de CloudWatch.

El siguiente ejemplo de código muestra la AWSDMSFleet AdvisorServiceRolePolicy política que se utiliza para crear el AWSDMSFleet AdvisorServiceRolePolicy rol.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Resource": "*",
        "Action": "cloudwatch:PutMetricData",
        "Condition": {
            "StringEquals": {
                "cloudwatch:namespace": "AWS/DMS/FleetAdvisor"
            }
        }
    }
}
```

------

Debe configurar permisos para permitir a una entidad de IAM como un usuario, grupo o rol, para crear, editar o eliminar un rol vinculado a servicios. Para obtener más información, consulte [Permisos de roles vinculados a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) en la *Guía del usuario de IAM*.

## Crear un rol vinculado a un servicio para Fleet Advisor AWS DMS
<a name="create-slr-fa"></a>

Puede utilizar la consola de IAM para crear un rol vinculado a servicios con el caso de uso de **DMS: Fleet Advisor**. En la API AWS CLI o en la AWS API, cree una función vinculada al servicio con el nombre del servicio. `dms-fleet-advisor.amazonaws.com` Para obtener más información, consulte [Crear un rol vinculado a un servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role) en la *Guía del usuario de IAM*. Si elimina este rol vinculado al servicio, puede utilizar este mismo proceso para volver a crear el rol.

Asegúrese de crear este rol antes de crear un recopilador de datos. DMS Fleet Advisor utiliza este rol para mostrar gráficos con métricas de bases de datos en la Consola de administración de AWS. Para obtener más información, consulte [Creación de un recopilador de datos](fa-data-collectors-create.md).

## Edición de un rol vinculado a un servicio para Fleet Advisor AWS DMS
<a name="edit-slr-fa"></a>

AWS DMS no permite editar el rol de AWSService RoleFor DMSFleet asesor vinculado al servicio. Después de crear un rol vinculado a un servicio, no puede cambiarle el nombre, ya que varias entidades pueden hacer referencia a él. Sin embargo, puede editar la descripción del rol mediante IAM. Para obtener más información, consulte [Editar un rol vinculado a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) en la *Guía del usuario de IAM*.

## Eliminar un rol vinculado a un servicio para Fleet Advisor AWS DMS
<a name="delete-slr-fa"></a>

Si ya no necesita usar una característica o servicio que requieran un rol vinculado a un servicio, le recomendamos que elimine dicho rol. Por lo tanto, no tiene una entidad no utilizada que no se monitoree ni se mantenga de forma activa. Sin embargo, debe limpiar los recursos de su rol vinculado al servicio antes de eliminarlo manualmente.

**nota**  
Si el AWS DMS servicio utiliza el rol al intentar eliminar los recursos, es posible que la eliminación no se realice correctamente. En tal caso, espere unos minutos e intente de nuevo la operación.

**Para eliminar AWS DMS los recursos utilizados por el AWSService RoleFor DMSFleet asesor**

1. Inicie sesión en la AWS DMS consola Consola de administración de AWS y ábrala en la versión [https://console.aws.amazon.com/dms/2/](https://console.aws.amazon.com/dms/v2/).

1. En el panel de navegación, elija **Recopiladores de datos** en **Detectar**. Se abre la página de **recopiladores de datos**.

1. Elija el recopilador de datos y elija **Eliminar**.

1. Para confirmar la eliminación, escriba el nombre del recopilador de datos en el campo de entrada de texto. A continuación, elija **Eliminar**.

**importante**  
Al eliminar un recopilador de datos de DMS, DMS Fleet Advisor elimina del inventario todas las bases de datos que haya detectado con este recopilador.

Tras eliminar todos los recopiladores de datos, puede eliminar el rol vinculado al servicio.

**Para eliminar manualmente el rol vinculado a servicios mediante IAM**

Utilice la consola de IAM AWS CLI, la o la AWS API para eliminar la función de AWSService RoleFor DMSFleet asesor vinculada al servicio. Para obtener más información, consulte [Eliminación de un rol vinculado a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) en la *Guía del usuario de IAM*.

## Regiones compatibles para las funciones vinculadas al servicio de AWS DMS Fleet Advisor
<a name="slr-regions-fa"></a>

AWS DMS Fleet Advisor admite el uso de funciones vinculadas al servicio en todas las regiones en las que el servicio está disponible. Para obtener más información, consulte [Compatible Regiones de AWS](CHAP_FleetAdvisor.md#CHAP_FleetAdvisor.SupportedRegions).

# Función vinculada al servicio para AWS DMS
<a name="slr-services-sl"></a>

AWS DMS utiliza el rol vinculado al servicio denominado. **AWSServiceRoleForDMSServerless** AWS DMS utiliza este rol vinculado al servicio para crear y administrar AWS DMS recursos en su nombre. AWS DMS utiliza este rol para la administración automática de instancias, de modo que solo tenga que administrar las replicaciones.

El rol vinculado al servicio [AWSServiceRoleForDMSServerless](security-iam-awsmanpol.md#security-iam-awsmanpol-AWSDMSServerlessServiceRolePolicy) depende de los siguientes servicios para asumir el rol:
+ `dms.amazonaws.com`

Debe configurar permisos para permitir a una entidad de IAM como un usuario, grupo o rol, para crear, editar o eliminar un rol vinculado a servicios. Para obtener más información, consulte [Permisos de roles vinculados a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) en la *Guía del usuario de IAM*.

## Crear un rol vinculado a un servicio para AWS DMS
<a name="create-slr-sl"></a>

Al iniciar una tarea de replicación o iniciar una evaluación previa a la migración, crea AWS DMS mediante programación un rol vinculado al servicio. AWS DMS Puede consultar este rol en la consola de IAM. También tiene la opción de crear este rol manualmente. Para crear el rol de forma manual, utilice la consola de IAM para crear un rol vinculado al servicio con el caso de uso de **DMS**. En la AWS CLI o en la AWS API, cree una función vinculada al servicio utilizando `dms.amazonaws.com` el nombre del servicio. Para obtener más información, consulte [Crear un rol vinculado a un servicio](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role) en la *Guía del usuario de IAM*. Si elimina este rol vinculado al servicio, puede utilizar este mismo proceso para volver a crear el rol.

**nota**  
Si elimina un rol mientras tiene replicaciones en la cuenta, la replicación provocará un error.

## Edición de un rol vinculado a un servicio para AWS DMS
<a name="edit-slr-sl"></a>

AWS DMS no permite editar el rol vinculado al AWSService RoleFor DMSServerless servicio. Después de crear un rol vinculado a un servicio, no puede cambiarle el nombre, ya que varias entidades pueden hacer referencia a él. Sin embargo, puede editar la descripción del rol mediante IAM. Para obtener más información, consulte [Editar un rol vinculado a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) en la *Guía del usuario de IAM*.

## Eliminar un rol vinculado a un servicio para AWS DMS
<a name="delete-slr-sl"></a>

Si ya no necesita usar una característica o servicio que requieran un rol vinculado a un servicio, le recomendamos que elimine dicho rol. Por lo tanto, no tiene una entidad no utilizada que no se monitoree ni se mantenga de forma activa. Sin embargo, debe limpiar los recursos de su rol vinculado al servicio antes de eliminarlo manualmente.

**nota**  
Si el AWS DMS servicio utiliza el rol al intentar eliminar los recursos, es posible que la eliminación no se realice correctamente. En tal caso, espere unos minutos e intente de nuevo la operación.

**Para eliminar AWS DMS los recursos utilizados por el AWSService RoleFor DMSServerless**

1. Inicie sesión en la AWS DMS consola Consola de administración de AWS y ábrala en la [https://console.aws.amazon.com/dms/versión 2](https://console.aws.amazon.com/dms/v2/).

1. En el panel de navegación, elija **Replicaciones sin servidor** en ****Migrar datos****. Se abre la página **Sin servidor**.

1. Elija la replicación sin servidor y elija **Eliminar**.

1. Para confirmar la eliminación, escriba el nombre de la replicación sin servidor en el campo de entrada de texto. A continuación, elija **Eliminar**.

Tras eliminar todas las replicaciones sin servidor, puede eliminar el rol vinculado al servicio.

**Para eliminar manualmente el rol vinculado a servicios mediante IAM**

Utilice la consola de IAM AWS CLI, la o la AWS API para eliminar el rol vinculado al AWSService RoleFor DMSServerless servicio. Para obtener más información, consulte [Eliminación de un rol vinculado a servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) en la *Guía del usuario de IAM*.

## Regiones compatibles para los roles vinculados al servicio AWS DMS
<a name="slr-regions-sl"></a>

AWS DMS admite el uso de funciones vinculadas al servicio en todas las regiones en las que el servicio está disponible. 

# Solución de problemas AWS Database Migration Service de identidad y acceso
<a name="security_iam_troubleshoot"></a>

Utilice la siguiente información como ayuda para diagnosticar y solucionar los problemas habituales que pueden surgir al trabajar con un AWS DMS IAM.

**Topics**
+ [No estoy autorizado a realizar ninguna acción en AWS DMS](#security_iam_troubleshoot-no-permissions)
+ [No estoy autorizado a realizar el iam: PassRole](#security_iam_troubleshoot-passrole)
+ [Soy administrador y quiero permitir el acceso de otras personas AWS DMS](#security_iam_troubleshoot-admin-delegate)
+ [Quiero permitir que personas ajenas a mi AWS cuenta accedan a mis AWS DMS recursos](#security_iam_troubleshoot-cross-account-access)

## No estoy autorizado a realizar ninguna acción en AWS DMS
<a name="security_iam_troubleshoot-no-permissions"></a>

Si Consola de administración de AWS le indica que no está autorizado a realizar una acción, debe ponerse en contacto con su administrador para obtener ayuda. El administrador es la persona que le facilitó el nombre de usuario y la contraseña.

El siguiente ejemplo de error se produce cuando el usuario de `mateojackson` IAM intenta utilizar la consola para ver los detalles de un punto final del AWS DMS, pero no tiene `dms: DescribeEndpoint` permisos.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: dms:DescribeEndpoint on resource: my-postgresql-target
```

En este caso, Mateo pide a su administrador que actualice sus políticas de forma que pueda obtener acceso al recurso de punto de enlace `my-postgresql-target` mediante la acción `dms:DescribeEndpoint`.

## No estoy autorizado a realizar el iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Si recibe un error que indica que no tiene autorización para realizar la acción `iam:PassRole`, las políticas deben actualizarse a fin de permitirle pasar un rol a AWS DMS.

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 AWS DMS. 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.

## Soy administrador y quiero permitir el acceso de otras personas AWS DMS
<a name="security_iam_troubleshoot-admin-delegate"></a>

Para permitir el acceso de otras personas AWS DMS, debes conceder permiso a las personas o aplicaciones que necesitan acceso. Si usa AWS IAM Identity Center para administrar las personas y las aplicaciones, debe asignar conjuntos de permisos a los usuarios o grupos para definir su nivel de acceso. Los conjuntos de permisos crean políticas de IAM y las asignan a los roles de IAM asociados a la persona o aplicación de forma automática. Para obtener más información, consulte la sección [Conjuntos de permisos](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) en la *Guía del usuario de AWS IAM Identity Center *.

Si no utiliza IAM Identity Center, debe crear entidades de IAM (usuarios o roles) para las personas o aplicaciones que necesitan acceso. A continuación, debe asociar una política a la entidad que le conceda los permisos correctos en AWS DMS. Una vez concedidos los permisos, proporcione las credenciales al usuario o al desarrollador de la aplicación. Utilizarán esas credenciales para acceder a AWS. Para obtener más información sobre la creación de usuarios, grupos, políticas y permisos de IAM, consulte [Identidades de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) y [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*.

## Quiero permitir que personas ajenas a mi AWS cuenta accedan a mis AWS DMS recursos
<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 admiten políticas basadas en recursos o listas de control de acceso (ACLs), puedes usar esas políticas para permitir que las personas accedan a tus recursos.

Para obtener más información, consulte lo siguiente:
+ Para saber si AWS DMS es compatible con estas funciones, consulte. [¿Cómo AWS Database Migration Service funciona 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 usuario de su propiedad Cuenta de AWS en](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) la Guía del *usuario 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*.

## Se necesitan permisos de IAM para utilizarlos AWS DMS
<a name="CHAP_Security.IAMPermissions"></a>

Para utilizar AWS DMS se usan determinados permisos y roles de IAM. Si ha iniciado sesión como usuario de IAM y desea utilizarlos AWS DMS, el administrador de su cuenta debe adjuntar la política descrita en esta sección al usuario, grupo o función de IAM que utilice para ejecutar. AWS DMS Para obtener más información sobre los permisos de IAM, consulte la [Guía del usuario de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_access-management.html). 

La siguiente política te da acceso y también permisos para determinadas acciones necesarias desde otros servicios de Amazon AWS KMS, como IAM, Amazon EC2 y Amazon. AWS DMS CloudWatch CloudWatchsupervisa AWS DMS la migración en tiempo real y recopila y realiza un seguimiento de las métricas que indican el progreso de la migración. Puedes usar CloudWatch los registros para depurar problemas relacionados con una tarea. 

**nota**  
Puedes restringir aún más el acceso a AWS DMS los recursos mediante el etiquetado. Para obtener más información sobre cómo restringir el acceso a AWS DMS los recursos mediante el etiquetado, consulte. [Control de acceso detallado mediante nombres de recursos y etiquetas](CHAP_Security.FineGrainedAccess.md)

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

****  

```
{

  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "dms:*",
      "Resource": "arn:aws:dms:*:123456789012:*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "kms:ListAliases",
        "kms:DescribeKey"
      ],
      "Resource": "arn:aws:kms:*:123456789012:key/*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "iam:GetRole",
        "iam:PassRole",
        "iam:CreateRole",
        "iam:AttachRolePolicy"
      ],
      "Resource": "arn:aws:iam::123456789012:role/*",
      "Condition": {
        "StringEquals": {
          "iam:PassedToService": "dms.amazonaws.com"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeVpcs",
        "ec2:DescribeInternetGateways",
        "ec2:DescribeAvailabilityZones",
        "ec2:DescribeSubnets",
        "ec2:DescribeSecurityGroups",
        "ec2:ModifyNetworkInterfaceAttribute",
        "ec2:CreateNetworkInterface",
        "ec2:DeleteNetworkInterface"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "cloudwatch:Get*",
        "cloudwatch:List*"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams",
        "logs:FilterLogEvents",
        "logs:GetLogEvents"
      ],
      "Resource": "arn:aws:logs:*:123456789012:*"
    }
  ]
}
```

------

El desglose de estos permisos siguientes podría ayudarle a entender mejor por qué cada uno de ellos es necesario.

La siguiente sección es necesaria para que el usuario pueda llamar a las operaciones de la AWS DMS API.

```
{
            "Effect": "Allow",
            "Action": "dms:*",
            "Resource": "arn:aws:dms:region:account:resourcetype/id"
}
```

La siguiente sección es necesaria para que el usuario pueda enumerar sus AWS KMS claves y alias disponibles para mostrarlos en la consola. Esta entrada no es obligatoria si conoce el nombre de recurso de Amazon (ARN) de la clave KMS y utiliza únicamente el AWS Command Line Interface (AWS CLI).

```
{
            "Effect": "Allow",
            "Action": [
                "kms:ListAliases", 
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:service:region:account:resourcetype/id"
        }
```

La sección siguiente es necesaria para determinados tipos de punto de enlace que requieren que se pase un ARN del rol de IAM con el punto de enlace. Además, si los AWS DMS roles necesarios no se crean con antelación, la AWS DMS consola puede crear el rol. Si todas las funciones se configuran con antelación, todo eso es necesario en `iam:GetRole` e `iam:PassRole`. Para obtener más información acerca de los roles, consulte [Crear los roles de IAM para usarlos con AWS DMS](#CHAP_Security.APIRole).

```
{
            "Effect": "Allow",
            "Action": [
                "iam:GetRole",
                "iam:PassRole",
                "iam:CreateRole",
                "iam:AttachRolePolicy"
            ],
            "Resource": "arn:aws:service:region:account:resourcetype/id"
        }
```

La siguiente sección es obligatoria porque AWS DMS necesita crear la instancia Amazon EC2 y configurar la red para la instancia de replicación que se crea. Estos recursos existen en la cuenta del cliente, por lo que la capacidad para realizar estas acciones en nombre del cliente es necesaria.

```
{
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeVpcs",
                "ec2:DescribeInternetGateways",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:ModifyNetworkInterfaceAttribute",
                "ec2:CreateNetworkInterface",
                "ec2:DeleteNetworkInterface"
            ],
            "Resource": "arn:aws:service:region:account:resourcetype/id"
        }
```

La siguiente sección es necesaria para permitir que el usuario pueda ver las métricas de instancia de replicación.

```
{
            "Effect": "Allow",
            "Action": [
                "cloudwatch:Get*",
                "cloudwatch:List*"
            ],
            "Resource": "arn:aws:service:region:account:resourcetype/id"
        }
```

Esta sección es necesaria para permitir que el usuario vea los registros de replicación.

```
{
            "Effect": "Allow",
            "Action": [
                "logs:DescribeLogGroups",
                "logs:DescribeLogStreams",
                "logs:FilterLogEvents",
                "logs:GetLogEvents"
            ],
            "Resource": "arn:aws:service:region:account:resourcetype/id"
        }
```

 Si utiliza la AWS DMS consola, la AWS Command Line Interface (AWS CLI) o la AWS DMS API para la migración, tendrá que añadir varias funciones a su cuenta. Para obtener más información sobre la creación de estos roles, consulte [Crear los roles de IAM para usarlos con AWS DMS](#CHAP_Security.APIRole).

## Crear los roles de IAM para usarlos con AWS DMS
<a name="CHAP_Security.APIRole"></a>

Si utiliza la AWS DMS consola, la API AWS CLI o la AWS DMS API para migrar su base de datos, debe añadir tres funciones de IAM a su AWS cuenta antes de poder utilizar las funciones de. AWS DMS Dos de los tres roles son `dms-vpc-role` y `dms-cloudwatch-logs-role`. Si utiliza Amazon Redshift como base de datos de destino, también debe añadir el rol de IAM `dms-access-for-endpoint` a su cuenta. AWS 

Las actualizaciones de las políticas administradas son automáticas. Si utiliza una política personalizada con los roles de IAM, asegúrese de comprobar de forma periódica las actualizaciones de la política administrada en esta documentación. Puede ver los detalles de la política administrada usando una combinación de los comandos `get-policy` y `get-policy-version`.

Por ejemplo, el siguiente comando `get-policy` recupera información sobre la función de IAM especificada.

```
aws iam get-policy --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole
```

El comando devuelve la siguiente información.

```
{
    "Policy": {
        "PolicyName": "AmazonDMSVPCManagementRole",
        "PolicyId": "ANPAJHKIGMBQI4AEFFSYO",
        "Arn": "arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole",
        "Path": "/service-role/",
        "DefaultVersionId": "v4",
        "AttachmentCount": 1,
        "PermissionsBoundaryUsageCount": 0,
        "IsAttachable": true,
        "Description": "Provides access to manage VPC settings for AWS managed customer configurations",
        "CreateDate": "2015-11-18T16:33:19+00:00",
        "UpdateDate": "2024-07-25T15:19:01+00:00",
        "Tags": []
    }
}
```

El siguiente comando `get-policy-version` obtiene información de políticas de IAM.

```
aws iam get-policy-version --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole --version-id v4
```

El comando devuelve la siguiente información.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Sid": "ExampleStatementID",
        "Effect": "Allow",
        "Action": [
            "ec2:CreateNetworkInterface",
            "ec2:DeleteNetworkInterface",
            "ec2:DescribeAvailabilityZones",
            "ec2:DescribeDhcpOptions",
            "ec2:DescribeInternetGateways",
            "ec2:DescribeNetworkInterfaces",
            "ec2:DescribeSecurityGroups",
            "ec2:DescribeSubnets",
            "ec2:DescribeVpcs",
            "ec2:ModifyNetworkInterfaceAttribute"
        ],
        "Resource": "*"
      }
    ]
}
```

------

Puede utilizar los mismos comandos para obtener información sobre `AmazonDMSCloudWatchLogsRole` y la política administrada de `AmazonDMSRedshiftS3Role`.

Los siguientes procedimientos crean los roles de IAM `dms-vpc-role`, `dms-cloudwatch-logs-role` y `dms-access-for-endpoint`.

**Para crear el rol de dms-vpc-role IAM para usarlo con la API o AWS CLI AWS DMS**

1.  Cree un archivo JSON con la política de IAM siguiente. Asigne el nombre al archivo JSON `dmsAssumeRolePolicyDocument.json`. 

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

****  

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

------

    Cree el rol AWS CLI mediante el siguiente comando.

   ```
   aws iam create-role --role-name dms-vpc-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument.json                    
   ```

1.  Adjunte la política `AmazonDMSVPCManagementRole` a `dms-vpc-role` utilizando el siguiente comando.

   ```
   aws iam attach-role-policy --role-name dms-vpc-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole                    
   ```

**Para crear el rol de dms-cloudwatch-logs-role IAM para usarlo con la API AWS CLI o AWS DMS**

1.  Cree un archivo JSON con la política de IAM siguiente. Asigne el nombre al archivo JSON `dmsAssumeRolePolicyDocument2.json`. 

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

****  

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

------

    Cree el rol AWS CLI mediante el siguiente comando.

   ```
   aws iam create-role --role-name dms-cloudwatch-logs-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument2.json                    
   ```

1.  Adjunte la política `AmazonDMSCloudWatchLogsRole` a `dms-cloudwatch-logs-role` utilizando el siguiente comando.

   ```
   aws iam attach-role-policy --role-name dms-cloudwatch-logs-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole                    
   ```

Si utiliza Amazon Redshift como base de datos de destino, debe crear el rol de IAM `dms-access-for-endpoint` para proporcionar acceso a Amazon S3.

**Para crear el rol de dms-access-for-endpoint IAM para usarlo con Amazon Redshift como base de datos de destino**

1. Cree un archivo JSON con la política de IAM siguiente. Asigne el nombre al archivo JSON `dmsAssumeRolePolicyDocument3.json`. 

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

****  

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

------

1.  Cree el rol AWS CLI mediante el siguiente comando.

   ```
     aws iam create-role --role-name dms-access-for-endpoint --assume-role-policy-document file://dmsAssumeRolePolicyDocument3.json                   
   ```

1.  Adjunte la política `AmazonDMSRedshiftS3Role` al rol `dms-access-for-endpoint` utilizando el siguiente comando.

   ```
   aws iam attach-role-policy --role-name dms-access-for-endpoint \
       --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role
   ```

Ahora debe disponer de las políticas de IAM para utilizar la AWS DMS API AWS CLI o.

# 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 [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)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 las claves de contexto en las políticas de recursos para limitar los permisos que se AWS Database Migration Service otorgan a otro servicio al recurso. Si el valor de `aws:SourceArn` no contiene el ID de cuenta, como un nombre de instancia de replicación (ARN) de AWS DMS , debe utilizar ambas claves de contexto de condición global para limitar los permisos. Si utiliza claves de contexto de condición global y el valor de `aws:SourceArn` contiene el ID de cuenta, el valor de `aws:SourceAccount` y la cuenta en el valor de `aws:SourceArn` deben utilizar el mismo ID de cuenta cuando se utiliza en la misma instrucción de política. 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.

AWS DMS admite opciones alternativas confusas a partir de la versión 3.4.7 y versiones posteriores. Para obtener más información, consulte [AWS Notas de la versión 3.4.7 de Database Migration Service](CHAP_ReleaseNotes.md#CHAP_ReleaseNotes.DMS347). Si la instancia de replicación utiliza la versión 3.4.6 de AWS DMS o una versión anterior, asegúrese de actualizar a la versión más reciente antes de configurar las opciones de suplentes confusos.

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:dms:*:123456789012:rep:*`. 

**Topics**
+ [Funciones de IAM que se pueden utilizar junto con la AWS DMS API para prevenir la confusión entre servicios](#cross-service-confused-deputy-prevention-dms-api)
+ [Política de IAM para almacenar las evaluaciones con comprobación previa en Amazon S3 para evitar suplentes confusos entre servicios](#cross-service-confused-deputy-prevention-s3)
+ [Uso de Amazon DynamoDB como punto de enlace de destino para evitar la AWS DMS confusión entre servicios](#cross-service-confused-deputy-prevention-dynamodb)

## Funciones de IAM que se pueden utilizar junto con la AWS DMS API para prevenir la confusión entre servicios
<a name="cross-service-confused-deputy-prevention-dms-api"></a>

Para utilizar la API AWS CLI o la AWS DMS API para la migración de su base de datos, debe añadir las funciones `dms-vpc-role` y de `dms-cloudwatch-logs-role` IAM a su AWS cuenta antes de poder utilizar las funciones de. AWS DMS Para obtener más información, consulte [Crear los roles de IAM para usarlos con AWS DMS](security-iam.md#CHAP_Security.APIRole).

En el siguiente ejemplo, se muestran las políticas para usar el rol `dms-vpc-role` con la instancia de replicación `my-replication-instance`. Utilice estas políticas para evitar el problema de los suplentes confusos.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
        "Sid": "AllowDMSAssumeRole",
        "Effect": "Allow",
        "Action": "sts:AssumeRole",
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "AWS:SourceAccount": "111122223333"
         },
         "ArnLike": {
             "aws:SourceArn": "arn:aws:dms:*:123456789012:*"
         }
      }
    }
  ]
}
```

------

## Política de IAM para almacenar las evaluaciones con comprobación previa en Amazon S3 para evitar suplentes confusos entre servicios
<a name="cross-service-confused-deputy-prevention-s3"></a>

Para almacenar los resultados de la evaluación previa en el bucket de S3, debe crear una política de IAM que permita a AWS DMS administrar los objetos en Amazon S3. Para obtener más información, consulte [Crear recursos de IAM](CHAP_Tasks.AssessmentReport.Prerequisites.md#CHAP_Tasks.AssessmentReport.Prerequisites.IAM).

El siguiente ejemplo muestra una política de confianza con condiciones secundarias confusas que se establecen en un rol de IAM y que permiten acceder AWS DMS a todas las tareas y ejecuciones de evaluación con una cuenta de usuario específica.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowDMSAssumeRole",
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "AWS:SourceAccount": "111122223333"
        },
        "ArnLike": {
            "aws:SourceArn": [
                "arn:aws:dms:*:123456789012:assessment-run:*",
                "arn:aws:dms:*:123456789012:task:*"
          ]
        }
      }
    }
  ]
}
```

------

## Uso de Amazon DynamoDB como punto de enlace de destino para evitar la AWS DMS confusión entre servicios
<a name="cross-service-confused-deputy-prevention-dynamodb"></a>

Para utilizar Amazon DynamoDB como punto final de destino para la migración de su base de datos, debe crear el rol de IAM que AWS DMS permita asumir y conceder acceso a las tablas de DynamoDB. A continuación, utilice esta función cuando cree el punto de conexión de DynamoDB de destino en AWS DMS. Para obtener más información, consulte [Uso de Amazon DynamoDB como destino](CHAP_Target.DynamoDB.md).

El siguiente ejemplo muestra una política de confianza con condiciones supletorias confusas que se establecen en un rol de IAM y que permiten a todos los AWS DMS puntos finales acceder a las tablas de DynamoDB.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowDMSAssumeRole",
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "*",
      "Condition": {
      "StringEquals": {
          "AWS:SourceAccount": "111122223333"
        },
        "ArnLike": {
        "aws:SourceArn": [
            "arn:aws:dms:*:123456789012:assessment-run:*",
            "arn:aws:dms:*:123456789012:task:*"
            ]
         }
      }
    }
  ]
}
```

------

# AWS políticas gestionadas para AWS Database Migration Service
<a name="security-iam-awsmanpol"></a>

**Topics**
+ [AWS política gestionada: Amazon DMSVPCManagement Role](#security-iam-awsmanpol-AmazonDMSVPCManagementRole)
+ [AWS política gestionada: AWSDMSServerless ServiceRolePolicy](#security-iam-awsmanpol-AWSDMSServerlessServiceRolePolicy)
+ [AWS política gestionada: Amazon DMSCloud WatchLogsRole](#security-iam-awsmanpol-AmazonDMSCloudWatchLogsRole)
+ [AWS política gestionada: AWSDMSFleet AdvisorServiceRolePolicy](#security-iam-awsmanpol-AWSDMSFleetAdvisorServiceRolePolicy)
+ [AWS política gestionada: Amazon DMSRedshift S3Role](#security-iam-awsmanpol-AmazonDMSRedshiftS3Role)
+ [AWS DMS actualizaciones de las políticas AWS gestionadas](#security-iam-awsmanpol-updates)

## AWS política gestionada: Amazon DMSVPCManagement Role
<a name="security-iam-awsmanpol-AmazonDMSVPCManagementRole"></a>

Esta política está asociada al `dms-vpc-role` rol, lo que le AWS DMS permite realizar acciones en su nombre.

Esta política otorga a los colaboradores permisos que permiten AWS DMS administrar los recursos de la red.

**Detalles de los permisos**

Esta política incluye las operaciones siguientes:
+ `ec2:CreateNetworkInterface`— AWS DMS necesita este permiso para crear interfaces de red. Estas interfaces son esenciales para que la instancia de replicación de AWS DMS se conecte a las bases de datos de origen y de destino.
+ `ec2:DeleteNetworkInterface`— AWS DMS necesita este permiso para limpiar las interfaces de red que creó una vez que ya no sean necesarias. Esto ayuda a administrar los recursos y a evitar costos innecesarios.
+ `ec2:DescribeAvailabilityZones`: este permiso permite a AWS DMS recuperar información sobre las zonas de disponibilidad de una región. AWS DMS utiliza esta información para garantizar que aprovisiona los recursos en las zonas correctas para garantizar la redundancia y la disponibilidad.
+ `ec2:DescribeDhcpOptions`— AWS DMS recupera los detalles del conjunto de opciones de DHCP para la VPC especificada. Esta información es necesaria a fin de configurar la red de forma correcta para las instancias de replicación.
+ `ec2:DescribeInternetGateways`— AWS DMS puede necesitar este permiso para entender las pasarelas de Internet configuradas en la VPC. Esta información es crucial si la instancia de replicación o las bases de datos necesitan acceso a Internet.
+ `ec2:DescribeNetworkInterfaces`— AWS DMS recupera información sobre las interfaces de red existentes en la VPC. Esta información es necesaria AWS DMS para configurar las interfaces de red correctamente y garantizar una conectividad de red adecuada para el proceso de migración.
+ `ec2:DescribeSecurityGroups`— Los grupos de seguridad controlan el tráfico entrante y saliente a las instancias y los recursos. AWS DMS debe describir los grupos de seguridad para configurar correctamente las interfaces de red y garantizar una comunicación adecuada entre la instancia de replicación y las bases de datos.
+ `ec2:DescribeSubnets`— Este permiso permite AWS DMS enumerar las subredes de una VPC. AWS DMS utiliza esta información para lanzar instancias de replicación en las subredes correspondientes, asegurándose de que tengan la conectividad de red necesaria.
+ `ec2:DescribeVpcs`— VPCs La descripción es esencial AWS DMS para comprender el entorno de red en el que residen la instancia de replicación y las bases de datos. Esto incluye conocer los bloques de CIDR y otras configuraciones específicas de la VPC.
+ `ec2:ModifyNetworkInterfaceAttribute`— Este permiso es necesario AWS DMS para modificar los atributos de las interfaces de red que administra. Puede incluir el ajuste de la configuración para garantizar la conectividad y la seguridad.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
			"Sid": "Statement1",
			"Effect": "Allow",
			"Action": [
				"ec2:CreateNetworkInterface",
				"ec2:DeleteNetworkInterface",
				"ec2:DescribeAvailabilityZones",
				"ec2:DescribeDhcpOptions",
				"ec2:DescribeInternetGateways",
				"ec2:DescribeNetworkInterfaces",
				"ec2:DescribeSecurityGroups",
				"ec2:DescribeSubnets",
				"ec2:DescribeVpcs",
				"ec2:ModifyNetworkInterfaceAttribute"
			],
			"Resource": "*"
		}
    ]
}
```

------

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

Esta política está asociada al `AWSServiceRoleForDMSServerless` rol, lo que le AWS DMS permite realizar acciones en su nombre. Para obtener más información, consulte [Función vinculada al servicio para AWS DMS](slr-services-sl.md).

Esta política otorga a los colaboradores permisos que permiten AWS DMS administrar los recursos de replicación.

**Detalles de los permisos**

Esta política incluye los siguientes permisos.
+ **AWS DMS**— Permite a los directores interactuar con AWS DMS los recursos.
+ **Amazon S3**: permite a DMS crear un bucket de S3 para almacenar una evaluación previa a la migración. El bucket de S3 se crea para un usuario por región y su política de bucket limita el acceso únicamente al rol del servicio. 

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "id0",
            "Effect": "Allow",
            "Action": [
                "dms:CreateReplicationInstance",
                "dms:CreateReplicationTask"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "dms:req-tag/ResourceCreatedBy": "DMSServerless"
                }
            }
        },
        {
            "Sid": "id1",
            "Effect": "Allow",
            "Action": [
                "dms:DescribeReplicationInstances",
                "dms:DescribeReplicationTasks"
            ],
            "Resource": "*"
        },
        {
            "Sid": "id2",
            "Effect": "Allow",
            "Action": [
                "dms:StartReplicationTask",
                "dms:StopReplicationTask",
                "dms:ModifyReplicationTask",
                "dms:DeleteReplicationTask",
                "dms:ModifyReplicationInstance",
                "dms:DeleteReplicationInstance"
            ],
            "Resource": [
                "arn:aws:dms:*:*:rep:*",
                "arn:aws:dms:*:*:task:*"
            ],
            "Condition": {
                "StringEqualsIgnoreCase": {
                    "aws:ResourceTag/ResourceCreatedBy": "DMSServerless"
                }
            }
        },
        {
            "Sid": "id3",
            "Effect": "Allow",
            "Action": [
                "dms:TestConnection",
                "dms:DeleteConnection"
            ],
            "Resource": [
                "arn:aws:dms:*:*:rep:*",
                "arn:aws:dms:*:*:endpoint:*"
            ]
        },
        {
            "Sid": "id4",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:PutObjectTagging"
            ],
            "Resource": [
                "arn:aws:s3:::dms-serverless-premigration-results-*",
                "arn:aws:s3:::dms-premigration-results-*"
            ],
            "Condition": {
                "StringEquals": {
                    "s3:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "id5",
            "Effect": "Allow",
            "Action": [
                "s3:PutBucketPolicy",
                "s3:ListBucket",
                "s3:GetBucketLocation",
                "s3:CreateBucket"
            ],
            "Resource": [
                "arn:aws:s3:::dms-serverless-premigration-results-*",
                "arn:aws:s3:::dms-premigration-results-*"
            ],
            "Condition": {
                "StringEquals": {
                    "s3:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "id6",
            "Effect": "Allow",
            "Action": [
                "dms:StartReplicationTaskAssessmentRun"
            ],
            "Resource": [
                "arn:aws:dms:*:*:task:*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

## AWS política gestionada: Amazon DMSCloud WatchLogsRole
<a name="security-iam-awsmanpol-AmazonDMSCloudWatchLogsRole"></a>

Esta política está asociada al `dms-cloudwatch-logs-role` rol, lo que le AWS DMS permite realizar acciones en su nombre. Para obtener más información, consulte [Uso de roles vinculados a servicios para AWS DMS](using-service-linked-roles.md).

Esta política otorga a los colaboradores permisos que AWS DMS permiten publicar registros de replicación en CloudWatch registros.

**Detalles de los permisos**

Esta política incluye los siguientes permisos.




+ `logs`— Permite a los directores publicar registros en CloudWatch Logs. Este permiso es necesario para AWS DMS poder utilizarlo CloudWatch para mostrar los registros de replicación.



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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowDescribeOnAllLogGroups",
            "Effect": "Allow",
            "Action": [
                "logs:DescribeLogGroups"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "AllowDescribeOfAllLogStreamsOnDmsTasksLogGroup",
            "Effect": "Allow",
            "Action": [
                "logs:DescribeLogStreams"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:dms-tasks-*",
                "arn:aws:logs:*:*:log-group:dms-serverless-replication-*"
            ]
        },
        {
            "Sid": "AllowCreationOfDmsLogGroups",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:dms-tasks-*",
                "arn:aws:logs:*:*:log-group:dms-serverless-replication-*:log-stream:"
            ]
        },
        {
            "Sid": "AllowCreationOfDmsLogStream",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:dms-tasks-*:log-stream:dms-task-*",
                "arn:aws:logs:*:*:log-group:dms-serverless-replication-*:log-stream:dms-serverless-*"
            ]
        },
        {
            "Sid": "AllowUploadOfLogEventsToDmsLogStream",
            "Effect": "Allow",
            "Action": [
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:*:*:log-group:dms-tasks-*:log-stream:dms-task-*",
                "arn:aws:logs:*:*:log-group:dms-serverless-replication-*:log-stream:dms-serverless-*"
            ]
        }
    ]
}
```

------

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





No puede adjuntarse AWSDMSFleet AdvisorServiceRolePolicy a sus entidades de IAM. Esta política está asociada a una función vinculada al servicio que permite a AWS DMS Fleet Advisor realizar acciones en tu nombre. Para obtener más información, consulte [Uso de roles vinculados a servicios para AWS DMS](using-service-linked-roles.md).



Esta política otorga a los colaboradores permisos que permiten a AWS DMS Fleet Advisor publicar CloudWatch las estadísticas de Amazon.



**Detalles de los permisos**

Esta política incluye los siguientes permisos.




+ `cloudwatch`— Permite a los directores publicar puntos de datos métricos en Amazon CloudWatch. Este permiso es necesario para que AWS DMS Fleet Advisor lo pueda utilizar CloudWatch para mostrar gráficos con métricas de bases de datos.



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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Resource": "*",
        "Action": "cloudwatch:PutMetricData",
        "Condition": {
            "StringEquals": {
                "cloudwatch:namespace": "AWS/DMS/FleetAdvisor"
            }
        }
    }
}
```

------

## AWS política gestionada: Amazon DMSRedshift S3Role
<a name="security-iam-awsmanpol-AmazonDMSRedshiftS3Role"></a>

Esta política proporciona permisos que permiten administrar AWS DMS la configuración de S3 para los puntos finales de Redshift.

**Detalles de los permisos**

Esta política incluye las operaciones siguientes:
+ `s3:CreateBucket`: permite a DMS crear buckets de S3 con el prefijo “dms-”.
+ `s3:ListBucket`: Permite a DMS enumerar el contenido de los buckets de S3 con el prefijo “dms-”.
+ `s3:DeleteBucket `: permite a DMS eliminar buckets de S3 con el prefijo “dms-”.
+ `s3:GetBucketLocation`: permite a DMS obtener la región en la que se encuentra un bucket de S3.
+ `s3:GetObject`: permite a DMS obtener objetos de buckets de S3 con el prefijo “dms-”.
+ `s3:PutObject`: permite a DMS añadir objetos a buckets de S3 con el prefijo “dms-”.
+ `s3:DeleteObject`: permite a DMS eliminar objetos de los buckets de S3 con el prefijo “dms-”.
+ `s3:GetObjectVersion`: permite a DMS obtener versiones específicas de objetos en buckets versionados
+ `s3:GetBucketPolicy`: permite a DMS obtener las políticas de buckets.
+ `s3:PutBucketPolicy`: permite a DMS crear o actualizar políticas de buckets.
+ `s3:GetBucketAcl`- Permite a DMS recuperar las listas de control de acceso a los buckets () ACLs
+ `s3:PutBucketVersioning`: permite a DMS activar o suspender el control de versiones en los buckets.
+ `s3:GetBucketVersioning`: permite a DMS obtener el estado de control de versiones de los buckets.
+ `s3:PutLifecycleConfiguration`: permite a DMS crear o actualizar las reglas del ciclo de vida de los buckets.
+ `s3:GetLifecycleConfiguration`: permite a DMS obtener las reglas del ciclo de vida configuradas para los buckets.
+ `s3:DeleteBucketPolicy`: permite a DMS eliminar políticas de buckets.

Todos estos permisos se aplican únicamente a los recursos con un patrón ARN: `arn:aws:s3:::dms-*`

**Documento de política de JSON**

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:CreateBucket",
        "s3:ListBucket", 
        "s3:DeleteBucket",
        "s3:GetBucketLocation",
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:GetObjectVersion",
        "s3:GetBucketPolicy",
        "s3:PutBucketPolicy",
        "s3:GetBucketAcl",
        "s3:PutBucketVersioning",
        "s3:GetBucketVersioning",
        "s3:PutLifecycleConfiguration",
        "s3:GetLifecycleConfiguration",
        "s3:DeleteBucketPolicy"
      ],
      "Resource": "arn:aws:s3:::dms-*"
    }
  ]
}
```

------





## AWS DMS actualizaciones de las políticas AWS gestionadas
<a name="security-iam-awsmanpol-updates"></a>



Consulte los detalles sobre las actualizaciones de las políticas AWS administradas AWS DMS desde que este servicio comenzó a realizar el seguimiento de estos cambios. Para recibir alertas automáticas sobre los cambios en esta página, suscríbase a la fuente RSS de la página del historial del AWS DMS documento.




| Cambio | Descripción | Fecha | 
| --- | --- | --- | 
|  [AWSDMSServerlessServiceRolePolicy](#security-iam-awsmanpol-AWSDMSServerlessServiceRolePolicy): cambio  |  AWS DMS actualizado `AWSDMSServerlessServiceRolePolicy` para permitir a DMS crear depósitos de S3 e incluir los resultados de las evaluaciones previas a la migración en esos cubos para tareas de replicación no relacionadas con el DMS sin servidor.  | 5 de noviembre de 2025 | 
|  [Función vinculada al servicio para AWS DMS Serverless](slr-services-sl.md): cambio  |  AWS DMS actualizado `AWSDMSServerlessServiceRolePolicy` para permitir la ejecución de `dms:StartReplicationTaskAssessmentRun` evaluaciones previas a la migración. AWS DMS también se actualizó la función vinculada a servicios sin servidor para crear depósitos de S3 e incluir los resultados de la evaluación previa a la migración en esos grupos.  | 14 de febrero de 2025 | 
|  [AWSDMSServerlessServiceRolePolicy](#security-iam-awsmanpol-AWSDMSServerlessServiceRolePolicy): cambio  |  AWS DMS se agregó`dms:ModifyReplicationTask`, la cual es requerida por AWS DMS Serverless para llamar a la operación y modificar una tarea de replicación`ModifyReplicationTask`. AWS DMS se agregó `dms:ModifyReplicationInstance` lo que AWS DMS Serverless requiere para llamar a la `ModifyReplicationInstance` operación y modificar una instancia de replicación.  | 17 de enero de 2025 | 
|  [DMSVPCManagementRol de Amazon](#security-iam-awsmanpol-AmazonDMSVPCManagementRole): cambio  |  AWS DMS agregado `ec2:DescribeDhcpOptions` y `ec2:DescribeNetworkInterfaces` operaciones que permiten AWS DMS administrar la configuración de red en su nombre.  | 17 de junio de 2024 | 
|  [AWSDMSServerlessServiceRolePolicy](#security-iam-awsmanpol-AWSDMSServerlessServiceRolePolicy): política nueva  |  AWS DMS agregó el `AWSDMSServerlessServiceRolePolicy` rol para permitir AWS DMS crear y administrar servicios en su nombre, como la publicación de CloudWatch métricas de Amazon.  | 22 de mayo de 2023 | 
|  [Amazon DMSCloud WatchLogsRole](#security-iam-awsmanpol-AmazonDMSCloudWatchLogsRole) — Cambiar  |  AWS DMS agregó el ARN de los recursos sin servidor a cada uno de los permisos otorgados, para permitir cargar registros de replicación desde configuraciones de AWS DMS replicación sin servidor a Logs. CloudWatch   | 22 de mayo de 2023 | 
|  [AWSDMSFleetAdvisorServiceRolePolicy](#security-iam-awsmanpol-AWSDMSFleetAdvisorServiceRolePolicy): política nueva  |  AWS DMS Fleet Advisor ha añadido una nueva política para permitir la publicación de puntos de datos métricos en Amazon CloudWatch.  | 6 de marzo de 2023 | 
|  AWS DMS comenzó a rastrear los cambios  |  AWS DMS comenzó a realizar un seguimiento de los cambios de sus políticas AWS gestionadas.  | 6 de marzo de 2023 | 