AWS Database Migration Service ejemplos de políticas basadas en la identidad - 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.

AWS Database Migration Service ejemplos de políticas basadas en la identidad

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

Prácticas recomendadas relativas a políticas

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 costes 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 o las políticas administradas por AWS para funciones de trabajo en la Guía del 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 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 AWS CloudFormation. Para más información, consulte Elementos de política JSON de IAM: condición en la Guía del usuario de IAM.

  • Utilice 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 Política de validación de Analizador de acceso de IAM en la Guía de 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 solicitar la MFA cuando se invocan las operaciones de la API, agregue las condiciones de la MFA a sus políticas. Para más información, consulte Configuración del acceso a una API protegido 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 del usuario de IAM.

Mediante la consola de AWS DMS

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.

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

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 de , consulte Crear las funciones de IAM para usarlas con la API AWS CLI y 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 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" }

La consola AWS DMS crea varios roles que se asocian automáticamente a su AWS cuenta cuando utiliza la consola AWS DMS. Si utilizas AWS Command Line Interface (AWS CLI) o la API de AWS DMS para la migración, tendrás que añadir estas funciones a tu cuenta. Para obtener más información sobre la creación de estos roles, consulte Crear las funciones de IAM para usarlas con la API AWS CLI y AWS DMS.

Para obtener más información sobre los requisitos para usar esta política para acceder al AWS DMS, consulte. Permisos de IAM necesarios para utilizar AWS DMS

Cómo 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 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

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

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.

{ "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.

Acceso a recursos de AWS DMS basados en etiquetas

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.

{ "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 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 más información, consulte Elementos de política JSON de IAM: condición en la Guía del usuario de IAM.