

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á.

# Habilitar o Lake Formation com o Amazon EMR
<a name="emr-lf-enable"></a>

Com o Amazon EMR 6.15.0 e versões posteriores, quando você executa trabalhos do Spark no Amazon EMR em clusters EC2 que acessam dados no AWS Glue Data Catalog, você pode AWS Lake Formation usar para aplicar permissões em nível de tabela, linha, coluna e célula em tabelas baseadas em Hudi, Iceberg ou Delta Lake.

Nesta seção, abordamos como criar uma configuração de segurança e configurar o Lake Formation para trabalhar com o Amazon EMR. Também veremos como iniciar um cluster com a configuração de segurança criada para o Lake Formation. 

## Etapa 1: configurar um perfil de runtime para o cluster do EMR
<a name="emr-lf-launch-cluster"></a>

Para usar um perfil de runtime para o cluster do EMR, é necessário criar uma configuração de segurança. Com uma configuração de segurança, você pode aplicar opções consistentes de segurança, autorização e autenticação nos clusters. 

1. Crie um arquivo chamado `lf-runtime-roles-sec-cfg.json` com a configuração a seguir.

   ```
   {
       "AuthorizationConfiguration": {
           "IAMConfiguration": {
               "EnableApplicationScopedIAMRole": true,
               "ApplicationScopedIAMRoleConfiguration": {
                   "PropagateSourceIdentity": true
               }
           },
           "LakeFormationConfiguration": {
               "AuthorizedSessionTagValue": "Amazon EMR"
           }
       },
       "EncryptionConfiguration": {
   	    "EnableAtRestEncryption": false,
               "EnableInTransitEncryption": true,
               "InTransitEncryptionConfiguration": {
               "TLSCertificateConfiguration": {<certificate-configuration>}
           }
       }
   }
   ```

   O exemplo abaixo ilustra como usar um arquivo zip com certificados no Amazon S3 para configuração de certificados:
   + Um arquivo zip com certificados no Amazon S3 é usado como provedor de chaves. (Consulte [Fornecer certificados para criptografia de dados em trânsito com a criptografia do Amazon EMR](emr-encryption-enable.md#emr-encryption-certificates) para conhecer os requisitos necessários.)

   ```
   "TLSCertificateConfiguration": {
   	"CertificateProviderType": "PEM",       
   	"S3Object": "s3://MyConfigStore/artifacts/MyCerts.zip"
    }
   ```

   O exemplo abaixo ilustra como usar um provedor de chaves personalizado para a configuração do certificado:
   + Um provedor de chave personalizado é usado. (Consulte [Fornecer certificados para criptografia de dados em trânsito com a criptografia do Amazon EMR](emr-encryption-enable.md#emr-encryption-certificates) para conhecer os requisitos necessários.)

   ```
   "TLSCertificateConfiguration": {
   	"CertificateProviderType": "Custom",
   	"S3Object": "s3://MyConfig/artifacts/MyCerts.jar",
   	"CertificateProviderClass": "com.mycompany.MyCertProvider"
       }
   ```

1. Em seguida, para garantir que a etiqueta da sessão possa autorizar o Lake Formation, defina a propriedade `LakeFormationConfiguration/AuthorizedSessionTagValue` como `Amazon EMR`. 

1. Use o comando a seguir para criar uma configuração de segurança do Amazon EMR.

   ```
   aws emr create-security-configuration \
   --name 'iamconfig-with-iam-lf' \
   --security-configuration file://lf-runtime-roles-sec-cfg.json
   ```

   Como alternativa, é possível usar o [console do Amazon EMR](https://console.aws.amazon.com//emr) para criar uma configuração de segurança com configurações personalizadas.

## Etapa 2: iniciar um cluster do Amazon EMR
<a name="emr-lf-launch-cluster"></a>

Agora, você já pode iniciar um cluster do EMR com a configuração de segurança criada na etapa anterior. Para obter mais informações sobre configurações de segurança, consulte [Uso de configurações de segurança para definir a segurança do cluster do Amazon EMR](emr-security-configurations.md) e [Perfis de runtime para etapas ao Amazon EMR](emr-steps-runtime-roles.md).

## Etapa 3: configurar permissões em nível de Formation-based coluna, linha ou célula do Lake com as funções de tempo de execução do Amazon EMR
<a name="emr-lf-fgac-perms"></a>

Para aplicar um controle de acesso refinado no nível de coluna, linha ou célula com o Lake Formation, o administrador do data lake no Lake Formation deve definir `Amazon EMR` como valor da configuração da etiqueta de sessão, `AuthorizedSessionTagValue`. O Lake Formation usa essa etiqueta de sessão para autorizar os chamadores e fornecer acesso ao data lake. É possível definir essa etiqueta de sessão na seção **Configurações de integração de aplicações** do console do Lake Formation. {{123456789012}}Substitua por seu próprio Conta da AWS ID.

## Etapa 4: Configurar subsídios do AWS Glue e do Lake Formation para funções de tempo de execução do Amazon EMR
<a name="emr-lf-trust-policy"></a>

Para continuar com a configuração do controle de acesso baseado em Lake Formation com funções de tempo de execução do Amazon EMR, você deve configurar subsídios do AWS Glue e do Lake Formation para funções de tempo de execução do Amazon EMR. Para permitir que os perfis de runtime do IAM interajam com o Lake Formation, conceda a eles acesso com `lakeformation:GetDataAccess` e `glue:Get*`.

As permissões do Lake Formation controlam o acesso aos recursos do AWS Glue Data Catalog, aos locais do Amazon S3 e aos dados subjacentes nesses locais. As permissões do IAM controlam o acesso às APIs e recursos do Lake Formation e do AWS Glue. Embora você possa ter a permissão do Lake Formation para acessar uma tabela no catálogo de dados (SELECT), a operação falhará se você não tiver a permissão do IAM na API `glue:Get*`. Para obter mais detalhes sobre o controle de acesso do Lake Formation, consulte a [visão geral do controle de acesso do Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/lf-permissions-overview.html).

1.  Crie o arquivo `emr-runtime-roles-lake-formation-policy.json` com o conteúdo a seguir. 

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "LakeFormationManagedAccess",
         "Effect": "Allow",
         "Action": [
           "lakeformation:GetDataAccess",
           "glue:Get*",
           "glue:Create*",
           "glue:Update*"
         ],
         "Resource": [
           "*"
         ]
       }
     ]
   }
   ```

------

1. Crie a política do IAM relacionada ao IAM.

   ```
   aws iam create-policy \
   --policy-name emr-runtime-roles-lake-formation-policy \
   --policy-document file://emr-runtime-roles-lake-formation-policy.json
   ```

1. Para atribuir essa política aos perfis de runtime do IAM, siga as etapas descritas em [Managing AWS Lake Formation permissions](https://docs.aws.amazon.com/lake-formation/latest/dg/managing-permissions.html).

Já é possível usar perfis de runtime e o Lake Formation para aplicar permissões em nível de tabela e coluna. Você também pode usar uma identidade de origem para controlar ações e monitorar operações com AWS CloudTrail.

Para cada perfil do IAM que você pretende usar como perfil de runtime, defina a política de confiança a seguir, substituindo `EMR_EC2_DefaultRole` pelo perfil do perfil de instância. Para modificar a política de confiança de um perfil do IAM, consulte [Modificar a política de confiança de um perfil](https://docs.aws.amazon.com//IAM/latest/UserGuide/roles-managingrole-editing-console.html).

```
{
   "Sid":"AllowAssumeRole",
   "Effect":"Allow",
   "Principal":{
     "AWS":"arn:aws:iam::{{<AWS_ACCOUNT_ID>}}:role/EMR_EC2_DefaultRole"
   },
   "Action":[
        "sts:AssumeRole",
        "sts:TagSession"
       ]
 }
```

Para ver um exemplo detalhado e completo, consulte [Introducing runtime roles for Amazon EMR steps](https://aws.amazon.com/blogs/big-data/introducing-runtime-roles-for-amazon-emr-steps-use-iam-roles-and-aws-lake-formation-for-access-control-with-amazon-emr/).<a name="iceberg-with-lake-formation-spark-catalog-integration-lf-ec2"></a>

Para obter informações sobre como fazer a integração com o Iceberg e o AWS Glue Data Catalog para uma hierarquia de vários catálogos, consulte [Configurar o Spark para acessar uma hierarquia de vários catálogos no Glue Data Catalog](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-multi-catalog.html#emr-lakehouse-using-spark-access). AWS 