

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

# Perfis do IAM para integração nativa com o Apache Ranger
<a name="emr-ranger-iam"></a>

A integração entre o Amazon EMR e o Apache Ranger depende de três perfis principais que você deve criar antes de iniciar o cluster:
+ Um perfil de instância do Amazon EC2 personalizado para o Amazon EMR
+ Um perfil do IAM para mecanismos do Apache Ranger
+ Uma função do IAM para outros AWS serviços

Esta seção fornece uma visão geral desses perfis e das políticas que devem ser incluídas para cada perfil do IAM. Para obter mais informações sobre como criar esses perfis, consulte [Configure um servidor Ranger Admin para integração com o Amazon EMR](emr-ranger-admin.md).

# Perfil de instância do EC2 no Amazon EMR
<a name="emr-ranger-iam-ec2"></a>

O Amazon EMR usa um perfil de serviço do IAM para realizar ações a seu favor a fim de provisionar e gerenciar clusters. O perfil de serviço para instâncias do EC2 do cluster, também chamada de perfil de instância do EC2 para Amazon EMR, é um tipo especial de perfil de serviço atribuído ao iniciar cada instância do EC2 do cluster.

Para definir permissões para a interação do cluster EMR com dados do Amazon S3 e com o metastore Hive protegido pelo Apache Ranger e AWS outros serviços, defina um perfil de instância EC2 personalizado para usar em vez do quando você iniciar seu cluster. `EMR_EC2_DefaultRole`

Para obter mais informações, consulte [Perfil de serviço para instâncias do EC2 do cluster (perfil de instância do EC2)](emr-iam-role-for-ec2.md) e [Personalização de perfis do IAM com o Amazon EMR](emr-iam-roles-custom.md).

Você precisa adicionar as seguintes instruções ao perfil de instância EC2 padrão do Amazon EMR para poder marcar sessões e acessar AWS Secrets Manager o que armazena certificados TLS.

```
    {
      "Sid": "AllowAssumeOfRolesAndTagging",
      "Effect": "Allow",
      "Action": ["sts:TagSession", "sts:AssumeRole"],
      "Resource": [
        "arn:aws:iam::<AWS_ACCOUNT_ID>:role/<RANGER_ENGINE-PLUGIN_DATA_ACCESS_ROLE_NAME>",
        "arn:aws:iam::<AWS_ACCOUNT_ID>:role/<RANGER_USER_ACCESS_ROLE_NAME>"
      ]
    },
    {
        "Sid": "AllowSecretsRetrieval",
        "Effect": "Allow",
        "Action": "secretsmanager:GetSecretValue",
        "Resource": [
            "arn:aws:secretsmanager:<REGION>:<AWS_ACCOUNT_ID>:secret:<PLUGIN_TLS_SECRET_NAME>*",
            "arn:aws:secretsmanager:<REGION>:<AWS_ACCOUNT_ID>:secret:<ADMIN_RANGER_SERVER_TLS_SECRET_NAME>*"
        ]
    }
```

**nota**  
Para obter as permissões do Secrets Manager, não esqueça o caractere curinga (“\$1”) no final do nome do segredo, senão as solicitações falharão. O curinga serve para versões de segredo.

**nota**  
Limite o escopo da AWS Secrets Manager política somente aos certificados necessários para o provisionamento.

# Perfil do IAM para Apache Ranger
<a name="emr-ranger-iam-ranger"></a>

Esse perfil fornece credenciais para mecanismos de execução confiáveis, como Apache Hive e Amazon EMR Record Server, para acessar os dados do Amazon S3. Use somente esse perfil para acessar dados do Amazon S3, incluindo chaves do KMS, se você estiver usando o SSE-KMS do S3.

Esse perfil deve ser criado com a política mínima indicada no exemplo a seguir.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "CloudwatchLogsPermissions",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:logs:*:123456789012:log-group:CLOUDWATCH_LOG_GROUP_NAME_IN_SECURITY_CONFIGURATION:*"
      ]
    },
    {
      "Sid": "BucketPermissionsInS3Buckets",
      "Action": [
        "s3:CreateBucket",
        "s3:DeleteBucket",
        "s3:ListAllMyBuckets",
        "s3:ListBucket"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket1",
        "arn:aws:s3:::amzn-s3-demo-bucket2"
      ]
    },
    {
      "Sid": "ObjectPermissionsInS3Objects",
      "Action": [
        "s3:GetObject",
        "s3:DeleteObject",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket1/*",
        "arn:aws:s3:::amzn-s3-demo-bucket2/*"
      ]
    }
  ]
}
```

------

**Importante**  
O asterisco “\$1” no final do recurso de CloudWatch log deve ser incluído para fornecer permissão para gravar nos fluxos de log.

**nota**  
Se você estiver usando a visualização de consistência do EMRFS ou a criptografia S3-SSE, adicione permissões às tabelas do DynamoDB e às chaves do KMS para que os mecanismos de execução possam interagir com esses mecanismos.

O perfil do IAM para Apache Ranger é assumido pelo perfil do perfil de instância do EC2. Use o exemplo a seguir para criar uma política de confiança que permita que o perfil do IAM para o Apache Ranger seja assumido pelo perfil do perfil de instância do EC2.

```
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::<AWS_ACCOUNT_ID>:role/<EC2 INSTANCE PROFILE ROLE NAME eg. EMR_EC2_DefaultRole>"
      },
      "Action": ["sts:AssumeRole", "sts:TagSession"]
    }
```

# Função do IAM para outros AWS serviços de integração com o Amazon EMR
<a name="emr-ranger-iam-other-AWS"></a>

Essa função fornece aos usuários que não são mecanismos de execução confiáveis credenciais para interagir com os AWS serviços, se necessário. Não use esse perfil do IAM para permitir o acesso aos dados do Amazon S3, a menos que sejam dados que devam ser acessados por todos os usuários.

Esse perfil será assumido pelo perfil do perfil de instância do EC2. Use o exemplo a seguir para criar uma política de confiança que permita que o perfil do IAM para o Apache Ranger seja assumido pelo perfil do perfil de instância do EC2.

```
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::<AWS_ACCOUNT_ID>:role/<EC2 INSTANCE PROFILE ROLE NAME eg. EMR_EC2_DefaultRole>"
      },
      "Action": ["sts:AssumeRole", "sts:TagSession"]
    }
```

# Validação de permissões para a integração do Amazon EMR com o Apache Ranger
<a name="emr-ranger-iam-validate"></a>

Consulte [Solução de problemas do Apache Ranger](emr-ranger-troubleshooting.md) para ver instruções sobre como validar permissões.