View a markdown version of this page

Administración de identidades y accesos para AWS Database Migration Service - AWS Database Migration Service

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.

Administración de identidades y accesos para AWS Database Migration Service

AWS Identity and Access Management (IAM) ayuda al administrador Servicio de AWS a controlar de forma segura el acceso a AWS los recursos. Los administradores de IAM controlan quién puede autenticarse (iniciar sesión) y autorizarse (tener permisos) para usar los recursos. AWS DMS IAM es un servicio Servicio de AWS que puede utilizar sin coste adicional.

Público

La forma en que usas AWS Identity and Access Management (IAM) difiere según tu función:

Autenticación con identidades

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 asumiendo una función de IAM.

Puedes iniciar sesión como una identidad federada con credenciales de una fuente de identidad, como AWS IAM Identity Center (el centro de identidad de IAM), 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 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 en la Guía del usuario de IAM.

Cuenta de AWS usuario raíz

Cuando creas una Cuenta de AWS, comienzas con una identidad de inicio de sesión denominada usuario Cuenta de AWS raíz que tiene acceso total a todos los recursos. Servicios de AWS 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 en la Guía del usuario de IAM.

Usuarios y grupos de IAM

Un usuario de IAM 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 en la Guía del usuario de IAM.

Un grupo de IAM 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 en la Guía del usuario de IAM.

Roles de IAM

Un Rol de IAM 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) o llamando a una AWS CLI operación de AWS API. Para obtener más información, consulte Métodos para asumir un rol 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 en la Guía del usuario de IAM.

Administración del acceso con políticas

Puedes controlar el acceso AWS creando políticas y adjuntándolas a las AWS identidades o los recursos. Una política define los permisos cuando se asocian 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 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.

Identity-based políticas

Identity-based las políticas son documentos de política de permisos de JSON que se adjuntan 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 en la Guía del usuario de IAM.

Identity-based las políticas pueden ser políticas en línea (integradas 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 en la Guía del usuario de IAM.

Resource-based políticas

Resource-based las políticas son documentos de políticas JSON que se adjuntan 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 en una política basada en recursos.

Resource-based las políticas son políticas en línea que se encuentran en ese servicio. No puede usar políticas AWS administradas de IAM en una política basada en recursos.

Listas de control de acceso (ACL)

Las listas de control de acceso (ACL) controlan qué entidades principales (miembros de cuentas, usuarios o roles) tienen permisos para acceder a un recurso. Las ACL 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 que admiten las ACL. AWS WAF Para obtener más información sobre las ACL, consulte Información general de Lista de control de acceso (ACL) en la Guía para desarrolladores de Amazon Simple Storage Service.

Otros tipos de políticas

AWS admite tipos de políticas adicionales que pueden establecer los permisos máximos que otorgan 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 en la Guía del usuario de IAM.

  • Políticas de control de servicios (SCP): 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 en la Guía del usuario de AWS Organizations .

  • Políticas de control de recursos (RCP): definen los permisos máximos disponibles para los recursos de las cuentas. Para obtener más información, consulte Políticas de control de recursos (RCP) en la Guía del usuario de AWS Organizations .

  • 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 en la Guía del usuario de IAM.

Varios tipos de políticas

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 permite una solicitud cuando se trata de varios tipos de políticas, consulte la lógica de evaluación de políticas en la guía del usuario de IAM.

Se necesitan los permisos de IAM para usarlo AWS DMS

Para utilizar AWS DMS se usan determinados permisos y roles de IAM. Si has iniciado sesión como usuario de IAM y quieres utilizarlos AWS DMS, el administrador de la cuenta debe adjuntar la política que se describe en esta sección al usuario, grupo o rol de IAM que utilices para ejecutar. AWS DMS Para obtener más información sobre los permisos de IAM, consulte la Guía del usuario de IAM.

La siguiente política te da acceso y también permisos para realizar determinadas acciones necesarias en otros servicios de Amazon AWS KMS, como IAM, Amazon EC2 y Amazon. AWS DMS CloudWatch CloudWatchmonitorea tu AWS DMS migración en tiempo real y recopila y monitorea 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. Fine-grained control de acceso mediante nombres y etiquetas de recursos

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 permitir al usuario 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 de KMS y solo utiliza 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.

{ "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 es AWS DMS necesario crear la instancia de 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 varios roles 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.

Crear los roles de IAM para usarlos con AWS DMS

Si utilizas la AWS DMS consola, la API AWS CLI o la AWS DMS API para la migración de la base de datos, debes añadir tres funciones de IAM a tu 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 usa Amazon Redshift como base de datos de destino, también debe agregar el rol de IAM dms-access-for-endpoint a su cuenta. AWS

importante

Debe usar estos nombres de rol exactos, tal y como se muestra: dms-vpc-roledms-cloudwatch-logs-role, y. dms-access-for-endpoint AWS DMS busca estas funciones por nombre. Si usa nombres de rol personalizados, AWS DMS no puede encontrar los roles y el servicio no funciona correctamente.

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 la función de IAM dms-vpc-role para usarla con AWS CLI o AWS DMS API
  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 mediante el siguiente comando. AWS CLI

    aws iam create-role --role-name dms-vpc-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument.json
  2. 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 la función de IAM dms-cloudwatch-logs-role para usarla con AWS CLI o AWS DMS API
  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 mediante el siguiente comando. AWS CLI

    aws iam create-role --role-name dms-cloudwatch-logs-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument2.json
  2. 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.

Creación del rol de IAM de dms-access-for-endpoint para su uso 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" } ] }
  2. 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
  3. 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 deberías tener implementadas las políticas de IAM para usar la AWS DMS API AWS CLI or.