View a markdown version of this page

Configurazione di una propagazione affidabile delle identità con Amazon EMR Studio - Centro identità AWS IAM

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione di una propagazione affidabile delle identità con Amazon EMR Studio

La seguente procedura illustra come configurare Amazon EMR Studio per la propagazione affidabile delle identità nelle query su gruppi di lavoro Amazon Athena o cluster Amazon EMR in esecuzione. Apache Spark

Prerequisiti

Prima di iniziare con questo tutorial, devi configurare quanto segue:

Per completare la configurazione di una propagazione affidabile delle identità da Amazon EMR Studio, l'amministratore di EMR Studio deve eseguire i seguenti passaggi.

Passaggio 1. Crea i ruoli IAM richiesti per EMR Studio

In questo passaggio, l'Studioamministratore di Amazon EMR crea un ruolo di servizio IAM e un ruolo utente IAM per EMR. Studio

  1. Crea un ruolo di servizio EMR Studio : EMR Studio assume questo ruolo IAM per gestire in modo sicuro spazi di lavoro e notebook, connettersi ai cluster e gestire le interazioni con i dati.

    1. Accedi alla console IAM () e crea un ruolo IAM. https://console.aws.amazon.com/iam/

    2. Seleziona Servizio AWS come entità attendibile, quindi scegli Amazon EMR. Allega le seguenti politiche per definire le autorizzazioni e la relazione di fiducia del ruolo.

      Per utilizzare questi criteri, sostituisci i italicized placeholder text criteri di esempio con le tue informazioni. Per ulteriori indicazioni, consulta Creare una policy o Modificare una policy.

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Sid": "ObjectActions", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::Your-S3-Bucket-For-EMR-Studio/*" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "Your-AWS-Account-ID" } } }, { "Sid": "BucketActions", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetEncryptionConfiguration" ], "Resource": [ "arn:aws:s3:::Your-S3-Bucket-For-EMR-Studio" ], "Condition": { "StringEquals": { "aws:ResourceAccount": "Your-AWS-Account-ID" } } } ] }

      Per un riferimento a tutte le autorizzazioni relative ai ruoli di servizio, vedere le autorizzazioni relative ai ruoli di servizio di EMR Studio.

  2. Crea un ruolo utente EMR Studio per l'autenticazione IAM Identity Center : EMR Studio assume questo ruolo quando un utente accede tramite IAM Identity Center per gestire spazi di lavoro, cluster EMR, job, repository git. Questo ruolo viene utilizzato per avviare il flusso di lavoro di propagazione delle identità affidabili.

    Nota

    Il ruolo utente di EMR Studio non deve includere le autorizzazioni per accedere alle posizioni Amazon S3 delle tabelle in Catalog. AWS Glue AWS Lake Formation le autorizzazioni e le località lacustri registrate verranno utilizzate per ricevere autorizzazioni temporanee.

    La seguente politica di esempio può essere utilizzata in un ruolo che consente a un utente di EMR Studio di utilizzare i gruppi di lavoro Athena per eseguire query.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "AllowDefaultEC2SecurityGroupsCreationInVPCWithEMRTags", "Effect": "Allow", "Action": [ "ec2:CreateSecurityGroup" ], "Resource": [ "arn:aws:ec2:*:*:vpc/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/for-use-with-amazon-emr-managed-policies": "true" } } }, { "Sid": "AllowAddingEMRTagsDuringDefaultSecurityGroupCreation", "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:security-group/*", "Condition": { "StringEquals": { "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true", "ec2:CreateAction": "CreateSecurityGroup" } } }, { "Sid": "AllowSecretManagerListSecrets", "Action": [ "secretsmanager:ListSecrets" ], "Resource": "*", "Effect": "Allow" }, { "Sid": "AllowSecretCreationWithEMRTagsAndEMRStudioPrefix", "Effect": "Allow", "Action": "secretsmanager:CreateSecret", "Resource": "arn:aws:secretsmanager:*:*:secret:emr-studio-*", "Condition": { "StringEquals": { "aws:RequestTag/for-use-with-amazon-emr-managed-policies": "true" } } }, { "Sid": "AllowAddingTagsOnSecretsWithEMRStudioPrefix", "Effect": "Allow", "Action": "secretsmanager:TagResource", "Resource": "arn:aws:secretsmanager:*:*:secret:emr-studio-*" }, { "Sid": "AllowPassingServiceRoleForWorkspaceCreation", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::111122223333:role/service-role/AmazonEMRStudio_ServiceRole_Name" ], "Effect": "Allow" }, { "Sid": "AllowS3ListAndLocationPermissions", "Action": [ "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::*", "Effect": "Allow" }, { "Sid": "AllowS3ReadOnlyAccessToLogs", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::aws-logs-Your-AWS-Account-ID-Region/elasticmapreduce/*" ], "Effect": "Allow" }, { "Sid": "AllowAthenaQueryExecutions", "Effect": "Allow", "Action": [ "athena:StartQueryExecution", "athena:GetQueryExecution", "athena:GetQueryResults", "athena:StopQueryExecution", "athena:ListQueryExecutions", "athena:GetQueryResultsStream", "athena:ListWorkGroups", "athena:GetWorkGroup", "athena:CreatePreparedStatement", "athena:GetPreparedStatement", "athena:DeletePreparedStatement" ], "Resource": "*" }, { "Sid": "AllowGlueSchemaManipulations", "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:GetDatabases", "glue:GetTable", "glue:GetTables", "glue:GetPartition", "glue:GetPartitions" ], "Resource": "*" }, { "Sid": "AllowQueryEditorToAccessWorkGroup", "Effect": "Allow", "Action": "athena:GetWorkGroup", "Resource": "arn:aws:athena:*:111122223333:workgroup*" }, { "Sid": "AllowConfigurationForWorkspaceCollaboration", "Action": [ "elasticmapreduce:UpdateEditor", "elasticmapreduce:PutWorkspaceAccess", "elasticmapreduce:DeleteWorkspaceAccess", "elasticmapreduce:ListWorkspaceAccessIdentities" ], "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "elasticmapreduce:ResourceTag/creatorUserId": "${aws:userId}" } } }, { "Sid": "DescribeNetwork", "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ], "Resource": "*" }, { "Sid": "ListIAMRoles", "Effect": "Allow", "Action": [ "iam:ListRoles" ], "Resource": "*" }, { "Sid": "AssumeRole", "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Resource": "*" } ] }

    La seguente politica di fiducia consente a EMR Studio di assumere il ruolo:

    Nota

    Sono necessarie autorizzazioni aggiuntive per sfruttare EMR Studio Workspaces e EMR Notebooks. Per ulteriori informazioni, vedere Creare criteri di autorizzazione per gli utenti di EMR Studio.

Passaggio 2. Crea e configura il tuo EMR Studio

In questo passaggio, creerai Amazon EMR Studio nella console EMR Studio e utilizzerai i ruoli IAM in cui hai creato. Passaggio 1. Crea i ruoli IAM richiesti per EMR Studio

  1. Accedi alla console EMR Studio, seleziona Create Studio e l'opzione Custom Setup. È possibile creare un nuovo bucket S3 o utilizzare un bucket esistente. Puoi selezionare la casella per crittografare i file dell'area di lavoro con le tue chiavi KMS. Per ulteriori informazioni, consulta AWS Key Management Service.

    Fase 1 Creare EMR Studio nella console EMR.
  2. In Ruolo di servizio per consentire a Studio di accedere alle tue risorse, seleziona il ruolo di servizio creato nel Passaggio 1. Crea i ruoli IAM richiesti per EMR Studio menu.

  3. Scegli IAM Identity Center in Autenticazione. Seleziona il ruolo utente creato inPassaggio 1. Crea i ruoli IAM richiesti per EMR Studio.

    Passaggio 3 Crea EMR Studio nella console EMR, selezionando IAM Identity Center per il metodo di autenticazione.
  4. Seleziona la casella Propagazione delle identità attendibili. Scegli Solo utenti e gruppi assegnati nella sezione Accesso alle applicazioni, che ti consentirà di concedere solo agli utenti e ai gruppi autorizzati l'accesso a questo studio.

  5. (Facoltativo) - È possibile configurare VPC e sottorete se si utilizza questo Studio con cluster EMR.

    Fase 4 Creare EMR Studio nella console EMR, selezionando le impostazioni di rete e sicurezza.
  6. Rivedi tutti i dettagli e seleziona Create Studio.

  7. Dopo aver configurato un cluster Athena WorkGroup o EMR, accedi all'URL dello Studio per:

    1. Esegui le query Athena con il Query Editor.

    2. Esegui i lavori Spark nell'area di lavoro utilizzando notebook. Jupyter