

# AWS Glue ブループリントでのペルソナおよびロール用のアクセス許可
<a name="blueprints-personas-permissions"></a>

以下は、AWS Identity and Access Management ブループリントのための典型的なペルソナと、ペルソナおよびロール用に提案されている AWS Glue(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>

次のポリシーは、設計図を実行し、結果のワークフローとワークフローコンポーネントを表示するアクセス許可を付与します。また、ワークフローおよびワークフローコンポーネントを作成するために `PassRole` が引き受ける、AWS Glue というロールを付与ます。

このポリシーでは、任意のリソースに対するアクセス許可が付与されます。個々の設計図へのきめ細かなアクセスを構成する場合は、設計図の 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` アクセス許可を付与する必要があります。