Differenzierte Zugriffskontrolle mit Ressourcennamen und Ressourcen-Tags - AWS Database Migration Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Differenzierte Zugriffskontrolle mit Ressourcennamen und Ressourcen-Tags

Sie können Ressourcennamen und Ressourcen-Tags basierend auf Amazon-Ressourcennamen (ARNs) verwenden, um den Zugriff auf AWS DMS-Ressourcen zu verwalten. Dazu definieren Sie erlaubte Aktionen oder schließen Bedingungsanweisungen in IAM-Richtlinien ein.

Verwenden von Ressourcennamen für die Zugriffskontrolle

Sie können ein IAM-Benutzerkonto erstellen und eine Richtlinie basierend auf dem ARN der AWS DMS-Ressource zuweisen.

Mit der folgenden Richtlinie wird der Zugriff auf die AWS DMS-Replikations-Instance mit dem ARN arn:aws:dms:us-east-1:152683116:rep:DOH67ZTOXGLIXMIHKITV verweigert:

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

Bei diesem Beispiel würden bei Geltung der Richtlinie die folgenden Befehle fehschlagen:

$ 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

Sie können auch IAM-Richtlinien angeben, die den Zugriff auf AWS DMS-Endpunkte und Replikationsaufgaben einschränken.

Mit der folgenden Richtlinie wird der Zugriff auf einen AWS DMS-Endpunkt mithilfe des ARN des Endpunkts eingeschränkt:

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

Hier würden beispielsweise die folgenden Befehle fehlschlagen, wenn die Richtlinie, die den ARN des Endpunkts verwendet, gelten würde:

$ 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

Mit der folgenden Richtlinie wird der Zugriff auf eine AWS DMS-Aufgabe mithilfe des ARN der Aufgabe eingeschränkt:

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

Hier würden beispielsweise die folgenden Befehle fehlschlagen, wenn die Richtlinie, die den ARN der Aufgabe verwendet, gelten würde.

$ 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

Verwendung von Tags zur Zugriffssteuerung

AWS DMS definiert eine Reihe allgemeiner Schlüssel-Wert-Paare, die in benutzerdefinierten Richtlinien ohne zusätzliche Tagging-Anforderungen verfügbar sind. Weitere Informationen über das Markieren von AWS DMS-Ressourcen mit Tags finden Sie unter Tagging von Ressourcen im AWS Database Migration Service.

Die folgende Liste enthält die Standard-Tags für die Verwendung mit AWS DMS:

  • aws:CurrentTime – Stellt das Datum und die Uhrzeit der Anforderung dar, sodass eine Beschränkung des Zugriffs basierend auf zeitlichen Kriterien möglich ist.

  • aws:EpochTime – Dieses Tag ähnelt dem obigen aws:CurrentTime-Tag, mit der Ausnahme, dass die aktuelle Zeit in Form der verstrichenen Sekunden seit der Unix-Epoche dargestellt wird.

  • aws:MultiFactorAuthPresent – Hierbei handelt es sich um ein boolesches Tag, das angibt, ob die Anforderung mit Multi-Faktor-Authentifizierung signiert wurde.

  • aws:MultiFactorAuthAge – Bietet Zugriff auf das Alter des Tokens der Multi-Factor Authentication (in Sekunden).

  • aws:principaltype – Bietet Zugriff auf den Prinzipaltyp (Benutzer, Konto, Verbundbenutzer usw.) für die aktuelle Anforderung.

  • aws:SourceIp – Stellt die Quell-IP-Adresse für den Benutzer dar, der die Anforderung ausgibt.

  • aws:UserAgent – Bietet Informationen über die Client-Anwendung, die eine Ressource angefordert hat.

  • aws:userid – Bietet Zugriff auf die ID des Benutzers, der die Anforderung ausgibt.

  • aws:username – Bietet Zugriff auf den Namen des Benutzers, der die Anforderung ausgibt.

  • dms:InstanceClass – Bietet Zugriff auf die Datenverarbeitungsgröße der/s Replikations-Instance-Hosts.

  • dms:StorageSize – Bietet Zugriff auf die Speichergröße (in GB).

Sie können auch eigene Tags definieren. Benutzerdefinierte Tags sind einfache Schlüssel-Wert-Paare, die im AWS-Tagging-Service persistent sind. Sie können diese zu AWS DMS-Ressourcen hinzufügen, einschließlich Replikations-Instances, Endpunkte und Aufgaben. Diese Tags werden durch das Verwenden von "konditionalen" IAM-Anweisungen in Richtlinien abgestimmt. Der Verweis auf diese Tags erfolgt mittels eines spezifischen konditionalen Tags. Die Tag-Schlüssel weisen das Präfix "dms", den Ressourcentyp und das "tag"-Präfix auf. Im Folgenden sehen Sie das Tag-Format.

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

Angenommen, Sie möchten eine Richtlinie definieren, durch die ein API-Aufruf nur dann erfolgreich durchgeführt werden kann, wenn eine Replikations-Instance das Tag "stage=production" enthält. Die folgende Bedingungsanweisung stimmt mit einer Ressource mit dem angegebenen Tag überein.

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

Sie fügen das folgende Tag zu einer Replikations-Instance hinzu, die mit dieser Richtlinienbedingung übereinstimmt.

stage production

Zusätzlich zu bereits zu den AWS DMS-Ressourcen hinzugefügten Tags können Richtlinien auch erstellt werden, um die Tag-Schlüssel und -Werte zu begrenzen, die auf eine bestimmte Ressource angewendet werden können. In diesem Fall ist das Tag-Präfix "req".

Mit der folgenden Richtlinienanweisung werden die Tags auf eine bestimmte Liste zulässiger Werte beschränkt, die ein Benutzer einer bestimmten Ressource zuweisen kann.

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

Die folgenden Richtlinienbeispiele beschränken den Zugriff auf eine AWS DMS-Ressource basierend auf Ressourcen-Tags.

Die folgende Richtlinie beschränkt den Zugriff auf eine Replikations-Instance, bei der der Tag-Wert "Desktop" und der Tag-Schlüssel "Env" ist:

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

Die folgenden Befehle können erfolgreich ausgeführt werden oder schlagen fehl. Dies hängt von der IAM-Richtlinie ab, die den Zugriff einschränkt, wenn der Tag-Wert "Desktop" und der Tag-Schlüssel "Env" ist.

$ 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

Die folgende Richtlinie beschränkt den Zugriff auf einen AWS DMS-Endpunkt, bei dem der Tag-Wert „Desktop“ und der Tag-Schlüssel „Env“ ist.

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

Die folgenden Befehle können erfolgreich ausgeführt werden oder schlagen fehl. Dies hängt von der IAM-Richtlinie ab, die den Zugriff einschränkt, wenn der Tag-Wert "Desktop" und der Tag-Schlüssel "Env" ist.

$ 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

Die folgende Richtlinie beschränkt den Zugriff auf eine Replikationsaufgabe, bei der der Tag-Wert "Desktop" und der Tag-Schlüssel "Env" ist.

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

Die folgenden Befehle können erfolgreich ausgeführt werden oder schlagen fehl. Dies hängt von der IAM-Richtlinie ab, die den Zugriff einschränkt, wenn der Tag-Wert "Desktop" und der Tag-Schlüssel "Env" ist.

$ 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