

# Permitir a um metastore do Hive externo acesso a um conector de dados do Athena
<a name="hive-metastore-iam-access"></a>

Os exemplos de política de permissão neste tópico demonstram as ações permitidas necessárias e os recursos para os quais são permitidas. Examine essas políticas com atenção e modifique-as de acordo com seus requisitos antes de anexar políticas de permissões semelhantes às identidades do IAM.
+  [Example Policy to Allow an IAM Principal to Query Data Using Athena Data Connector for External Hive Metastore](#hive-using-iam) 
+  [Example Policy to Allow an IAM Principal to Create an Athena Data Connector for External Hive Metastore](#hive-creating-iam) 

**Example : permitir que uma entidade principal do IAM consulte dados usando o conector de dados do Athena para metastore externo do Hive**  
A política a seguir é anexada aos principais do IAM, além de [AWSPolítica gerenciada pela : AmazonAthenaFullAccess](security-iam-awsmanpol.md#amazonathenafullaccess-managed-policy), que concede acesso completo às ações do Athena.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "lambda:GetFunction",
                "lambda:GetLayerVersion",
                "lambda:InvokeFunction"
            ],
            "Resource": [
                "arn:aws:lambda:*:{{111122223333}}:function:{{MyAthenaLambdaFunction}}",
                "arn:aws:lambda:*:{{111122223333}}:function:{{AnotherAthenaLambdaFunction}}",
                "arn:aws:lambda:*:{{111122223333}}:layer:{{MyAthenaLambdaLayer}}:*"
            ]
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:PutObject",
                "s3:ListMultipartUploadParts",
                "s3:AbortMultipartUpload"
            ],
            "Resource": "arn:aws:s3:::{{MyLambdaSpillBucket}}/{{MyLambdaSpillLocation}}"
        }
    ]
}
```


**Explicação de permissões**  

| Ações permitidas | Explicação | 
| --- | --- | 
|  <pre>"s3:GetBucketLocation",<br />"s3:GetObject",<br />"s3:ListBucket",<br />"s3:PutObject",<br />"s3:ListMultipartUploadParts",<br />"s3:AbortMultipartUpload"</pre>  | As ações do `s3` permitem ler e gravar no recurso especificado como `"arn:aws:s3:::{{MyLambdaSpillBucket}}/{{MyLambdaSpillLocation}}"`, em que {{MyLambdaSpillLocation}} identifica o bucket de vazamento que foi definido na configuração da(s) função(ões) do Lambda invocada(s). O identificador do recurso {{arn:aws:lambda:\*:{{MyAWSAcctId}}:layer:{{MyAthenaLambdaLayer}}:\*}} é necessário somente se você usa uma camada do Lambda para criar dependências de tempo de execução personalizadas para reduzir o tamanho do artefato da função no momento da implantação. O `*` na última posição é um curinga para a versão da camada. | 
|  <pre>"lambda:GetFunction",<br />"lambda:GetLayerVersion",<br />"lambda:InvokeFunction"</pre>  | Permite que as consultas chamem as funções do AWS Lambda especificadas no bloco Resource. Por exemplo, arn:aws:lambda:\*:{{MyAWSAcctId}}:function:{{MyAthenaLambdaFunction}}, em que {{MyAthenaLambdaFunction}} especifica o nome da função do Lambda que será invocada. Várias funções podem ser especificadas conforme mostrado no exemplo. | 

**Example : permitir que uma entidade principal do IAM crie um conector de dados do Athena para metastore externo do Hive**  
A política a seguir é anexada aos principais do IAM, além de [AWSPolítica gerenciada pela : AmazonAthenaFullAccess](security-iam-awsmanpol.md#amazonathenafullaccess-managed-policy), que concede acesso completo às ações do Athena.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "lambda:GetFunction",
                "lambda:ListFunctions",
                "lambda:GetLayerVersion",
                "lambda:InvokeFunction",
                "lambda:CreateFunction",
                "lambda:DeleteFunction",
                "lambda:PublishLayerVersion",
                "lambda:DeleteLayerVersion",
                "lambda:UpdateFunctionConfiguration",
                "lambda:PutFunctionConcurrency",
                "lambda:DeleteFunctionConcurrency"
            ],
            "Resource": "arn:aws:lambda:*:{{111122223333}}: function: {{MyAthenaLambdaFunctionsPrefix}}*"
        }
    ]
}
```
 **Explicação de permissões**   
Permite que as consultas chamem as funções do AWS Lambda para as funções do AWS Lambda especificadas no bloco `Resource`. Por exemplo, `arn:aws:lambda:*:{{MyAWSAcctId}}:function:{{MyAthenaLambdaFunction}}`, em que {{MyAthenaLambdaFunction}} especifica o nome da função do Lambda que será invocada. Várias funções podem ser especificadas conforme mostrado no exemplo.