Configurazione della propagazione affidabile delle identità con Amazon EMR Studio - AWS IAM Identity Center

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 della propagazione affidabile delle identità con Amazon EMR Studio

La procedura seguente illustra come configurare Amazon EMR Studio per la propagazione di identità affidabili 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 della propagazione delle identità affidabili da Amazon EMR Studio, l'amministratore di EMR Studio deve eseguire i seguenti passaggi.

Fase 1: Creare i ruoli IAM richiesti per EMR Studio

In questa fase, 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 sicurezza aree di lavoro e notebook, connettersi ai cluster e gestire le interazioni con i dati.

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

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

      Per utilizzare queste politiche, sostituisci la italicized placeholder text politica dell'esempio con le tue informazioni. Per ulteriori indicazioni, consulta Creare un criterio o Modificare un criterio.

      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 di tutte le autorizzazioni dei ruoli di servizio, vedere Autorizzazioni dei ruoli di servizio EMR Studio.

  2. Crea un ruolo utente EMR Studio per l'autenticazione di IAM Identity Center: EMR Studio assume questo ruolo quando un utente accede tramite IAM Identity Center per gestire aree 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 policy 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 attendibilità consente a EMR Studio di assumere il ruolo:

    JSON
    { "Version": "2008-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "elasticmapreduce.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetContext" ] } ] }
    Nota

    Sono necessarie autorizzazioni aggiuntive per utilizzare EMR Studio Workspaces e EMR Notebooks. Per ulteriori informazioni, consulta Creare politiche di autorizzazione per gli utenti di EMR Studio.

Fase 2: Crea e configura il tuo EMR Studio

In questo passaggio, creerai un Amazon EMR Studio nella console EMR Studio e utilizzerai i ruoli IAM in cui hai creato. Fase 1: Creare i ruoli IAM richiesti per EMR Studio

  1. Accedere alla console EMR Studio, selezionare Create Studio e l'opzione Configurazione personalizzata. Puoi 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 in Fase 1: Creare i ruoli IAM richiesti per EMR Studio dal menu.

  3. Scegli IAM Identity Center in Authentication. Seleziona il ruolo utente creato inFase 1: Creare i ruoli IAM richiesti per EMR Studio.

    Fase 3 Creare EMR Studio nella console EMR, selezionando IAM Identity Center per il metodo di autenticazione.
  4. Seleziona la casella Trusted Identity Propagation. Scegli Solo utenti e gruppi assegnati nella sezione Accesso all'applicazione, che ti consentirà di concedere solo agli utenti e ai gruppi autorizzati l'accesso a questo studio.

  5. (Facoltativo): puoi configurare VPC e sottorete se utilizzi questo Studio con cluster EMR.

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

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

    1. Esegui le interrogazioni Athena con l'editor di query.

    2. Esegui i job Spark nell'area di lavoro usando notebook. Jupyter