Controle de acesso minucioso com o uso de nomes de recursos e tags - AWS Database Migration Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Controle de acesso minucioso com o uso de nomes de recursos e tags

Você pode usar nomes e tags de recursos com base nos Amazon Resource Names (ARNs) para gerenciar o acesso aos AWS DMS recursos. Para fazer isso, defina a ação permitida ou inclua instruções condicionais em políticas do IAM.

Usar nomes de recursos para controle de acesso

É possível criar uma conta de usuário do IAM e atribuir uma política com base no ARN do recurso do AWS DMS .

A política a seguir nega acesso à instância de AWS DMS replicação com o 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 exemplo, os comandos a seguir poderão falhar quando a política estiver em 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

Você também pode especificar políticas do IAM que limitam o acesso aos AWS DMS endpoints e às tarefas de replicação.

A política a seguir limita o acesso a um AWS DMS endpoint usando o ARN do endpoint.

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

Por exemplo, os comandos a seguir poderão falhar quando a política que utiliza o ARN do endpoint estiver em 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

A política a seguir limita o acesso a uma AWS DMS tarefa usando o ARN da tarefa.

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

Por exemplo, os comandos a seguir poderão falhar quando a política que utiliza o ARN da tarefa estiver em 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 tags para controlar o acesso

AWS DMS define um conjunto de pares de valores-chave comuns que estão disponíveis para uso em políticas definidas pelo cliente sem nenhum requisito adicional de marcação. Para obter mais informações sobre a marcação de AWS DMS recursos, consulteMarcar recursos no AWS Database Migration Service.

A seguir, são listadas as tags padrão disponíveis para uso com AWS DMS:

  • aws: CurrentTime — Representa a data e a hora da solicitação, permitindo a restrição de acesso com base em critérios temporais.

  • aws: EpochTime — Essa tag é semelhante à CurrentTime tag aws: anterior, exceto que a hora atual é representada como o número de segundos decorridos desde a época do Unix.

  • aws: MultiFactorAuthPresent — Essa é uma tag booleana que indica se a solicitação foi assinada por meio de autenticação multifatorial.

  • aws: MultiFactorAuthAge — Fornece acesso à idade do token de autenticação multifatorial (em segundos).

  • aws:principaltype: concede acesso ao tipo de entidade principal (usuário, conta, usuário federado etc.) da solicitação atual.

  • aws: SourceIp — Representa o endereço IP de origem do usuário que está emitindo a solicitação.

  • aws: UserAgent — Fornece informações sobre o aplicativo cliente solicitando um recurso.

  • aws:userid: fornece acesso ao ID do usuário emissor da solicitação.

  • aws:username: fornece acesso ao nome do usuário emissor da solicitação.

  • dms: InstanceClass — Fornece acesso ao tamanho computacional do (s) host (s) da instância de replicação.

  • dms: StorageSize — Fornece acesso ao tamanho do volume de armazenamento (em GB).

Você também pode definir suas próprias tags. As tags definidas pelo cliente são pares simples de valores-chave que persistem no serviço de marcação. AWS Você pode adicioná-las a recursos do AWS DMS , incluindo instâncias de replicação, endpoints e tarefas. Essas tags são correspondidas utilizando instruções "Condicionais" do IAM em políticas, e são referenciadas utilizando uma tag condicional específica. As chaves das tags têm o prefixo "dms", o tipo de recurso e o prefixo "tag". Veja o formato da tag a seguir.

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

Por exemplo, suponha que você queira definir uma política que permita que apenas uma chamada à API tenha êxito em uma instância de replicação que contém a tag "stage=production". A instrução·condicional a seguir corresponde a um recurso com a tag especificada.

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

Você adiciona a seguinte tag a uma instância de replicação que corresponde a essa condição de política.

stage production

Além das tags já atribuídas aos AWS DMS recursos, as políticas também podem ser escritas para limitar as chaves e os valores das tags que podem ser aplicados a um determinado recurso. Nesse caso, o prefixo da tag é "req".

Por exemplo, a seguinte instrução de política limita as tags que um usuário pode atribuir a determinado recurso a uma lista específica de valores permitidos.

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

Os exemplos de políticas a seguir limitam o acesso a um AWS DMS recurso com base em tags de recursos.

A seguinte política limita o acesso a uma instância de replicação em que o valor da tag é "Desktop", e a chave de tags é "Env":

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

Os comandos a seguir podem ter êxito ou falha de acordo com a política do IAM que restringe o acesso quando o valor da tag é "Desktop", e a chave da tag é "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

A política a seguir limita o acesso a um AWS DMS endpoint em que o valor da tag é “Desktop” e a chave da tag é “Env”.

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

Os comandos a seguir podem ter êxito ou falha de acordo com a política do IAM que restringe o acesso quando o valor da tag é "Desktop", e a chave da tag é "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

A política a seguir limita o acesso a uma tarefa de replicação em que o valor da tag é "Desktop", e a chave da tag é "Env".

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

Os comandos a seguir podem ter êxito ou falha de acordo com a política do IAM que restringe o acesso quando o valor da tag é "Desktop", e a chave da tag é "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