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, IAM los usuarios y los roles no tienen permiso para crear o modificar AWS DMS recursos. Tampoco pueden realizar tareas con AWS Management Console AWS CLI, o AWS API. IAMEl administrador debe crear IAM políticas que concedan a los usuarios y roles permisos para realizar API operaciones específicas en los recursos específicos que necesitan. A continuación, el administrador debe adjuntar esas políticas a los IAM usuarios o grupos que requieran esos permisos.

Para obtener información sobre cómo crear una política IAM basada en la identidad con estos documentos de JSON política de ejemplo, consulte Creación de políticas en la JSON pestaña de la Guía del IAMusuario.

Prácticas recomendadas sobre las 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 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. Para obtener más información, consulte las políticas AWS gestionadas o las políticas AWS gestionadas para las funciones laborales en la Guía del IAM usuario.

  • Aplique permisos con privilegios mínimos: cuando establezca permisos con IAM políticas, 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. Para obtener más información sobre cómo IAM aplicar permisos, consulte Políticas y permisos IAM en la IAM Guía del usuario.

  • Utilice las condiciones en IAM las políticas para restringir aún más el acceso: puede añadir 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 medianteSSL. 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 obtener más información, consulte los elementos IAM JSON de la política: Condición en la Guía del IAM usuario.

  • Utilice IAM Access Analyzer para validar sus IAM políticas y garantizar permisos seguros y funcionales: IAM Access Analyzer valida las políticas nuevas y existentes para que se ajusten al lenguaje de las políticas (JSON) y IAM a las IAM mejores prácticas. IAMAccess Analyzer proporciona más de 100 comprobaciones de políticas y recomendaciones prácticas para ayudarle a crear políticas seguras y funcionales. Para obtener más información, consulte la validación de políticas de IAM Access Analyzer en la Guía del IAM usuario.

  • Requerir autenticación multifactorial (MFA): si se encuentra en una situación en la que se requieren IAM usuarios o un usuario raíz Cuenta de AWS, actívela MFA para aumentar la seguridad. Para solicitarlo MFA cuando se convoque a API las operaciones, añada MFA condiciones a sus políticas. Para obtener más información, consulte Configuración del API acceso MFA protegido en la Guía del IAM usuario.

Para obtener más información sobre las prácticas recomendadasIAM, consulte las prácticas recomendadas de seguridad IAM en la Guía del IAM usuario.

Mediante la consola de AWS DMS

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

{ "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 obligatoria si conoce el nombre del recurso de Amazon (ARN) de la KMS clave 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 siguiente sección es obligatoria para determinados tipos de puntos finales que requieren la transferencia de un rol ARN al punto final. 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 los IAM roles que se van a usar con AWS CLI y AWS DMS API.

{ "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 EC2 instancia de Amazon 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 AWS DMS consola crea varios roles que se asocian automáticamente a su AWS cuenta cuando usa la AWS DMS consola. Si utilizas el AWS Command Line Interface (AWS CLI) o el AWS DMS API para la migración, tendrás que añadir estos roles a tu cuenta. Para obtener más información sobre la creación de estos roles, consulte Crear los IAM roles que se van a usar con AWS CLI y AWS DMS API.

Para obtener más información sobre los requisitos para usar esta política para acceder AWS DMS, consulteIAMpermisos necesarios para su uso AWS DMS.

Cómo permitir a los usuarios consultar sus propios permisos

En este ejemplo se muestra cómo se puede crear una política que permita a IAM los usuarios ver las políticas integradas y administradas asociadas a su identidad de usuario. Esta política incluye permisos para completar esta acción en la consola o mediante programación mediante la tecla o. AWS CLI AWS API

{ "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 DMSutiliza 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 el AWS CLI o el AWS DMSAPI, AWS DMS le permite especificar su propio bucket 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 AmazonDMSRedshiftS3Role política AWS administrada.

En el ejemplo siguiente se muestra una versión de la política AmazonDMSRedshiftS3Role. Permite conceder AWS DMS a un IAM usuario 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 AWS DMS administrar 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 AWS DMS puntos finales. 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}"} } } ] }

Puede adjuntar esta política a los IAM usuarios de 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 oowner=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 los elementos IAM JSON de la política: Condición en la Guía del IAM usuario.