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.
Ejemplos de políticas basadas en identidad de AWS Database Migration Service
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 mediante la AWS Management Console, la AWS CLI, o la API de 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 en la Guía del usuario de IAM.
Temas
Prácticas recomendadas relativas a políticas
Las políticas basadas en identidades determinan si alguien puede crear, acceder o eliminar los recursos de AWS DMS de la cuenta. Estas acciones pueden generar costes adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidad:
-
Comience con las políticas administradas por AWS y continúe con los permisos de privilegio mínimo: a fin de comenzar a conceder permisos a los usuarios y las cargas de trabajo, utilice las políticas administradas por AWS, que conceden permisos para muchos casos de uso comunes. Están disponibles en la Cuenta de AWS. Se recomienda definir políticas administradas por el cliente de AWS específicas para sus casos de uso a fin de reducir aún más los permisos. Con el fin de obtener más información, consulte las políticas administradas por AWS o las políticas administradas por AWS para funciones de trabajo 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 en la Guía de usuario de IAM.
-
Use 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ítica para especificar que todas las solicitudes deben enviarse utilizando SSL. También puede usar condiciones para conceder acceso a acciones de servicios si se emplean a través de un Servicio de AWS determinado, como por ejemplo AWS CloudFormation. Para obtener más información, consulte Elementos de la política JSON de IAM: condición en la Guía del usuario de IAM.
-
Use 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. IAM Access Analyzer proporciona más de 100 verificaciones de políticas y recomendaciones procesables para ayudar a crear políticas seguras y funcionales. Para obtener más información, consulte la política de validación del Analizador de acceso de IAM en la Guía de usuario de IAM.
-
Solicite la autenticación multifactor (MFA): si se encuentra en una situación en la que necesita usuarios raíz o de IAM en su Cuenta de AWS, active la MFA para mayor seguridad. Para solicitar la MFA cuando se invocan las operaciones de la API, agregue las condiciones de MFA a sus políticas. Para obtener más información, consulte Configuración de acceso a una API protegida por MFA en la Guía de usuario de IAM.
Para obtener más información sobre las prácticas recomendadas de IAM, consulte las Prácticas recomendadas de seguridad en IAM en la Guía de usuario de IAM.
Mediante la consola de AWS DMS
La siguiente política le da acceso alAWS DMS, incluida la consola deAWS DMS, y también especifica los permisos para determinadas acciones necesarias en otros servicios de Amazon, como Amazon EC2.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dms:*", "Resource": "arn:aws:dms:
region
:account
:resourcetype
/id
" }, { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey" ], "Resource": "arn:aws:service
:region
:account
:resourcetype
/id
" }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "arn:aws:service
:region
:account
:resourcetype
/id
" }, { "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
" }, { "Effect": "Allow", "Action": [ "cloudwatch:Get*", "cloudwatch:List*" ], "Resource": "arn:aws:service
:region
:account
:resourcetype
/id
" }, { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "arn:aws:service
:region
:account
:resourcetype
/id
" }, { "Effect": "Allow", "Action": [ "redshift:Describe*", "redshift:ModifyClusterIamRoles" ], "Resource": "arn:aws:dms:region
:account
:resourcetype
/id
" } ] }
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 no se crean los roles de AWS DMS por adelantado, la consola AWS DMS 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 de , consulte Creación de los roles de IAM para usar con la AWS CLI y la API de 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 porqueAWS 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
" }
La siguiente contenido es necesaria cuando se utiliza Amazon Redshift como destino. PermiteAWS DMS validar que el clúster de Amazon Redshift está configurado correctamente paraAWS DMS.
{ "Effect": "Allow", "Action": [ "redshift:Describe*", "redshift:ModifyClusterIamRoles" ], "Resource": "arn:aws:dms:
region
:account
:resourcetype
/id
" }
La consola deAWS DMS crea varios roles que se adjuntan automáticamente a suAWS cuenta cuando utiliza la consola deAWS DMS. Si utilizas la APIAWS Command Line Interface (AWS CLI) o deAWS DMS para la migración, debes añadir estas funciones a tu cuenta. Para obtener más información sobre la creación de estos roles, consulte Creación de los roles de IAM para usar con la AWS CLI y la API de AWS DMS.
Para obtener más información sobre los requisitos para usar esta política para acceder alAWS DMS, consultePermisos de IAM necesarios para utilizar AWS DMS.
Permitir a los usuarios consultar sus propios permisos
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 adjuntan a la identidad de sus usuarios. Esta política incluye permisos para llevar a cabo esta acción en la consola o mediante programación con la AWS CLI o la API de 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
AWSDMS usa cubos de Amazon S3 como almacenamiento intermedio para la migración de bases de datos. Por lo general, elAWS DMS administra los buckets S3 predeterminados para este propósito. Sin embargo, en ciertos casos, especialmente cuando utilizas laAWS CLI API deAWS DMS, elAWS DMS te permite especificar tu propio bucket de S3 en su lugar. Por ejemplo, puede especificar su propio bucket de S3 para migrar datos a un punto final de destino de Amazon Redshift. En este caso, debe crear un rol con permisos basados en laAmazonDMSRedshiftS3Role
políticaAWS -managed.
En el siguiente ejemplo se muestra un ejemplo de versión de laAmazonDMSRedshiftS3Role
política. PermiteAWS a un usuario de IAM de suAWS cuenta tener acceso a uno de sus bucket 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 aAWS DMS gestionar el ciclo de vida del bucket. Además, se requiere la acción s3:GetObjectAcl
para poder copiar objetos.
{ "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 de bucket de Amazon S3.
Acceso a recursos de AWS DMS basados en etiquetas
Puede utilizar las condiciones de su política basada en la identidad para controlar el acceso a los recursos de AWS DMS basados en etiquetas. En este ejemplo se muestra cómo puede crear una política que permita el acceso a todos los puntos de enlace deAWS 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.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dms:*", "Resource": "arn:aws:dms:*:*:endpoint/*", "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 punto de enlace de AWS DMS, la base de datos de puntos de enlace debe etiquetarse 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 JSON de IAM: condición en la Guía del usuario de IAM.