

# AWS Glue 블루프린트에 대한 페르소나 및 역할의 권한
<a name="blueprints-personas-permissions"></a>

다음은 일반적인 페르소나 및 AWS Glue 블루프린트에 대한 페르소나와 역할에 대해 제안된 AWS Identity and Access Management(IAM) 권한 정책입니다.

**Topics**
+ [블루프린트 페르소나](#blueprints-personas)
+ [블루프린트 페르소나에 대한 권한](#blueprints-permssions)
+ [블루프린트 역할에 대한 권한](#blueprints-role-permissions)

## 블루프린트 페르소나
<a name="blueprints-personas"></a>

다음은 일반적으로 AWS Glue 블루프린트의 수명 주기와 관련된 페르소나입니다.


| 페르소나 | 설명 | 
| --- | --- | 
| AWS Glue 개발자 | 블루프린트를 개발, 테스트 및 게시합니다. | 
| AWS Glue 관리자 | 블루프린트에 대한 권한을 등록, 유지 관리 및 부여합니다. | 
| 데이터 분석가 | 블루프린트를 실행하여 워크플로를 생성합니다. | 

자세한 내용은 [AWS Glue의 블루프린트 개요](blueprints-overview.md) 섹션을 참조하세요.

## 블루프린트 페르소나에 대한 권한
<a name="blueprints-permssions"></a>

다음은 각 블루프린트 페르소나에 대해 제안된 권한입니다.



### 블루프린트에 대한 AWS Glue 개발자 권한
<a name="bp-persona-dev"></a>

AWS Glue 개발자는 블루프린트를 게시하는 데 사용되는 Amazon S3 버킷에 대한 쓰기 권한이 있어야 합니다. 종종 개발자는 블루프린트를 업로드한 후 등록합니다. 이 경우 개발자는 [블루프린트에 대한 AWS Glue 관리자 권한](#bp-persona-admin)에 나열된 권한이 필요합니다. 또한 개발자가 블루프린트를 등록한 후 테스트하려면 [블루프린트에 대한 데이터 분석가 권한](#bp-persona-analyst)에 나열된 권한도 필요합니다.

### 블루프린트에 대한 AWS Glue 관리자 권한
<a name="bp-persona-admin"></a>

다음 정책은 AWS Glue 블루프린트를 등록하고, 보고, 유지 관리할 수 있는 권한을 부여합니다.

**중요**  
다음 정책에서 *<s3-bucket-name>*과 *<prefix>*를 등록할 업로드된 블루프린트 ZIP 아카이브의 Amazon S3 경로로 바꿉니다.

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

------

### 블루프린트에 대한 데이터 분석가 권한
<a name="bp-persona-analyst"></a>

다음 정책은 블루프린트를 실행하고 결과 워크플로 및 워크플로 구성 요소를 볼 수 있는 권한을 부여합니다. 또한 AWS Glue가 워크플로와 워크플로 구성 요소를 생성하기 위해 맡는 역할에 `PassRole`을 부여합니다.

이 정책은 모든 리소스에 대한 권한을 부여합니다. 개별 블루프린트에 대한 세분화된 액세스를 구성하려면 블루프린트 ARN에 다음 포맷을 사용합니다.

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

**중요**  
다음 정책에서 *<account-id>*를 유효한 AWS 계정으로 바꾸고 *<role-name>*을 블루프린트를 실행하는 데 사용되는 역할의 이름으로 바꿉니다. 이 역할에 필요한 권한은 [블루프린트 역할에 대한 권한](#blueprints-role-permissions) 섹션을 참조하세요.

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

------

## 블루프린트 역할에 대한 권한
<a name="blueprints-role-permissions"></a>

다음은 블루프린트에서 워크플로를 생성하는 데 사용되는 IAM 역할에 대해 제안된 권한입니다. 역할이 `glue.amazonaws.com`과 신뢰 관계를 맺고 있어야 합니다.

**중요**  
다음 정책에서 *<account-id>*를 유효한 AWS 계정으로 바꾸고 *<role-name>*을 역할의 이름으로 바꿉니다.

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

------

**참고**  
워크플로의 작업 및 크롤러가 이 역할이 아닌 다른 역할을 수임하는 경우 이 정책에는 블루프린트 역할 대신 다른 역할에 대한 `iam:PassRole` 권한이 포함되어야 합니다.