

# Permissões para pessoas e funções de esquemas do AWS Glue
<a name="blueprints-personas-permissions"></a>

A seguir estão as pessoas típicas e as políticas de permissões do AWS Identity and Access Management (IAM) sugeridas para pessoas e funções para os esquemas do AWS Glue.

**Topics**
+ [Pessoas de esquemas](#blueprints-personas)
+ [Permissões para pessoas de esquemas](#blueprints-permssions)
+ [Permissões para perfis de esquema](#blueprints-role-permissions)

## Pessoas de esquemas
<a name="blueprints-personas"></a>

A seguir estão as pessoas normalmente envolvidas no ciclo de vida dos esquemas do AWS Glue.


| Pessoa | Descrição | 
| --- | --- | 
| AWS GlueDesenvolvedor do  | Desenvolve, testa e publica blueprints. | 
| AWS GlueAdministrador da  | Regista, mantém e concede permissões em blueprints. | 
| Analista de dados | Executa blueprints para criar fluxos de trabalho. | 

Para obter mais informações, consulte [Visão geral dos esquemas no AWS Glue](blueprints-overview.md).

## Permissões para pessoas de esquemas
<a name="blueprints-permssions"></a>

A seguir estão as permissões sugeridas para cada pessoa do blueprint.



### Permissões de desenvolvedor do AWS Glue para esquemas
<a name="bp-persona-dev"></a>

O desenvolvedor do AWS Glue deve ter permissões de gravação no bucket do Amazon S3 usado para publicar o esquema. Muitas vezes, o desenvolvedor registra o blueprint depois de carregá-lo. Nesse caso, o desenvolvedor precisa das permissões listadas em [Permissões de administrador do AWS Glue para esquemas](#bp-persona-admin). Além disso, se o desenvolvedor desejar testar o blueprint após seu registro, ele ou ela também precisará das permissões listadas em [Permissões de analista de dados para esquemas](#bp-persona-analyst). 

### Permissões de administrador do AWS Glue para esquemas
<a name="bp-persona-admin"></a>

A política a seguir concede permissões para registrar, visualizar e manter esquemas do AWS Glue.

**Importante**  
Na política a seguir, substitua *<s3-bucket-name>* e *<prefix>* com o caminho do Amazon S3 dos arquivos ZIP de blueprint carregados a serem registrados.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:CreateBlueprint",
        "glue:UpdateBlueprint",
        "glue:DeleteBlueprint",
        "glue:GetBlueprint",
        "glue:ListBlueprints",
        "glue:BatchGetBlueprints"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/*"
    }
  ]
}
```

------

### Permissões de analista de dados para esquemas
<a name="bp-persona-analyst"></a>

A política a seguir concede permissões para executar blueprints e exibir o fluxo de trabalho resultante e seus componentes. Ela também concede `PassRole` para a função que o AWS Glue assume para criar o fluxo de trabalho resultante e seus componentes.

A política concede permissões em qualquer recurso. Se você deseja configurar o acesso minucioso a blueprints individuais, use o seguinte formato para ARNs de blueprint:

```
arn:aws:glue:<region>:<account-id>:blueprint/<blueprint-name>
```

**Importante**  
Na política a seguir, substitua *<account-id>* por uma conta da AWS válida e substitua *<role-name>* pelo nome da função usada para executar um blueprint. Consulte [Permissões para perfis de esquema](#blueprints-role-permissions) para obter as permissões que essa função requer.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:ListBlueprints",
        "glue:GetBlueprint",
        "glue:StartBlueprintRun",
        "glue:GetBlueprintRun",
        "glue:GetBlueprintRuns",
        "glue:GetCrawler",
        "glue:ListTriggers",
        "glue:ListJobs",
        "glue:BatchGetCrawlers",
        "glue:GetTrigger",
        "glue:BatchGetWorkflows",
        "glue:BatchGetTriggers",
        "glue:BatchGetJobs",
        "glue:BatchGetBlueprints",
        "glue:GetWorkflowRun",
        "glue:GetWorkflowRuns",
        "glue:ListCrawlers",
        "glue:ListWorkflows",
        "glue:GetJob",
        "glue:GetWorkflow",
        "glue:StartWorkflowRun"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::111122223333:role/role-name"
    }
  ]
}
```

------

## Permissões para perfis de esquema
<a name="blueprints-role-permissions"></a>

A seguir estão as permissões sugeridas para a função do IAM usada para criar um fluxo de trabalho a partir de um blueprint. A função deve ter uma relação de confiança com o `glue.amazonaws.com`.

**Importante**  
Na política a seguir, substitua *<account-id>* por uma conta da AWS válida e substitua *<role-name>* pelo nome da função.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:CreateJob",
        "glue:GetCrawler",
        "glue:GetTrigger",
        "glue:DeleteCrawler",
        "glue:CreateTrigger",
        "glue:DeleteTrigger",
        "glue:DeleteJob",
        "glue:CreateWorkflow",
        "glue:DeleteWorkflow",
        "glue:GetJob",
        "glue:GetWorkflow",
        "glue:CreateCrawler"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::111122223333:role/role-name"
    }
  ]
}
```

------

**nota**  
Se os trabalhos e crawlers no fluxo de trabalho assumirem uma função diferente dessa, tal política deverá incluir a permissão `iam:PassRole` nessa outra função, em vez de na função de blueprint.