

# 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:\$1:*MyAWSAcctId*:layer:*MyAthenaLambdaLayer*:\$1* é 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:\$1: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.