

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

# Começando a usar Centro de Identidade do AWS IAM o Amazon EMR
<a name="emr-idc-start"></a>

Esta seção ajuda você a configurar o Amazon EMR para integração com o. Centro de Identidade do AWS IAM

**Topics**
+ [Criação de uma instância do Centro de Identidade](#emr-idc-start-instance)
+ [Criação de um perfil do IAM para o Centro de Identidade](#emr-idc-start-role)
+ [Adicionar permissões para serviços não integrados ao Centro de Identidade do IAM](#emr-idc-start-securityconfig-nonidc)
+ [Criação de uma configuração de segurança habilitada para o Centro de Identidade](#emr-idc-start-securityconfig)
+ [Criação e execução de um cluster habilitado para o Centro de Identidade](#emr-idc-cluster)
+ [Configuração do Lake Formation para um cluster do EMR habilitado para o Centro de Identidade do IAM](emr-idc-lf.md)
+ [Como trabalhar com o S3 Access Grants em um cluster do EMR habilitado para o Centro de Identidade do IAM](emr-idc-s3ag.md)

**nota**  
Para usar a integração do Centro de Identidade com o EMR, o Lake Formation ou a Concessão de Acesso do S3 devem estar habilitados. Você também pode usar ambos. Se nenhum estiver habilitado, a integração do Centro de Identidade não será compatível.

## Criação de uma instância do Centro de Identidade
<a name="emr-idc-start-instance"></a>

Se ainda não tiver uma, crie uma instância do Centro de Identidade na Região da AWS em que deseja executar o cluster do EMR. Uma instância do Centro de Identidade só pode existir em uma única região para uma Conta da AWS.

Use o AWS CLI comando a seguir para criar uma nova instância chamada`MyInstance`:

```
aws sso-admin create-instance --name MyInstance
```

## Criação de um perfil do IAM para o Centro de Identidade
<a name="emr-idc-start-role"></a>

Para integrar o Amazon EMR com Centro de Identidade do AWS IAM, crie uma função do IAM que se autentique com o Identity Center a partir do cluster do EMR. O Amazon EMR usa credenciais SigV4 internamente para retransmitir a identidade do Centro de Identidade a serviços downstream, como o AWS Lake Formation. Seu perfil também deve ter as respectivas permissões para invocar os serviços downstream.

Ao criar o perfil, use a seguinte política de permissões:

```
{
  "Statement": [
    {
      "Sid": "IdCPermissions",
      "Effect": "Allow",
      "Action": [
        "sso-oauth:*"
      ],
      "Resource": "*"
    },
    {
      "Sid": "GlueandLakePermissions",
      "Effect": "Allow",
      "Action": [
        "glue:*",
        "lakeformation:GetDataAccess"
      ],
      "Resource": "*"
    },
    {
      "Sid": "AccessGrantsPermissions",
      "Effect": "Allow",
      "Action": [
        "s3:GetDataAccess",
        "s3:GetAccessGrantsInstanceForPrefix"
      ],
      "Resource": "*"
    }
  ]
}
```

A política de confiança desse perfil permite que o perfil InstanceProfile deixe-o assumir o perfil.

```
{
    "Sid": "AssumeRole",
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::12345678912:role/EMR_EC2_DefaultRole"
    },
    "Action": [
        "sts:AssumeRole",
        "sts:SetContext"
    ]
}
```

Se o perfil não tiver credenciais confiáveis e acessar uma tabela protegida pelo Lake Formation, o Amazon EMR define automaticamente o `principalId` do perfil assumido como `userID-untrusted`. A seguir está um trecho de um CloudTrail evento que exibe o. `principalId`

```
{
    "eventVersion": "1.09",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "ABCDEFGH1JKLMNO2PQR3TU:5000-untrusted",
        "arn": "arn:aws:sts::123456789012:assumed-role/EMR_TIP/5000-untrusted",
        "accountId": "123456789012",
        "accessKeyId": "ABCDEFGH1IJKLMNOPQ7R3"
        ...
```

## Adicionar permissões para serviços não integrados ao Centro de Identidade do IAM
<a name="emr-idc-start-securityconfig-nonidc"></a>

AWS credenciais que usam o Trusted Identity Propagation, as políticas do IAM definidas na função do IAM para todas as chamadas feitas para serviços não integrados ao IAM Identity Center. Isso inclui, por exemplo, AWS Key Management Service o. Seu perfil também deve definir as permissões do IAM para quaisquer serviços desse tipo que você tentaria acessar AWS Key Management Service de exemplo. Os serviços integrados do Centro de Identidade do IAM atualmente compatíveis incluem o AWS Lake Formation e a Concessão de Acesso do Amazon S3.

Para saber mais sobre Propagação de identidade confiável, consulte [Propagação confiável de identidade entre aplicações](https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation.html).

## Criação de uma configuração de segurança habilitada para o Centro de Identidade
<a name="emr-idc-start-securityconfig"></a>

Para executar um cluster do EMR com a integração do Centro de Identidade do IAM, use o exemplo de comando a seguir para criar uma configuração de segurança do Amazon EMR que tenha o Centro de Identidade habilitado. Cada configuração é explicada abaixo.

```
aws emr create-security-configuration --name "IdentityCenterConfiguration-with-lf-accessgrants" --region "us-west-2" --security-configuration '{
    "AuthenticationConfiguration":{
        "IdentityCenterConfiguration":{
            "EnableIdentityCenter":true,
            "IdentityCenterApplicationAssigmentRequired":false,
            "IdentityCenterInstanceARN": "arn:aws:sso:::instance/ssoins-123xxxxxxxxxx789"
        }
    },
    "AuthorizationConfiguration": {
        "LakeFormationConfiguration": {
            "AuthorizedSessionTagValue": "Amazon EMR"
        },
        "IAMConfiguration": {
          "EnableApplicationScopedIAMRole": true,
          "ApplicationScopedIAMRoleConfiguration": {
            "PropagateSourceIdentity": true
          }
        }
    },
    "EncryptionConfiguration": {
        "EnableInTransitEncryption": true,
        "EnableAtRestEncryption": false,
        "InTransitEncryptionConfiguration": {
            "TLSCertificateConfiguration": {
                "CertificateProviderType": "PEM",
                "S3Object": "s3://amzn-s3-demo-bucket/cert/my-certs.zip"
            }
        }
    }
}'
```
+ **`EnableIdentityCenter`**: (obrigatório) habilita a integração do Centro de Identidade.
+ **`IdentityCenterInstanceARN`**: (opcional) o ARN da instância do Centro de Identidade. Se isso não estiver incluído, o ARN existente da instância do Centro de Identidade do IAM será pesquisado como parte da etapa de configuração.
+ **`IAMRoleForEMRIdentityCenterApplicationARN`**: (obrigatório) o perfil do IAM que adquire tokens do Centro de Identidade do cluster.
+ **`IdentityCenterApplicationAssignmentRequired `**: (booleano) determina se uma atribuição será necessária para usar a aplicação do Centro de Identidade. Esse campo é opcional. Se um valor não for fornecido, o padrão será `false`.
+ **`AuthorizationConfiguration` ou `LakeFormationConfiguration`**: opcionalmente, configure a autorização:
  + **`IAMConfiguration`**: permite que o recurso Perfis de runtimes do EMR seja usado além da sua identidade TIP. Se você habilitar essa configuração, você (ou o AWS serviço do chamador) deverá especificar uma função de tempo de execução do IAM em cada chamada para as etapas do EMR ou do EMR. `GetClusterSessionCredentials` APIs Se o cluster do EMR estiver sendo usado com o SageMaker Unified Studio, essa opção será necessária se o Trusted Identity Propagation também estiver habilitado.
  + **`EnableLakeFormation`**: habilite a autorização do Lake Formation no cluster.

Para habilitar a integração do Centro de Identidade com o Amazon EMR, você deve especificar `EncryptionConfiguration` e `IntransitEncryptionConfiguration`.

## Criação e execução de um cluster habilitado para o Centro de Identidade
<a name="emr-idc-cluster"></a>

Agora que configurou o perfil do IAM que se autentica ao Centro de Identidade e criou uma configuração de segurança do Amazon EMR com o Centro de Identidade habilitado, você pode criar e executar seu cluster com reconhecimento de identidade. Para ver as etapas de execução do cluster com a configuração de segurança necessária, consulte [Como especificar uma configuração de segurança para um cluster do Amazon EMR](emr-specify-security-configuration.md).

As seguintes seções descrevem como configurar o cluster habilitado pelo Centro de Identidade com opções de segurança compatíveis com o Amazon EMR:
+ [Como trabalhar com o S3 Access Grants em um cluster do EMR habilitado para o Centro de Identidade do IAM](emr-idc-s3ag.md)
+ [Configuração do Lake Formation para um cluster do EMR habilitado para o Centro de Identidade do IAM](emr-idc-lf.md)

# Configuração do Lake Formation para um cluster do EMR habilitado para o Centro de Identidade do IAM
<a name="emr-idc-lf"></a>

Você pode se integrar [AWS Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/)ao seu cluster EMR Centro de Identidade do AWS IAM habilitado.

Primeiro, certifique-se de ter uma instância do Centro de Identidade configurada na mesma região do cluster. Para obter mais informações, consulte [Criação de uma instância do Centro de Identidade](emr-idc-start.md#emr-idc-start-instance). Você pode encontrar o ARN da instância no console do Centro de Identidade do IAM ao visualizar os detalhes da instância ou usar o seguinte comando para ver os detalhes de todas as instâncias na CLI:

```
aws sso-admin list-instances
```

Em seguida, use o ARN e o ID AWS da sua conta com o comando a seguir para configurar o Lake Formation para ser compatível com o IAM Identity Center:

```
aws lakeformation create-lake-formation-identity-center-configuration --cli-input-json file://create-lake-fromation-idc-config.json 
json input:
{
    "CatalogId": "account-id/org-account-id",
    "InstanceArn": "identity-center-instance-arn"
}
```

Agora, chame `put-data-lake-settings` e habilite `AllowFullTableExternalDataAccess` com o Lake Formation:

```
aws lakeformation put-data-lake-settings --cli-input-json file://put-data-lake-settings.json 
json input:
{
    "DataLakeSettings": {
        "DataLakeAdmins": [
            {
                "DataLakePrincipalIdentifier": "admin-ARN"
            }
        ],
        "CreateDatabaseDefaultPermissions": [...],
        "CreateTableDefaultPermissions": [...],
        "AllowExternalDataFiltering": true,
        "AllowFullTableExternalDataAccess": true
    }
}
```

Por fim, conceda permissões completas de tabela ao ARN da identidade do usuário que acessa o cluster do EMR. O ARN contém o ID do usuário do Centro de Identidade. Navegue até o Centro de Identidade no console, selecione **Usuários** e, em seguida, o usuário para visualizar as configurações de **Informações gerais**.

Copie o ID do usuário e cole-o no seguinte ARN para `user-id`:

```
arn:aws:identitystore:::user/user-id
```

**nota**  
As consultas no cluster do EMR só funcionam se a identidade do Centro de Identidade do IAM tiver acesso total à tabela protegida do Lake Formation. Se a identidade não tiver acesso total à tabela, a consulta falhará.

Use o seguinte comando para conceder ao usuário acesso total à tabela:

```
aws lakeformation grant-permissions --cli-input-json file://grantpermissions.json
json input:
{
    "Principal": {
        "DataLakePrincipalIdentifier": "arn:aws:identitystore:::user/user-id"
    },
    "Resource": {
        "Table": {
            "DatabaseName": "tip_db",
            "Name": "tip_table"
        }
    },
    "Permissions": [
        "ALL"
    ],
    "PermissionsWithGrantOption": [
        "ALL"
    ]
}
```

## Adicionar o ARN da aplicação ao IDC para integração com o Lake Formation
<a name="emr-idc-enabled-idc"></a>

Para consultar os recursos habilitados para Lake Formation, o ARN da aplicação do IDC precisa ser adicionado. Para isso, siga estas etapas:

1. No console, escolha **AWS Lake Formation**.

1. Selecione **Integração com o Centro de Identidade do IAM** e **Integração com a aplicação Lake Formation**, correspondendo o ARN da aplicação. O ARN aparecerá na lista de **IDs de aplicação**.

# Como trabalhar com o S3 Access Grants em um cluster do EMR habilitado para o Centro de Identidade do IAM
<a name="emr-idc-s3ag"></a>

Você pode integrar o [S3 Access Grants ao](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html) seu cluster EMR Centro de Identidade do AWS IAM habilitado.

Use o S3 Access Grants para autorizar o acesso aos seus conjuntos de dados de clusters que usam o Centro de Identidade. Crie concessões para aumentar as permissões definidas para usuários, grupos e perfis do IAM ou para um diretório corporativo. Para obter mais informações, consulte [Using S3 Access Grants with Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-access-grants.html).

**Topics**
+ [Como criar uma instância e localização da funcionalidade S3 Access Grants](#emr-idc-s3ag-instance)
+ [Como criar concessões para identidades do Centro de Identidade](#emr-idc-s3ag-identities)

## Como criar uma instância e localização da funcionalidade S3 Access Grants
<a name="emr-idc-s3ag-instance"></a>

Se você ainda não tiver uma, crie uma instância do S3 Access Grants na Região da AWS em que deseja executar seu cluster do EMR. 

Use o AWS CLI comando a seguir para criar uma nova instância chamada`MyInstance`:

```
aws s3control-access-grants create-access-grants-instance \
--account-id 12345678912 \
--identity-center-arn "identity-center-instance-arn" \
```

Em seguida, crie uma localização do S3 Access Grants, substituindo os valores vermelhos pelos seus próprios:

```
aws s3control-access-grants create-access-grants-location \
--account-id 12345678912 \
--location-scope s3:// \
--iam-role-arn "access-grant-role-arn" \
--region aa-example-1
```

**nota**  
Defina o parâmetro `iam-role-arn` como o ARN `accessGrantRole`.

## Como criar concessões para identidades do Centro de Identidade
<a name="emr-idc-s3ag-identities"></a>

Por fim, crie as concessões das identidades que têm acesso ao seu cluster:

```
aws s3control-access-grants create-access-grant \
--account-id 12345678912 \
--access-grants-location-id "default" \
--access-grants-location-configuration S3SubPrefix="s3-bucket-prefix"
--permission READ \
--grantee GranteeType=DIRECTORY_USER,GranteeIdentifier="your-identity-center-user-id"
```

Exemplo de saída:

```
{
"CreatedAt": "2023-09-21T23:47:24.870000+00:00",
"AccessGrantId": "1234-12345-1234-1234567",
"AccessGrantArn": "arn:aws:s3:aa-example-1-1:123456789012:access-grants/default/grant/xxxx1234-1234-5678-1234-1234567890",
"Grantee": {
"GranteeType": "DIRECTORY_USER",
"GranteeIdentifier": "5678-56789-5678-567890"
},
"AccessGrantsLocationId": "default",
"AccessGrantsLocationConfiguration": {
"S3SubPrefix": "myprefix/*"
},
"Permission": "READ",
"GrantScope": "s3://myprefix/*"
}
```