

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Como configurar a propagação de identidade confiável com o Amazon EMR Studio
<a name="setting-up-tip-emr"></a>

O procedimento a seguir orienta você na configuração do Amazon EMR Studio para a propagação confiável de identidade em consultas em grupos de trabalho do Amazon Athena ou clusters do Amazon EMR que executam o Apache Spark.

## Pré-requisitos
<a name="setting-up-tip-emr-prereqs"></a>

Antes de começar este tutorial, você precisará configurar o seguinte:

1. [Ative o IAM Identity Center](enable-identity-center.md). A [instância de organização](organization-instances-identity-center.md) é recomendada. Para obter mais informações, consulte [Pré-requisitos e considerações](trustedidentitypropagation-overall-prerequisites.md).

1. [Provisione os usuários e grupos da fonte de identidades no IAM Identity Center](tutorials.md).

Para concluir a configuração da propagação de identidade confiável do Amazon EMR Studio, o administrador do EMR Studio deve executar as seguintes etapas.

## Etapa 1. Criar os perfis do IAM exigidos para o EMR Studio
<a name="setting-up-tip-emr-step1"></a>

Nesta etapa, o administrador do Amazon EMR Studio cria um perfil de serviço do IAM e um perfil de usuário do IAM para o EMR Studio.

1. **[Crie um perfil de serviço do EMR Studio](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-studio-service-role.html)** — O EMR Studio assume esse perfil do IAM para gerenciar com segurança espaços de trabalho e notebooks, conectar-se a clusters e lidar com interações de dados.

   1. Navegue até o console do IAM ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) e crie uma função do IAM.

   1. Selecione **AWS service (Serviço da AWS)** como entidade confiável e, em seguida, escolha **Amazon EMR**. Anexe as políticas a seguir para definir as permissões e a relação de confiança do perfil.

      Para usar essas políticas, substitua a política {{italicized placeholder text}} no exemplo por suas próprias informações. Para obter instruções adicionais, consulte [Criar uma política](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_create.html) ou [Editar uma política](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_manage-edit.html).

------
#### [ 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}}"
                      }
                  }
              }
          ]
      }
      ```

------

      Para obter uma referência de todas as permissões de perfil de serviço, consulte [Permissões de perfil de serviço do EMR Studio](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-service-role.html#emr-studio-service-role-permissions-table).

1. **[Crie um perfil de usuário do EMR Studio para autenticação do IAM Identity Center](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-studio-user-permissions.html#emr-studio-create-user-role)** — o EMR Studio assume esse perfil quando um usuário faz login pelo IAM Identity Center para gerenciar espaços de trabalho, clusters do EMR, tarefas e repositórios git. **Esse perfil é usado para iniciar o fluxo de trabalho de propagação de identidade confiável**.
**nota**  
A função de usuário do EMR Studio não precisa incluir permissões para acessar as localizações das tabelas no Amazon S3 no Catálogo. AWS Glue AWS Lake Formation as permissões e as localizações registradas dos lagos serão usadas para receber permissões temporárias. 

   O exemplo de política a seguir pode ser usado em um perfil que permite que um usuário do EMR Studio use grupos de trabalho do Athena para executar consultas.

------
#### [ 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": "*"
           }
       ]
   }
   ```

------

   A política de confiança a seguir permite que o EMR Studio assuma o perfil:
**nota**  
Permissões adicionais são necessárias para aproveitar os EMR Studio Workspaces e os EMR Notebooks. Consulte [Criar políticas de permissões para usuários do EMR Studio](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-studio-user-permissions.html#emr-studio-permissions-policies) para obter mais informações.

**Você pode encontrar essas informações nos seguintes links:**
   + [Defina permissões personalizadas do IAM com políticas gerenciadas pelo cliente](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_create.html)
   + [Permissões de função de serviço do EMR Studio](https://docs.aws.amazon.com//emr/latest/ManagementGuide/emr-studio-service-role.html#emr-studio-service-role-permissions-table)

## Etapa 2. Criar e configurar o EMR Studio
<a name="setting-up-tip-emr-step2"></a>

Nesta etapa, você criará um Amazon EMR Studio no console do EMR Studio e usará os perfis do IAM que você criou em [Etapa 1. Criar os perfis do IAM exigidos para o EMR StudioEtapa 2. Criar e configurar o EMR Studio](#setting-up-tip-emr-step1).

1. Navegue até o console do EMR Studio, selecione **Criar Studio** e a opção **Configuração personalizada**. Você pode criar um bucket S3 ou novo usar um existente. Você pode marcar a caixa **Criptografar arquivos do espaço de trabalho com as próprias chaves KMS**. Para obter mais informações, consulte [AWS Key Management Service](https://docs.aws.amazon.com//kms/latest/developerguide/overview.html).  
![Etapa 1: criar o EMR Studio no console do EMR.](http://docs.aws.amazon.com/pt_br/singlesignon/latest/userguide/images/emr-tutorial-step-3.1.png)

1. Em **Perfil de serviço para permitir que o Studio acesse os recursos**, selecione um perfil de serviço criado em [Etapa 1. Criar os perfis do IAM exigidos para o EMR StudioEtapa 2. Criar e configurar o EMR Studio](#setting-up-tip-emr-step1) no menu.

1. Escolha **IAM Identity Center** em **Autenticação**. Selecione o perfil de usuário criado em [Etapa 1. Criar os perfis do IAM exigidos para o EMR StudioEtapa 2. Criar e configurar o EMR Studio](#setting-up-tip-emr-step1).  
![Etapa 3: criar o EMR Studio no console do EMR, selecionando o IAM Identity Center como método de autenticação.](http://docs.aws.amazon.com/pt_br/singlesignon/latest/userguide/images/emr-tutorial-step-3.3.png)

1. Marque a caixa **Propagação de identidade confiável**. Escolha **Somente usuários e grupos atribuídos** na seção Acesso à aplicação, o que permitirá que você conceda somente usuários e grupos autorizados a acessar este studio.

1. *(Opcional)* — Você pode configurar a VPC e a sub-rede se estiver usando este Studio com clusters do EMR.  
![Etapa 4: criar o EMR Studio no console do EMR selecionando as configurações de rede e segurança.](http://docs.aws.amazon.com/pt_br/singlesignon/latest/userguide/images/emr-tutorial-step-3.4.png)

1. Revise todos os detalhes e selecione **Criar Studio**.

1. Depois de configurar um cluster do WorkGroup Athena ou do EMR, faça login na URL do Studio para:

   1. Executar consultas do Athena com o Editor de Consultas.

   1. Execute as tarefas do Spark no espaço de trabalho usando o caderno Jupyter.