Control de acceso detallado mediante nombres de recursos y etiquetas - 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.

Control de acceso detallado mediante nombres de recursos y etiquetas

Puede usar nombres y etiquetas de recursos basados en los nombres de recursos de Amazon (ARN) para administrar el acceso a AWS DMS los recursos. Para ello, define la acción permitida o incluye declaraciones condicionales en las políticas de IAM.

Uso de nombres de recursos para controlar el acceso

Puede crear una cuenta de usuario de IAM y asignar una política basada en el ARN del recurso de AWS DMS .

La siguiente política deniega el acceso a la instancia de AWS DMS replicación con el ARN arn:aws:dms:us-east- 1:152683116:rep:doh67zToXglixmihkiTV:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dms:*" ], "Effect": "Deny", "Resource": "arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV" } ] }

Por ejemplo, los siguientes comandos fallan cuando la política está en vigor.

$ aws dms delete-replication-instance --replication-instance-arn "arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV" A client error (AccessDeniedException) occurred when calling the DeleteReplicationInstance operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteReplicationInstance on resource: arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV $ aws dms modify-replication-instance --replication-instance-arn "arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV" A client error (AccessDeniedException) occurred when calling the ModifyReplicationInstance operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:ModifyReplicationInstance on resource: arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV

También puede especificar políticas de IAM que limiten AWS DMS el acceso a los puntos finales y a las tareas de replicación.

La siguiente política limita el acceso a un AWS DMS punto final mediante el ARN del punto final.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dms:*" ], "Effect": "Deny", "Resource": "arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX" } ] }

Por ejemplo, los siguientes comandos fallan cuando la política que utiliza el ARN del punto de enlace está en vigor:

$ aws dms delete-endpoint --endpoint-arn "arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX" A client error (AccessDeniedException) occurred when calling the DeleteEndpoint operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteEndpoint on resource: arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX $ aws dms modify-endpoint --endpoint-arn "arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX" A client error (AccessDeniedException) occurred when calling the ModifyEndpoint operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:ModifyEndpoint on resource: arn:aws:dms:us-east-1:152683116:endpoint:D6E37YBXTNHOA6XRQSZCUGX

La siguiente política limita el acceso a una AWS DMS tarea mediante el ARN de la tarea.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dms:*" ], "Effect": "Deny", "Resource": "arn:aws:dms:us-east-1:152683116:task:UO3YR4N47DXH3ATT4YMWOIT" } ] }

Por ejemplo, los siguientes comandos fallan cuando la política que utiliza el ARN de la tarea está en vigor:

$ aws dms delete-replication-task --replication-task-arn "arn:aws:dms:us-east-1:152683116:task:UO3YR4N47DXH3ATT4YMWOIT" A client error (AccessDeniedException) occurred when calling the DeleteReplicationTask operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteReplicationTask on resource: arn:aws:dms:us-east-1:152683116:task:UO3YR4N47DXH3ATT4YMWOIT

Uso de etiquetas para controlar el acceso

AWS DMS define un conjunto de pares clave-valor comunes que están disponibles para su uso en las políticas definidas por el cliente sin requisitos de etiquetado adicionales. Para obtener más información sobre los recursos de etiquetado AWS DMS , consulte. Etiquetado de recursos en AWS Database Migration Service

A continuación se enumeran las etiquetas estándar disponibles para su uso con AWS DMS:

  • aws: CurrentTime — Representa la fecha y la hora de la solicitud, lo que permite restringir el acceso en función de criterios temporales.

  • aws: EpochTime — Esta etiqueta es similar a la CurrentTime etiqueta aws: anterior, excepto que la hora actual se representa como el número de segundos transcurridos desde la época de Unix.

  • aws: MultiFactorAuthPresent — Se trata de una etiqueta booleana que indica si la solicitud se firmó o no mediante una autenticación multifactorial.

  • aws: MultiFactorAuthAge — Proporciona acceso a la antigüedad del token de autenticación multifactorial (en segundos).

  • aws:principaltype: proporciona acceso al tipo de entidad principal (usuario, cuenta, usuario federado, etc.) para la solicitud actual.

  • aws: SourceIp — Representa la dirección IP de origen del usuario que emite la solicitud.

  • aws: UserAgent — Proporciona información sobre la aplicación cliente que solicita un recurso.

  • aws:userid: proporciona acceso al ID del usuario que emite la solicitud.

  • aws:username: proporciona acceso al nombre del usuario que emite la solicitud.

  • dms: InstanceClass — Proporciona acceso al tamaño de procesamiento de los hosts de la instancia de replicación.

  • dms: StorageSize — Proporciona acceso al tamaño del volumen de almacenamiento (en GB).

También puede definir sus propias etiquetas. Las etiquetas definidas por el cliente son simples pares clave-valor que permanecen en el servicio de etiquetado. AWS Puede añadirlos a recursos de AWS DMS , incluidas las instancias de replicación, los puntos de enlace y las tareas. Estas etiquetas se asocian mediante declaraciones "condicionales" de IAM en las políticas y se hace referencia a ellas mediante una etiqueta condicional específica. Las claves de etiquetas tienen el prefijo "dms", el tipo de recurso y el prefijo "tag". Se muestra a continuación el formato de la etiqueta.

dms:{resource type}-tag/{tag key}={tag value}

Por ejemplo, suponga que desea definir una política que permita únicamente que una llamada a la API tenga éxito para una instancia de replicación que contiene la etiqueta "stage=production". La siguiente declaración condicional se asocia a un recurso con la etiqueta proporcionada.

"Condition": { "streq": { "dms:rep-tag/stage":"production" } }

Añada la siguiente etiqueta a una instancia de replicación que coincida con esta condición de la política.

stage production

Además de las etiquetas ya asignadas a AWS DMS los recursos, también se pueden escribir políticas para limitar las claves y los valores de las etiquetas que se pueden aplicar a un recurso determinado. En este caso, el prefijo de la etiqueta es "req".

Por ejemplo, la siguiente declaración de la política limita las etiquetas que un usuario puede asignar a un recurso determinado a una lista específica de valores permitidos.

"Condition": { "streq": { "dms:rep-tag/stage": [ "production", "development", "testing" ] } }

Los siguientes ejemplos de políticas limitan el acceso a un AWS DMS recurso en función de las etiquetas del recurso.

La siguiente política limita el acceso a una instancia de replicación donde el valor de la etiqueta es "Desktop" y la clave de la etiqueta es "Env":

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dms:*" ], "Effect": "Deny", "Resource": "*", "Condition": { "StringEquals": { "dms:rep-tag/Env": [ "Desktop" ] } } } ] }

Los siguientes comandos tienen éxito o se produce un error en función de la política de IAM que restringe el acceso cuando el valor de etiqueta es "Desktop" y la clave de etiqueta es "Env".

$ aws dms list-tags-for-resource --resource-name arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN --endpoint-url http://localhost:8000 { "TagList": [ { "Value": "Desktop", "Key": "Env" } ] } $ aws dms delete-replication-instance --replication-instance-arn "arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN" A client error (AccessDeniedException) occurred when calling the DeleteReplicationInstance operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteReplicationInstance on resource: arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN $ aws dms modify-replication-instance --replication-instance-arn "arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN" A client error (AccessDeniedException) occurred when calling the ModifyReplicationInstance operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:ModifyReplicationInstance on resource: arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN $ aws dms add-tags-to-resource --resource-name arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN --tags Key=CostCenter,Value=1234 A client error (AccessDeniedException) occurred when calling the AddTagsToResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:AddTagsToResource on resource: arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN $ aws dms remove-tags-from-resource --resource-name arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN --tag-keys Env A client error (AccessDeniedException) occurred when calling the RemoveTagsFromResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:RemoveTagsFromResource on resource: arn:aws:dms:us-east-1:152683116:rep:46DHOU7JOJYOJXWDOZNFEN

La siguiente política limita el acceso a un AWS DMS punto final en el que el valor de la etiqueta es «Desktop» y la clave de la etiqueta es «Env».

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dms:*" ], "Effect": "Deny", "Resource": "*", "Condition": { "StringEquals": { "dms:endpoint-tag/Env": [ "Desktop" ] } } } ] }

Los siguientes comandos tienen éxito o se produce un error en función de la política de IAM que restringe el acceso cuando el valor de etiqueta es "Desktop" y la clave de etiqueta es "Env".

$ aws dms list-tags-for-resource --resource-name arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I { "TagList": [ { "Value": "Desktop", "Key": "Env" } ] } $ aws dms delete-endpoint --endpoint-arn "arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I" A client error (AccessDeniedException) occurred when calling the DeleteEndpoint operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteEndpoint on resource: arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I $ aws dms modify-endpoint --endpoint-arn "arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I" A client error (AccessDeniedException) occurred when calling the ModifyEndpoint operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:ModifyEndpoint on resource: arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I $ aws dms add-tags-to-resource --resource-name arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I --tags Key=CostCenter,Value=1234 A client error (AccessDeniedException) occurred when calling the AddTagsToResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:AddTagsToResource on resource: arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I $ aws dms remove-tags-from-resource --resource-name arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I --tag-keys Env A client error (AccessDeniedException) occurred when calling the RemoveTagsFromResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:RemoveTagsFromResource on resource: arn:aws:dms:us-east-1:152683116:endpoint:J2YCZPNGOLFY52344IZWA6I

La siguiente política limita el acceso a una tarea de replicación donde el valor de la etiqueta es "Desktop" y la clave de la etiqueta es "Env".

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dms:*" ], "Effect": "Deny", "Resource": "*", "Condition": { "StringEquals": { "dms:task-tag/Env": [ "Desktop" ] } } } ] }

Los siguientes comandos tienen éxito o se produce un error en función de la política de IAM que restringe el acceso cuando el valor de etiqueta es "Desktop" y la clave de etiqueta es "Env".

$ aws dms list-tags-for-resource --resource-name arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3 { "TagList": [ { "Value": "Desktop", "Key": "Env" } ] } $ aws dms delete-replication-task --replication-task-arn "arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3" A client error (AccessDeniedException) occurred when calling the DeleteReplicationTask operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:DeleteReplicationTask on resource: arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3 $ aws dms add-tags-to-resource --resource-name arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3 --tags Key=CostCenter,Value=1234 A client error (AccessDeniedException) occurred when calling the AddTagsToResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:AddTagsToResource on resource: arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3 $ aws dms remove-tags-from-resource --resource-name arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3 --tag-keys Env A client error (AccessDeniedException) occurred when calling the RemoveTagsFromResource operation: User: arn:aws:iam::152683116:user/dmstestusr is not authorized to perform: dms:RemoveTagsFromResource on resource: arn:aws:dms:us-east-1:152683116:task:RB7N24J2XBUPS3RFABZTG3