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.
Einrichten des kontoübergreifenden Zugriffs
Gehen Sie wie folgt vor, um den kontenübergreifenden Zugriff für EMR Serverless einzurichten. Im Beispiel AccountA
ist das Konto, in dem Sie Ihre Amazon EMR Serverless-Anwendung erstellt haben, und das Konto, in dem sich Ihre Amazon DynamoDB AccountB
befindet.
-
Erstellen Sie eine DynamoDB-Tabelle in.
AccountB
Weitere Informationen finden Sie unter Schritt 1: Eine Tabelle erstellen. -
Erstellen Sie eine
Cross-Account-Role-B
IAM-Rolle inAccountB
, die auf die DynamoDB-Tabelle zugreifen kann.Melden Sie sich bei der an AWS Management Console und öffnen Sie die IAM-Konsole unter. https://console.aws.amazon.com/iam/
-
Wählen Sie Rollen und erstellen Sie eine neue Rolle mit dem Namen
Cross-Account-Role-B
. Weitere Informationen zum Erstellen von IAM-Rollen finden Sie unter Erstellen von IAM-Rollen im Benutzerhandbuch. -
Erstellen Sie eine IAM-Richtlinie, die Berechtigungen für den Zugriff auf die kontoübergreifende DynamoDB-Tabelle gewährt. Fügen Sie die IAM-Richtlinie an
Cross-Account-Role-B
an.Die folgende Richtlinie gewährt Zugriff auf eine DynamoDB-Tabelle.
CrossAccountTable
{"Version": "2012-10-17", "Statement": [ {"Effect": "Allow", "Action": "dynamodb:*", "Resource": "arn:aws:dynamodb:
region
:AccountB:table/CrossAccountTable" } ] } -
So bearbeiten Sie die Vertrauensbeziehung für die
Cross-Account-Role-B
-Rolle.Um die Vertrauensstellung für die Rolle zu konfigurieren, wählen Sie in der IAM-Konsole die Registerkarte Trust Relationships für die Rolle aus, die Sie in Schritt 2 erstellt haben:. Cross-Account-Role-B
Wählen Sie Vertrauensstellung bearbeiten aus und fügen Sie dann das folgende Richtliniendokument hinzu. Dieses Dokument ermöglicht es Ihnen
Job-Execution-Role-A
, dieseCross-Account-Role-B
RolleAccountA
zu übernehmen.{"Version": "2012-10-17", "Statement": [ {"Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::AccountA:role/Job-Execution-Role-A" }, "Action": "sts:AssumeRole" } ] }
-
Geben
Job-Execution-Role-A
Sie ein undAccountA
erhalten- STS Assume role
Sie die erforderlichen Rechte zur ÜbernahmeCross-Account-Role-B
.Wählen Sie in der IAM-Konsole für die AWS-Konto
AccountA
Option ausJob-Execution-Role-A
. Fügen Sie die folgende Richtlinienanweisung zuJob-Execution-Role-A
hinzu, um dieAssumeRole
-Aktion in der RolleCross-Account-Role-B
zu verweigern.{"Version": "2012-10-17", "Statement": [ {"Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::AccountB:role/Cross-Account-Role-B" } ] }
-
Stellen Sie die
dynamodb.customAWSCredentialsProvider
Eigenschaft mit einem Wert wiecom.amazonaws.emr.AssumeRoleAWSCredentialsProvider
bei der Core-Site-Klassifizierung ein. Setzen Sie die Umgebungsvariable aufASSUME_ROLE_CREDENTIALS_ROLE_ARN
den ARN-Wert vonCross-Account-Role-B
.
-
Führen Sie den Spark- oder Hive-Job aus mit
Job-Execution-Role-A
.