Erste Schritte mit Trusted-Identity Propagation für EMR Serverless - Amazon EMR

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.

Erste Schritte mit Trusted-Identity Propagation für EMR Serverless

In diesem Abschnitt können Sie die serverlose EMR-Anwendung mit Apache Livy Endpoint konfigurieren, um sie in AWS IAM Identity Center zu integrieren und die Verbreitung vertrauenswürdiger Identitäten zu aktivieren.

Voraussetzungen

  • Eine Identity Center-Instanz in der AWS Region, in der Sie EMR Serverless Apache Livy Endpoint mit Trusted Identity Propagation-fähig erstellen möchten. Eine Identity Center-Instanz kann für ein AWS Konto nur in einer einzigen Region existieren. Weitere Informationen finden Sie unter Aktivieren von IAM Identity Center und Bereitstellen der Benutzer und Gruppen aus Ihrer Identitätsquelle für IAM Identity Center.

  • Aktivieren Sie die Verbreitung vertrauenswürdiger Identitäten für nachgelagerte Dienste wie Lake Formation oder S3 Access Grants oder Amazon Redshift Redshift-Cluster, mit denen interaktive Workloads interagieren, um auf Daten zuzugreifen.

Erforderliche Berechtigungen zum Erstellen einer serverlosen EMR-Anwendung mit aktivierter Weitergabe vertrauenswürdiger Identitäten

Zusätzlich zu den grundlegenden Berechtigungen, die für den Zugriff auf EMR Serverless erforderlich sind, müssen Sie zusätzliche Berechtigungen für Ihre IAM-Identität oder Rolle konfigurieren, die verwendet wird, um EMR Serverless Application zu erstellen, die vertrauenswürdige Identitätsverbreitung aktiviert. Für die Verbreitung vertrauenswürdiger Identitäten ist EMR Serverless creates/bootstraps eine einzige dienstverwaltete Identity Center-Anwendung in Ihrem Konto, die der Dienst für die Identitätsvalidierung und die Identitätsweitergabe an nachgelagerte Bereiche nutzt.

"sso:DescribeInstance", "sso:CreateApplication", "sso:DeleteApplication", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationAssignmentConfiguration", "sso:PutApplicationGrant", "sso:PutApplicationAccessScope"
  • sso:DescribeInstance— Erteilt die Berechtigung zur Beschreibung und Validierung der IAM Identity Center-Instanz, die Sie im Parameter angeben. identity-center-configuration

  • sso:CreateApplication— Erteilt die Erlaubnis, eine von EMR Serverless verwaltete IAM Identity Center-Anwendung zu erstellen, die für Aktionen verwendet wird. trusted-identity-propatgion

  • sso:DeleteApplication— erteilt die Erlaubnis, eine von EMR Serverless verwaltete IAM Identity Center-Anwendung zu bereinigen

  • sso:PutApplicationAuthenticationMethod— Erteilt die Erlaubnis, AuthenticationMethod auf der serverlosen, verwalteten IAM Identity Center-Anwendung von EMR zu installieren, sodass der emr-serverlose Dienstprinzipal mit der IAM Identity Center-Anwendung interagieren kann.

  • sso:PutApplicationAssignmentConfiguration— Erteilt die Berechtigung, die Einstellung „U“ in der IAM Identity Center-Anwendung festzulegen. ser-assignment-not-required

  • sso:PutApplicationGrant— Erteilt die Erlaubnis, Token-Exchange-, IntrospectToken-, RefreshToken- und RevokeToken-Zuschüsse auf eine IAM Identity Center-Anwendung anzuwenden.

  • sso:PutApplicationAccessScope— Erteilt die Erlaubnis, der IAM Identity Center-Anwendung den Downstream-Bereich mit aktivierter Weitergabe vertrauenswürdiger Identitäten zuzuweisen. Wir wenden die Bereiche „redshift:connect“, „lakeformation:query“ und „s3:read_write“ an, um diese Dienste zu aktivieren. trusted-identity-propagation

Erstellen Sie eine serverlose EMR-Anwendung mit aktivierter Verbreitung vertrauenswürdiger Identitäten

Sie müssen das —identity-center-configuration Feld mit angeben, um die Weitergabe vertrauenswürdiger Identitäten in der Anwendung identityCenterInstanceArn zu aktivieren. Verwenden Sie den folgenden Beispielbefehl, um eine serverlose EMR-Anwendung zu erstellen, für die die Weitergabe vertrauenswürdiger Identitäten aktiviert ist.

Anmerkung

Sie müssen außerdem angeben--interactive-configuration '{"livyEndpointEnabled":true}', dass die Weitergabe vertrauenswürdiger Identitäten nur für Apache Livy Endpoint aktiviert ist.

aws emr-serverless create-application \ --release-label emr-7.8.0 \ --type "SPARK" \ --identity-center-configuration '{"identityCenterInstanceArn" : "arn:aws:sso:::instance/ssoins-123456789"}' \ --interactive-configuration '{"livyEndpointEnabled":true}'
  • identity-center-configuration— (optional) Aktiviert die Weitergabe vertrauenswürdiger Identitäten durch Identity Center, falls angegeben.

  • identityCenterInstanceArn – (erforderlich) Der ARN der Identity-Center-Instance.

Falls Sie nicht über die erforderlichen Identity Center-Berechtigungen (oben erwähnt) verfügen, sollten Sie zuerst die EMR Serverless Application ohne Weitergabe vertrauenswürdiger Identitäten erstellen (geben Sie beispielsweise keinen —identity-center-configuration Parameter an) und später Ihren Identity Center-Administrator bitten, die Weitergabe vertrauenswürdiger Identitäten zu aktivieren, indem Sie die Update-Application-API aufrufen, siehe Beispiel unten:

aws emr-serverless update-application \ --application-id applicationId \ --identity-center-configuration '{"identityCenterInstanceArn" : "arn:aws:sso:::instance/ssoins-123456789"}'

EMR Serverless erstellt in Ihrem Konto eine serviceverwaltete Identity Center-Anwendung, die der Service für Identitätsvalidierungen und die Weitergabe von Identitäten an nachgelagerte Dienste nutzt. Die von EMR Serverless erstellte verwaltete Identity Center-Anwendung wird von allen trusted-identity-propagation aktivierten EMR Serverless-Anwendungen in Ihrem Konto gemeinsam genutzt.

Anmerkung

Ändern Sie die Einstellungen der verwalteten Identity Center-Anwendung nicht manuell. Alle Änderungen können sich auf alle trusted-identity-propagation aktivierten EMR Serverless-Anwendungen in Ihrem Konto auswirken.

Berechtigungen der Jobausführungsrolle zur Weitergabe von Identität

Da EMR-Serverless identitätserweiterte job-execution-role Anmeldeinformationen nutzen, um Identität an nachgelagerte AWS Dienste weiterzugeben, muss die Vertrauensrichtlinie der Job Execution Role über zusätzliche Berechtigungen verfügen, um die Anmeldeinformationen für die Job Execution Role mit Identität sts:SetContext zu erweitern, um sie an nachgelagerte Dienste wie S3 Access-Grant, Lake Formation oder Amazon Redshift trusted-identity-propagation zu ermöglichen. Weitere Informationen zum Erstellen einer Rolle finden Sie unter Erstellen einer Job-Runtime-Rolle.

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

Darüber hinaus JobExecutionRole wären Berechtigungen für nachgelagerte AWS Dienste erforderlich, die Job-Run aufrufen würde, um Daten mithilfe der Benutzeridentität abzurufen. Informationen zur Konfiguration von S3 Access Grant, Lake Formation finden Sie unter den folgenden Links.