翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon MWAA 環境へのアクセス
Amazon Managed Workflows for Apache Airflow (MWAA) を使用するには、必要なアクセス許可を持つアカウント、ユーザー、またはロールを使用する必要があります。このページでは、Apache Airflow 開発チームと Apache Airflow ユーザーに、Apache Airflow 用 Amazon マネージド型ワークフロー (MWAA) 環境にアタッチできるアクセスポリシーについて説明します。
セクション
使用方法
Amazon MWAA 環境で使用されるリソースとサービスは、すべての人がアクセスできるわけではありませんAWS Identity and Access Managementユーザー、ロール、グループなどの (IAM) エンティティ。これらのリソースにアクセスする権限を Apache Airflow ユーザーに付与するポリシーを作成する必要があります。たとえば、Apache Airflow 開発チームにアクセス権を付与する必要があります。
Amazon MWAA はこれらのポリシーを使用して、ユーザーがアクションを実行するために必要なアクセス権限を持っているかどうかを検証しますAWSコンソール、または環境で使用される API を介して。
このトピックの JSON ポリシーを使用して、IAM で Apache Airflow ユーザー用のポリシーを作成し、そのポリシーを IAM のユーザー、グループ、またはロールにアタッチできます。利用可能なポリシーは次のとおりです。
-
AmazonMWAAFullConsoleAccess— Amazon MWAA コンソールで環境を設定する必要がある場合、ユーザーはこのアクセス権限ポリシーにアクセスする必要があります。
-
AmazonMWAAFullApiAccess— 環境を管理するために使用されるすべての Amazon MWAA API にアクセスする必要がある場合、ユーザーはこのアクセス権限ポリシーにアクセスする必要があります。
-
AmazonMWAAReadOnlyAccess— Amazon MWAA コンソールで環境によって使用されるリソースを表示する必要がある場合、ユーザーはこのアクセス権限ポリシーにアクセスする必要があります。
-
AmazonMWAAWebServerAccess— ユーザーが Apache Airflow UI にアクセスする必要がある場合、このアクセス権限ポリシーへのアクセスが必要になる場合があります。
-
AmazonMWAAAirflowCliAccess— Apache Airflow CLI コマンドを実行するには、このアクセス権限ポリシーへのアクセスが必要になる場合があります。
このページのサンプルポリシーにはプレースホルダーが含まれています。たとえば、次のように置き換えます。
をアカウント ID としてYOUR_ACCOUNT_ID
0123456789
。
完全なコンソールアクセスポリシー: AmazonMWAAFullConsoleAccess
ユーザはAmazonMWAAFullConsoleAccess
Amazon MWAA コンソールで環境を設定する必要がある場合のアクセス権限ポリシー。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"airflow:*", "Resource":"*" }, { "Effect":"Allow", "Action":[ "iam:ListRoles" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "iam:CreatePolicy" ], "Resource":"arn:aws:iam::
YOUR_ACCOUNT_ID
:policy/service-role/MWAA-Execution-Policy*" }, { "Effect":"Allow", "Action":[ "iam:CreateServiceLinkedRole" ], "Resource":"arn:aws:iam::*:role/aws-service-role/airflow.amazonaws.com/AWSServiceRoleForAmazonMWAA" }, { "Effect":"Allow", "Action":[ "s3:GetBucketLocation", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:ListBucketVersions" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "s3:CreateBucket", "s3:PutObject", "s3:GetEncryptionConfiguration" ], "Resource":"arn:aws:s3:::*" }, { "Effect":"Allow", "Action":[ "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeRouteTables" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateSecurityGroup" ], "Resource":"arn:aws:ec2:*:*:security-group/airflow-security-group-*" }, { "Effect":"Allow", "Action":[ "kms:ListAliases" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "kms:DescribeKey", "kms:ListGrants", "kms:CreateGrant", "kms:RevokeGrant", "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt*" ], "Resource":"arn:aws:kms:*:YOUR_ACCOUNT_ID
:key/YOUR_KMS_ID
" }, { "Effect":"Allow", "Action":[ "iam:PassRole" ], "Resource":"*", "Condition":{ "StringLike":{ "iam:PassedToService":"airflow.amazonaws.com" } } }, { "Effect":"Allow", "Action":[ "iam:AttachRolePolicy", "iam:CreateRole" ], "Resource":"arn:aws:iam::YOUR_ACCOUNT_ID
:role/service-role/AmazonMWAA*" }, { "Effect":"Allow", "Action":[ "s3:GetEncryptionConfiguration" ], "Resource":"arn:aws:s3:::*" }, { "Effect":"Allow", "Action":"ec2:CreateVpcEndpoint", "Resource":[ "arn:aws:ec2:*:*:vpc-endpoint/*", "arn:aws:ec2:*:*:vpc/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Effect":"Allow", "Action":[ "ec2:CreateNetworkInterface" ], "Resource":[ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-interface/*" ] } ] }
完全な API とコンソールのアクセスポリシー: AmazonMWAAFullApiAccess
ユーザはAmazonMWAAFullApiAccess
環境を管理するために使用されるすべての Amazon MWAA API にアクセスする必要がある場合のアクセス権限ポリシー。Apache Airflow UIにアクセスするためのアクセス許可は付与されません。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"airflow:*", "Resource":"*" }, { "Effect":"Allow", "Action":[ "iam:CreateServiceLinkedRole" ], "Resource":"arn:aws:iam::*:role/aws-service-role/airflow.amazonaws.com/AWSServiceRoleForAmazonMWAA" }, { "Effect":"Allow", "Action":[ "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeRouteTables" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "kms:DescribeKey", "kms:ListGrants", "kms:CreateGrant", "kms:RevokeGrant", "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt*" ], "Resource":"arn:aws:kms:*:
:key/
YOUR_ACCOUNT_ID
" }, { "Effect":"Allow", "Action":[ "iam:PassRole" ], "Resource":"*", "Condition":{ "StringLike":{ "iam:PassedToService":"airflow.amazonaws.com" } } }, { "Effect":"Allow", "Action":[ "s3:GetEncryptionConfiguration" ], "Resource":"arn:aws:s3:::*" }, { "Effect":"Allow", "Action":"ec2:CreateVpcEndpoint", "Resource":[ "arn:aws:ec2:*:*:vpc-endpoint/*", "arn:aws:ec2:*:*:vpc/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ] }, { "Effect":"Allow", "Action":[ "ec2:CreateNetworkInterface" ], "Resource":[ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-interface/*" ] } ] }
YOUR_KMS_ID
読み取り専用コンソールアクセスポリシー: AmazonMWAAReadOnlyAccess
ユーザはAmazonMWAAReadOnlyAccess
Amazon MWAA コンソール環境の詳細ページで環境によって使用されるリソースを表示する必要がある場合のアクセス権限ポリシー。新しい環境を作成したり、既存の環境を編集したり、Apache Airflow UI を表示したりすることはできません。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "airflow:ListEnvironments", "airflow:GetEnvironment", "airflow:ListTagsForResource" ], "Resource": "*" } ] }
Apache エアフロー UI アクセスポリシー: AmazonMWAAWebServerAccess
ユーザはAmazonMWAAWebServerAccess
Apache Airflow にアクセスする必要がある場合は、のアクセス権限ポリシーを使用します。Amazon MWAA コンソールで環境を表示したり、Amazon MWAA API を使用してアクションを実行したりすることはできません。[] を指定します。Admin
,Op
,User
,Viewer
またはPublic
での役割{airflow-role}
をクリックして、Web トークンのユーザーのアクセスレベルをカスタマイズします。詳細については、次を参照してください。デフォルトロール
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "airflow:CreateWebLoginToken", "Resource": [ "arn:aws:airflow:
{your-region}
::role/
YOUR_ACCOUNT_ID
{your-environment-name}
/{airflow-role}
" ] } ] }
Amazon MWAA は、5 つの IAM との統合を提供しますデフォルトの Apache Airflow ロールベースのアクセスコントロール (RBAC) ロール
Apache エアフロー CLI ポリシー: AmazonMWAAAirflowCliAccess
ユーザはAmazonMWAAAirflowCliAccess
Apache Airflow CLIコマンドを実行する必要がある場合の権限ポリシー (trigger_dag
). Amazon MWAA コンソールで環境を表示したり、Amazon MWAA API を使用してアクションを実行したりすることはできません。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "airflow:CreateCliToken" ], "Resource": "*" } ] }
JSON ポリシーを作成する
JSON ポリシーを作成し、IAM コンソールでユーザー、ロール、またはグループにポリシーをアタッチできます。IAM で JSON ポリシーを作成する方法については、以下のステップで示します。
JSON ポリシーを作成するには
-
を開く[ポリシー] ページ
IAM コンソールから。 -
[Create policy] (ポリシーを作成) を選択します。
-
[JSON] タブを選択します。
-
JSON ポリシーを追加します。
-
[Review policy] (ポリシーの確認) を選択します。
-
のテキストフィールドに値を入力します[Name] (名前)そして説明(オプション)。
たとえば、ポリシーにという名前を指定します。
AmazonMWAAReadOnlyAccess
。 -
[Create policy] (ポリシーを作成) を選択します。
開発者グループにポリシーをアタッチするユースケースの例
IAM でという名前のグループを使用しているとしましょうAirflowDevelopmentGroup
をクリックして、Apache Airflow 開発チームのすべての開発者に権限を適用します。これらのユーザーは、以下にアクセスする必要があります。AmazonMWAAFullConsoleAccess
,AmazonMWAAAirflowCliAccess
, およびAmazonMWAAWebServerAccess
アクセス許可ポリシー。このセクションでは、IAM でグループを作成し、これらのポリシーを作成してアタッチし、グループを IAM ユーザーに関連付ける方法について説明します。手順では、AWS所有キーキーキー。
AmazonMWAA を作成するにはFullConsoleAccess 政策
-
を開く[ポリシー] ページ
IAM コンソールから。 -
[Create policy] (ポリシーを作成) を選択します。
-
[JSON] タブを選択します。
-
JSON ポリシーを貼り付けます
AmazonMWAAFullConsoleAccess
。 -
以下の数値を置き換えます。
-
{your-account-id}
— あなたAWSアカウント ID (など0123456789
) -
{your-kms-id}
—aws/airflow
の識別子AWS所有キーキーキー
-
-
[ポリシーの確認。
-
タイプ
AmazonMWAAFullConsoleAccess
に[Name] (名前)。 -
[Create policy] (ポリシーを作成) を選択します。
AmazonMWAA を作成するにはWebServerAccess 政策
-
を開く[ポリシー] ページ
IAM コンソールから。 -
[Create policy] (ポリシーを作成) を選択します。
-
[JSON] タブを選択します。
-
JSON ポリシーを貼り付けます
AmazonMWAAWebServerAccess
。 -
以下の数値を置き換えます。
-
{あなたの地域}
— Amazon MWAA 環境のリージョン (などus-east-1
) -
{your-account-id}
— あなたAWSアカウント ID (など0123456789
) -
{your-environment-name}
— Amazon MWAA 環境名 (などMyAirflowEnvironment
) -
{airflow-role}
—Admin
Apache Airflowデフォルトロール
-
-
[Review policy] (ポリシーの確認) を選択します。
-
タイプ
AmazonMWAAWebServerAccess
に[Name] (名前)。 -
[Create policy] (ポリシーを作成) を選択します。
AmazonMWAA を作成するにはAirflowCliAccess 政策
-
を開く[ポリシー] ページ
IAM コンソールから。 -
[Create policy] (ポリシーを作成) を選択します。
-
[JSON] タブを選択します。
-
JSON ポリシーを貼り付けます
AmazonMWAAAirflowCliAccess
。 -
[ポリシーの確認。
-
タイプ
AmazonMWAAAirflowCliAccess
に[Name] (名前)。 -
[Create policy] (ポリシーを作成) を選択します。
グループを作成するには
-
を開く[グループ] ページ
IAM コンソールから。 -
名前を入力します。
AirflowDevelopmentGroup
。 -
[Next Step (次のステップ)] をクリックします。
-
タイプ
AmazonMWAA
結果を絞り込むにはフィルタ。 -
作成した 3 つのポリシーを選択します。
-
[Next Step (次のステップ)] をクリックします。
-
Create Group を選択します。
ユーザーに関連付けるには
-
を開く[User S
IAM コンソールから。 -
ユーザーを選択します。
-
[グループ] を選択します。
-
選択ユーザーをグループに追加。
-
AirflowDevelopmentGroup を選択します。
-
続いて、[Add to Groups] (グループに追加) を選択します。
次のステップ
-
でApache Airflow にアクセスするためのトークンを生成する方法について説明します。Apache エアフロー UI へのアクセス。
-
IAM ポリシーの作成の詳細については、「IAM ポリシーの作成の詳細についてはIAM ポリシーの作成。