View a markdown version of this page

Identitäts- und Zugriffsmanagement für AWS Database Migration Service - AWS Datenbankmigrationsdienst

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.

Identitäts- und Zugriffsmanagement für AWS Database Migration Service

AWS Identity and Access Management (IAM) ist ein Programm AWS-Service , das einem Administrator hilft, den Zugriff auf AWS Ressourcen sicher zu kontrollieren. IAM-Administratoren kontrollieren, wer zur Nutzung von Ressourcen authentifiziert (angemeldet) und autorisiert werden kann (über Berechtigungen verfügt). AWS DMS IAM ist eine AWS-Service , die Sie ohne zusätzliche Kosten verwenden können.

Zielgruppe

Wie Sie AWS Identity and Access Management (IAM) verwenden, hängt von Ihrer Rolle ab:

Authentifizierung mit Identitäten

Bei der Authentifizierung melden Sie sich AWS mit Ihren Identitätsdaten an. Sie müssen als IAM-Benutzer oder als IAM-Benutzer authentifiziert sein, indem Sie eine IAM-Rolle übernehmen. Root-Benutzer des AWS-Kontos

Sie können sich mit Anmeldeinformationen aus einer Identitätsquelle wie AWS IAM Identity Center (IAM Identity Center), Single Sign-On-Authentifizierung oder Anmeldeinformationen als Verbundidentität anmelden. Google/Facebook Weitere Informationen zum Anmelden finden Sie unter So melden Sie sich bei Ihrem AWS-Konto an im Benutzerhandbuch für AWS-Anmeldung .

AWS Stellt für den programmatischen Zugriff ein SDK und eine CLI zum kryptografischen Signieren von Anfragen bereit. Weitere Informationen finden Sie unter AWS Signature Version 4 for API requests im IAM-Benutzerhandbuch.

AWS-Konto Root-Benutzer

Wenn Sie einen erstellen AWS-Konto, beginnen Sie mit einer Anmeldeidentität, dem AWS-Konto Root-Benutzer, der vollständigen Zugriff auf alle AWS-Services Ressourcen hat. Wir raten ausdrücklich davon ab, den Root-Benutzer für Alltagsaufgaben zu verwenden. Eine Liste der Aufgaben, für die Sie sich als Root-Benutzer anmelden müssen, finden Sie unter Tasks that require root user credentials im IAM-Benutzerhandbuch.

IAM-Benutzer und -Gruppen

Ein IAM-Benutzer ist eine Identität mit bestimmten Berechtigungen für eine einzelne Person oder Anwendung. Wir empfehlen die Verwendung temporärer Anmeldeinformationen anstelle von IAM-Benutzern mit langfristigen Anmeldeinformationen. Weitere Informationen finden Sie im IAM-Benutzerhandbuch unter Erfordern, dass menschliche Benutzer einen Verbund mit einem Identitätsanbieter verwenden, um AWS mithilfe temporärer Anmeldeinformationen auf den Zugriff zuzugreifen.

Eine IAM-Gruppe spezifiziert eine Sammlung von IAM-Benutzern und erleichtert die Verwaltung von Berechtigungen für große Gruppen von Benutzern. Weitere Informationen finden Sie unter Anwendungsfälle für IAM-Benutzer im IAM-Benutzerhandbuch.

IAM-Rollen

Eine IAM-Rolle ist eine Identität mit spezifischen Berechtigungen, die temporäre Anmeldeinformationen bereitstellt. Sie können eine Rolle übernehmen, indem Sie von einer Benutzer- zu einer IAM-Rolle (Konsole) wechseln AWS CLI oder eine AWS API-Operation aufrufen. Weitere Informationen finden Sie unter Methoden, um eine Rolle zu übernehmen im IAM-Benutzerhandbuch.

IAM-Rollen sind nützlich für den Verbundbenutzer-Zugriff, temporäre IAM-Benutzerberechtigungen, kontoübergreifenden Zugriff, serviceübergreifenden Zugriff und Anwendungen, die auf Amazon EC2 laufen. Weitere Informationen finden Sie unter Kontoübergreifender Ressourcenzugriff in IAM im IAM-Benutzerhandbuch.

Verwalten des Zugriffs mit Richtlinien

Sie steuern den Zugriff, AWS indem Sie Richtlinien erstellen und sie an AWS Identitäten oder Ressourcen anhängen. Eine Richtlinie definiert Berechtigungen, wenn sie einer Identität oder Ressource zugeordnet sind. AWS wertet diese Richtlinien aus, wenn ein Principal eine Anfrage stellt. Die meisten Richtlinien werden AWS als JSON-Dokumente gespeichert. Weitere Informationen zu JSON-Richtliniendokumenten finden Sie unter Übersicht über JSON-Richtlinien im IAM-Benutzerhandbuch.

Mit Hilfe von Richtlinien legen Administratoren fest, wer Zugriff auf was hat, indem sie definieren, welches Prinzipal welche Aktionen auf welchen Ressourcenund unter welchen Bedingungendurchführen darf.

Standardmäßig haben Benutzer, Gruppen und Rollen keine Berechtigungen. Ein IAM-Administrator erstellt IAM-Richtlinien und fügt sie zu Rollen hinzu, die die Benutzer dann übernehmen können. IAM-Richtlinien definieren Berechtigungen unabhängig von der Methode, die zur Ausführung der Operation verwendet wird.

Identity-based Richtlinien

Identity-based Richtlinien sind Richtliniendokumente für JSON-Berechtigungen, die Sie an eine Identität (Benutzer, Gruppe oder Rolle) anhängen. Diese Richtlinien steuern, welche Aktionen Identitäten für welche Ressourcen und unter welchen Bedingungen ausführen können. Informationen zum Erstellen identitätsbasierter Richtlinien finden Sie unter Definieren benutzerdefinierter IAM-Berechtigungen mit vom Kunden verwalteten Richtlinien im IAM-Benutzerhandbuch.

Identity-based Richtlinien können integrierte Richtlinien (direkt in eine einzelne Identität eingebettet) oder verwaltete Richtlinien (eigenständige Richtlinien, die mehreren Identitäten zugeordnet sind) sein. Informationen dazu, wie Sie zwischen verwalteten und Inline-Richtlinien wählen, finden Sie unter Choose between managed policies and inline policies im IAM-Benutzerhandbuch.

Resource-based Richtlinien

Resource-based Richtlinien sind JSON-Richtliniendokumente, die Sie an eine Ressource anhängen. Beispiele hierfür sind Vertrauensrichtlinien für IAM-Rollen und Amazon S3-Bucket-Richtlinien. In Services, die ressourcenbasierte Richtlinien unterstützen, können Service-Administratoren sie verwenden, um den Zugriff auf eine bestimmte Ressource zu steuern. Sie müssen in einer ressourcenbasierten Richtlinie einen Prinzipal angeben.

Resource-based Richtlinien sind Inline-Richtlinien, die sich in diesem Dienst befinden. Sie können AWS verwaltete Richtlinien von IAM nicht in einer ressourcenbasierten Richtlinie verwenden.

Zugriffssteuerungslisten (ACLs)

Zugriffssteuerungslisten (ACLs) steuern, welche Prinzipale (Kontomitglieder, Benutzer oder Rollen) auf eine Ressource zugreifen können. ACLs sind ähnlich wie ressourcenbasierte Richtlinien, verwenden jedoch nicht das JSON-Richtliniendokumentformat.

Amazon S3 und Amazon VPC sind Beispiele für Dienste AWS WAF, die ACLs unterstützen. Weitere Informationen“ zu ACLs finden Sie unter Zugriffskontrollliste (ACL) – Übersicht (Access Control List) im Amazon-Simple-Storage-Service-Entwicklerhandbuch.

Weitere Richtlinientypen

AWS unterstützt zusätzliche Richtlinientypen, mit denen die maximale Anzahl von Berechtigungen festgelegt werden kann, die durch gängigere Richtlinientypen gewährt werden:

  • Berechtigungsgrenzen – Eine Berechtigungsgrenze legt die maximalen Berechtigungen fest, die eine identitätsbasierte Richtlinie einer IAM-Entität erteilen kann. Weitere Informationen finden Sie unter Berechtigungsgrenzen für IAM-Entitäten im -IAM-Benutzerhandbuch.

  • Service-Kontrollrichtlinien (SCPs) – SCPs legen die maximalen Berechtigungen für eine Organisation oder Organisationseinheit in AWS Organizations fest. Weitere Informationen finden Sie unter Service-Kontrollrichtlinien im AWS Organizations -Benutzerhandbuch.

  • Ressourcen-Kontrollrichtlinien (RCPs) – RCPs definieren die maximale Anzahl an Berechtigungen, die Ressourcen in Ihren Konten zur Verfügung stehen. Weitere Informationen finden Sie unter Ressourcen-Kontrollrichtlinien im AWS Organizations -Benutzerhandbuch.

  • Sitzungsrichtlinien – Sitzungsrichtlinien sind erweiterte Richtlinien, die als Parameter übergeben werden, wenn Sie eine temporäre Sitzung für eine Rolle oder einen Verbundbenutzer erstellen. Weitere Informationen finden Sie unter Sitzungsrichtlinien im IAM-Benutzerhandbuch.

Mehrere Richtlinientypen

Wenn mehrere Arten von Richtlinien für eine Anfrage gelten, sind die daraus resultierenden Berechtigungen komplizierter zu verstehen. Informationen darüber, wie AWS bestimmt wird, ob eine Anfrage zulässig ist, wenn mehrere Richtlinientypen betroffen sind, finden Sie im IAM-Benutzerhandbuch unter Logik zur Richtlinienauswertung.

Für die Verwendung sind IAM-Berechtigungen erforderlich AWS DMS

Sie verwenden bestimmte IAM-Berechtigungen und IAM-Rollen zur Verwendung von AWS DMS. Wenn Sie als IAM-Benutzer angemeldet sind und diese verwenden möchten AWS DMS, muss Ihr Kontoadministrator die in diesem Abschnitt erläuterte Richtlinie an den IAM-Benutzer, die IAM-Gruppe oder -Rolle anhängen, den Sie zur Ausführung verwenden. AWS DMS Weitere Informationen zu IAM-Berechtigungen finden Sie im IAM-Benutzerhandbuch.

Mit der folgenden Richtlinie erhalten Sie Zugriff auf bestimmte Aktionen AWS DMS, die von anderen Amazon-Diensten wie IAM, Amazon EC2 und Amazon aus erforderlich sind AWS KMS, und auch Berechtigungen für diese. CloudWatch CloudWatchüberwacht Ihre AWS DMS Migration in Echtzeit und sammelt und verfolgt Kennzahlen, die den Fortschritt Ihrer Migration angeben. Sie können CloudWatch Logs verwenden, um Probleme mit einer Aufgabe zu debuggen.

Anmerkung

Sie können den Zugriff auf AWS DMS Ressourcen mithilfe von Tagging weiter einschränken. Weitere Informationen zur Beschränkung des Zugriffs auf AWS DMS Ressourcen mithilfe von Tagging finden Sie unter. Fine-grained Zugriffskontrolle mithilfe von Ressourcennamen und Tags

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dms:*", "Resource": "arn:aws:dms:*:123456789012:*" }, { "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey" ], "Resource": "arn:aws:kms:*:123456789012:key/*" }, { "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "arn:aws:iam::123456789012:role/*", "Condition": { "StringEquals": { "iam:PassedToService": "dms.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeInternetGateways", "ec2:DescribeAvailabilityZones", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:ModifyNetworkInterfaceAttribute", "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudwatch:Get*", "cloudwatch:List*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "arn:aws:logs:*:123456789012:*" } ] }

Die Aufschlüsselung dieser Berechtigungen hilft Ihnen zu verstehen, warum die einzelnen Berechtigungen nötig sind.

Der folgende Abschnitt ist erforderlich, damit der Benutzer AWS DMS API-Operationen aufrufen kann.

{ "Effect": "Allow", "Action": "dms:*", "Resource": "arn:aws:dms:region:account:resourcetype/id" }

Der folgende Abschnitt ist erforderlich, damit der Benutzer seine verfügbaren AWS KMS Schlüssel und Alias zur Anzeige in der Konsole auflisten kann. Dieser Eintrag ist nicht erforderlich, wenn Sie den Amazon-Ressourcennamen (ARN) für den KMS-Schlüssel kennen und nur den AWS Command Line Interface (AWS CLI) verwenden.

{ "Effect": "Allow", "Action": [ "kms:ListAliases", "kms:DescribeKey" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

Der folgende Abschnitt ist für bestimmte Endpunkttypen erforderlich, die die Übergabe eines IAM-Rollen-ARN mit dem Endpunkt erfordern. Außerdem kann die AWS DMS Konsole die Rolle erstellen, wenn die erforderlichen AWS DMS Rollen nicht im Voraus erstellt werden. Wenn alle Rollen vorab konfiguriert werden, sind nur iam:GetRole und iam:PassRole erforderlich. Weitere Informationen zu Rollen finden Sie unter Erstellen der IAM-Rollen zur Verwendung mit AWS DMS.

{ "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

Der folgende Abschnitt ist AWS DMS erforderlich, da die Amazon EC2-Instance erstellt und das Netzwerk für die erstellte Replikationsinstanz konfiguriert werden muss. Diese Ressourcen sind im Konto des Kunden vorhanden, deshalb muss es möglich sein, diese Aktionen im Namen des Kunden auszuführen.

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

Der folgende Abschnitt ist erforderlich, damit der Benutzer Replikations-Instance-Metriken anzeigen kann.

{ "Effect": "Allow", "Action": [ "cloudwatch:Get*", "cloudwatch:List*" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

Dieser Abschnitt ist erforderlich, damit der Benutzer Replikationsprotokolle anzeigen kann.

{ "Effect": "Allow", "Action": [ "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:FilterLogEvents", "logs:GetLogEvents" ], "Resource": "arn:aws:service:region:account:resourcetype/id" }

Wenn Sie die AWS DMS Konsole, die AWS Command Line Interface (AWS CLI) oder die AWS DMS API für Ihre Migration verwenden, müssen Sie Ihrem Konto mehrere Rollen hinzufügen. Weitere Informationen zum Hinzufügen dieser Rollen finden Sie unter Erstellen der IAM-Rollen zur Verwendung mit AWS DMS.

Erstellen der IAM-Rollen zur Verwendung mit AWS DMS

Wenn Sie die AWS DMS Konsole, die AWS CLI oder die AWS DMS API für Ihre Datenbankmigration verwenden, müssen Sie Ihrem AWS Konto drei IAM-Rollen hinzufügen, bevor Sie die Funktionen von verwenden können. AWS DMS Zwei dieser Optionen sind dms-vpc-role und dms-cloudwatch-logs-role. Wenn Sie Amazon Redshift als Zieldatenbank verwenden, müssen Sie Ihrem Konto auch die IAM-Rolle dms-access-for-endpoint hinzufügen. AWS

Wichtig

Sie müssen genau diese Rollennamen wie abgebildet verwenden: dms-vpc-roledms-cloudwatch-logs-role, und. dms-access-for-endpoint AWS DMS sucht nach diesen Rollen anhand des Namens. Wenn Sie benutzerdefinierte Rollennamen verwenden, AWS DMS können Sie die Rollen nicht finden und der Dienst funktioniert nicht richtig.

Aktualisierungen zu verwalteten Richtlinien erfolgen automatisch. Wenn Sie eine benutzerdefinierte Richtlinie mit den IAM-Rollen verwenden, stellen Sie sicher, dass Sie regelmäßig überprüfen, ob Aktualisierungen für die verwaltete Richtlinie in dieser Dokumentation vorliegen. Sie können die Details der verwalteten Richtlinie anzeigen, indem Sie eine Kombination der Befehle get-policy und get-policy-version verwenden.

Der folgende get-policy-Befehl ruft beispielsweise Informationen über die angegebene IAM-Rolle ab.

aws iam get-policy --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole

Die von dem Befehl zurückgegebenen Informationen sind wie folgt.

{ "Policy": { "PolicyName": "AmazonDMSVPCManagementRole", "PolicyId": "ANPAJHKIGMBQI4AEFFSYO", "Arn": "arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole", "Path": "/service-role/", "DefaultVersionId": "v4", "AttachmentCount": 1, "PermissionsBoundaryUsageCount": 0, "IsAttachable": true, "Description": "Provides access to manage VPC settings for AWS managed customer configurations", "CreateDate": "2015-11-18T16:33:19+00:00", "UpdateDate": "2024-07-25T15:19:01+00:00", "Tags": [] } }

Mit dem folgenden get-policy-version-Befehl werden IAM-Richtlinieninformationen abgerufen.

aws iam get-policy-version --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole --version-id v4

Die von dem Befehl zurückgegebenen Informationen sind wie folgt.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ExampleStatementID", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeAvailabilityZones", "ec2:DescribeDhcpOptions", "ec2:DescribeInternetGateways", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:ModifyNetworkInterfaceAttribute" ], "Resource": "*" } ] }

Sie können dieselben Befehle verwenden, um Informationen über AmazonDMSCloudWatchLogsRole und die AmazonDMSRedshiftS3Role-verwaltete Richtlinie abrufen.

Mit den folgenden Verfahren werden die IAM-Rollen dms-vpc-role, dms-cloudwatch-logs-role und dms-access-for-endpoint erstellt.

Um die IAM-Rolle dms-vpc-role zur Verwendung mit dem zu erstellen AWS CLI oder AWS DMS API
  1. Erstellen Sie eine JSON-Datei mit der folgenden IAM-Richtlinie. Weisen Sie der JSON-Datei die Bezeichnung dmsAssumeRolePolicyDocument.json zu.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    Erstellen Sie die Rolle mithilfe des folgenden AWS CLI Befehls.

    aws iam create-role --role-name dms-vpc-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument.json
  2. Fügen Sie die Richtlinie AmazonDMSVPCManagementRole mithilfe des folgenden Befehls an dms-vpc-role an.

    aws iam attach-role-policy --role-name dms-vpc-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSVPCManagementRole
So erstellen Sie die IAM-Rolle dms-cloudwatch-logs-role zur Verwendung mit AWS CLI oder AWS DMS API
  1. Erstellen Sie eine JSON-Datei mit der folgenden IAM-Richtlinie. Weisen Sie der JSON-Datei die Bezeichnung dmsAssumeRolePolicyDocument2.json zu.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

    Erstellen Sie die Rolle mithilfe des folgenden Befehls. AWS CLI

    aws iam create-role --role-name dms-cloudwatch-logs-role --assume-role-policy-document file://dmsAssumeRolePolicyDocument2.json
  2. Fügen Sie die Richtlinie AmazonDMSCloudWatchLogsRole mithilfe des folgenden Befehls an dms-cloudwatch-logs-role an.

    aws iam attach-role-policy --role-name dms-cloudwatch-logs-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSCloudWatchLogsRole

Wenn Sie Amazon Redshift als Zieldatenbank verwenden, müssen Sie die IAM-Rolle dms-access-for-endpoint erstellen, um den Zugriff auf Amazon S3 zu ermöglichen.

So erstellen Sie die IAM-Rolle dms-access-for-endpoint zur Verwendung mit Amazon Redshift als Zieldatenbank
  1. Erstellen Sie eine JSON-Datei mit der folgenden IAM-Richtlinie. Weisen Sie der JSON-Datei die Bezeichnung dmsAssumeRolePolicyDocument3.json zu.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "1", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Sid": "2", "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Erstellen Sie die Rolle AWS CLI mithilfe des folgenden Befehls.

    aws iam create-role --role-name dms-access-for-endpoint --assume-role-policy-document file://dmsAssumeRolePolicyDocument3.json
  3. Fügen Sie die Richtlinie AmazonDMSRedshiftS3Role mithilfe des folgenden Befehls an die Rolle dms-access-for-endpoint an.

    aws iam attach-role-policy --role-name dms-access-for-endpoint \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonDMSRedshiftS3Role

Sie sollten jetzt über die IAM-Richtlinien verfügen, um die AWS CLI AWS DMS OR-API verwenden zu können.