

# Permisos de personas y roles para esquemas de AWS Glue
<a name="blueprints-personas-permissions"></a>

Las siguientes son las personas típicas y las políticas de permisos de AWS Identity and Access Management (IAM) sugeridas para personas y roles en relación con esquemas de AWS Glue.

**Topics**
+ [Personas para esquemas](#blueprints-personas)
+ [Permisos de personas para esquemas](#blueprints-permssions)
+ [Permisos para roles de esquema](#blueprints-role-permissions)

## Personas para esquemas
<a name="blueprints-personas"></a>

Las siguientes son las personas generalmente involucradas en el ciclo de vida de un esquema de AWS Glue.


| Persona | Descripción | 
| --- | --- | 
| AWS GlueDesarrollador de  | Desarrolla, prueba y publica proyectos. | 
| AWS GlueAdministrador de  | Registra, mantiene y concede permisos para proyectos. | 
| Analista de datos | Ejecuta proyectos para crear flujos de trabajo. | 

Para obtener más información, consulte [Información general de los esquemas en AWS Glue](blueprints-overview.md).

## Permisos de personas para esquemas
<a name="blueprints-permssions"></a>

Los siguientes son los permisos sugeridos para cada persona del proyecto.



### Permisos de desarrollador de AWS Glue para esquemas
<a name="bp-persona-dev"></a>

El desarrollador de AWS Glue debe tener permisos de escritura en el bucket de Amazon S3 que se utiliza para publicar el esquema. A general, el desarrollador registra el proyecto después de cargarlo. En ese caso, el desarrollador necesita los permisos enumerados en [Permisos de administrador de AWS Glue para esquemas](#bp-persona-admin). Además, si el desarrollador desea probar el proyecto después de su registro, también necesita los permisos enumerados en [Permisos de analista de datos para esquemas](#bp-persona-analyst). 

### Permisos de administrador de AWS Glue para esquemas
<a name="bp-persona-admin"></a>

La política siguiente concede permisos para registrar, ver y mantener esquemas de AWS Glue.

**importante**  
En la siguiente política , reemplace *<s3-bucket-name>* y *<prefix>* con la ruta de Amazon S3 a los archivos ZIP de proyecto cargados que se registrarán.

------
#### [ 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/*"
    }
  ]
}
```

------

### Permisos de analista de datos para esquemas
<a name="bp-persona-analyst"></a>

La siguiente política concede permisos para ejecutar proyectos y ver el flujo de trabajo y sus componentes resultantes. También concede `PassRole` al rol que AWS Glue asume para crear el flujo de trabajo y sus componentes.

La política concede permisos sobre cualquier recurso. Si desea configurar el acceso detallado a proyectos individuales, utilice el siguiente formato para los ARN de proyecto:

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

**importante**  
En la siguiente política, reemplace *<account-id>* por una cuenta de AWS válida y reemplace *<role-name>* por el nombre del rol utilizado para ejecutar un proyecto. Consulte [Permisos para roles de esquema](#blueprints-role-permissions) para obtener los permisos que requiere este rol.

------
#### [ 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"
    }
  ]
}
```

------

## Permisos para roles de esquema
<a name="blueprints-role-permissions"></a>

Los siguientes son los permisos sugeridos para el rol de IAM utilizado para crear un flujo de trabajo a partir de un proyecto. El rol debe tener una relación de confianza con `glue.amazonaws.com`.

**importante**  
En la siguiente política, reemplace *<account-id>* por una cuenta de AWS válida y reemplace *<role-name>* por el nombre del rol.

------
#### [ 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**  
Si los trabajos y los rastreadores del flujo de trabajo asumen un rol distinto de este rol, esta política debe incluir el permiso `iam:PassRole` en ese otro rol en lugar de en el rol del proyecto.