AWS Glue ブループリントでのペルソナおよびロール用のアクセス許可
以下は、AWS Identity and Access Management ブループリントのための典型的なペルソナと、ペルソナおよびロール用に提案されている AWS Glue(IAM) アクセス許可ポリシーです。
設計図のペルソナ
以下は、一般的に、AWS Glue ブループリントのライフサイクルに関与するペルソナです
ペルソナ | 説明 |
---|---|
AWS Glue 開発者 | 設計図を開発、テスト、公開します。 |
AWS Glue 管理者 | 設計図を登録および保守し、アクセス許可を付与します。 |
データアナリスト | 設計図を実行してワークフローを作成します。 |
(詳細については、AWS Glue のブループリント概要 を参照してください)。
設計図のペルソナ用のアクセス許可
設計図のペルソナごとに、提案されているアクセス許可を以下に示します。
ブループリントのための AWS Glue デベロッパー権限
AWS Glue デベロッパーには設計図の公開に使用される Amazon S3 バケットに対する、書き込みのアクセス許可が必要です。多くの場合、デベロッパーはアップロードした後に設計図を登録します。その場合、デベロッパーには ブループリントのための AWS Glue 管理者のアクセス許可 に一覧表示されているアクセス許可が必要です。さらに、デベロッパーが登録後に設計図をテストする場合は、設計図のためのデータアナリストの権限 に一覧表示されているアクセス許可も必要となります。
ブループリントのための AWS Glue 管理者のアクセス許可
次のポリシーでは、AWS Glue ブループリントを登録、表示、保守するためのアクセス許可が付与されます。
重要
次のポリシーでは、<s3-bucket-name>
および <prefix>
を、登録のためにアップロードされた設計図の ZIP アーカイブを指す Amazon S3 パスに置き換えます。
{ "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:::
<s3-bucket-name>
/<prefix>
/*" } ] }
設計図のためのデータアナリストの権限
次のポリシーは、設計図を実行し、結果のワークフローとワークフローコンポーネントを表示するアクセス許可を付与します。また、ワークフローおよびワークフローコンポーネントを作成するために PassRole
が引き受ける、AWS Glue というロールを付与ます。
このポリシーでは、任意のリソースに対するアクセス許可が付与されます。個々の設計図へのきめ細かなアクセスを構成する場合は、設計図の ARN に次の形式を使用します。
arn:aws:glue:
<region>
:<account-id>
:blueprint/<blueprint-name>
重要
次のポリシーでは、<account-id>
を有効な AWS アカウントに置き換え、<role-name>
を設計図の実行に使用するロールの名前に置き換えます。このロールに必要なアクセス許可については、「設計図のロール用のアクセス許可」を参照してください。
{ "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::
<account-id>
:role/<role-name>
" } ] }
設計図のロール用のアクセス許可
設計図からワークフローを作成するために、IAM ロール用として提案されているアクセス許可を次に示します。このロールには glue.amazonaws.com
との信頼関係が必要です。
重要
次のポリシーでは、<account-id>
を有効な AWS アカウントに置き換え、<role-name>
をロールの名前に置き換えます。
{ "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::
<account-id>
:role/<role-name>
" } ] }
注記
ワークフロー内のジョブとクローラが、このロール以外のロールを引き受ける場合、このポリシーには、設計図のロールのものではなく引き受けたロールでの iam:PassRole
アクセス許可を付与する必要があります。