翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon MWAA 環境へのアクセス
Amazon Managed Workflows for Apache Airflow を使用するには、必要なアクセス許可を持つアカウントと IAM エンティティを使用する必要があります。このトピックでは、Amazon Managed Workflows for Apache Airflow 環境の Apache Airflow 開発チームと Apache Airflow ユーザーにアタッチできるアクセスポリシーについて説明します。
Amazon MWAA リソースにアクセスするには、一時的な認証情報を使用し、グループとロールでフェデレーティッド ID を設定することをお勧めします。ベストプラクティスとして、ポリシーを IAM ユーザーに直接アタッチすることは避けてください。代わりに、 AWS リソースへの一時的なアクセスを提供するグループまたはロールを定義します。
IAM ロールは、特定の許可があり、アカウントで作成できるもう 1 つの IAM アイデンティティです。IAM ロールは、 AWS アイデンティティができることとできないことを決定するアクセス許可ポリシーを持つアイデンティティであるという点で、IAM ユーザーと似ています AWS。ただし、ユーザーは 1 人の特定の人に一意に関連付けられますが、ロールはそれを必要とする任意の人が引き受けるようになっています。また、ロールには標準の長期認証情報 (パスワードやアクセスキーなど) も関連付けられません。代わりに、ロールを引き受けると、ロールセッション用の一時的なセキュリティ認証情報が提供されます。
ID フェデレーションにアクセス許可を割り当てるには、ロールを作成し、そのロールのアクセス許可を定義します。ID フェデレーションが認証されると、そのアイデンティティはロールに関連付けられ、ロールによって定義されたアクセス許可が付与されます。フェデレーションのロールについては、「IAM ユーザーガイド」の「サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する」を参照してください。IAM Identity Center を使用する場合は、許可セットを設定します。アイデンティティが認証後にアクセスできるものを制御するため、IAM Identity Center は、権限セットを IAM のロールに関連付けます。アクセス許可セットの詳細については、「AWS IAM Identity Center User Guide」の「Permission sets」を参照してください。
アカウントの IAM ロールを使用して、アカウントのリソースにアクセスするための別のアクセス AWS アカウント 許可を付与できます。例については、IAM ユーザーガイドの「チュートリアル: IAM ロール AWS アカウント を使用して 全体でアクセスを委任する」を参照してください。
セクション
仕組み
Amazon MWAA 環境で使用されるリソースとサービスには、すべての AWS Identity and Access Management (IAM) エンティティがアクセスできるわけではありません。Apache Airflow ユーザーにこれらのリソースへのアクセス許可を付与するポリシーを作成する必要があります。例えば、Apache Airflow 開発チームにアクセス権を付与する必要があります。
Amazon MWAA は、これらのポリシーを使用して、ユーザーが AWS コンソールまたは環境で使用される APIs でアクションを実行するために必要なアクセス許可を持っているかどうかを検証します。
このトピックの JSON ポリシーを使用して IAM の Apache Airflow ユーザー用のポリシーを作成し、そのポリシーを IAM のユーザー、グループ、またはロールにアタッチできます。
-
AmazonMWAAFullConsoleAccess — このポリシーを使用して、Amazon MWAA コンソールで環境を構成するためのアクセス許可を付与します。
-
AmazonMWAAFullAPIAccess — このポリシーを使用して、環境の管理に使用されるすべての Amazon MWAA API へのアクセス権を付与します。
-
AmazonMWAAReadOnlyAccess – このポリシーを使用して、Amazon MWAA コンソールの環境で使用されるリソースへのアクセスを許可します。
-
AmazonMWAAWebServerAccess – このポリシーを使用して、Apache Airflow ウェブサーバーへのアクセスを許可します。
-
AmazonMWAAAirflowCLIAccess — このポリシーを使用して、Apache Airflow CLI コマンドを実行するためのアクセス権を付与します。
アクセス権限を付与するにはユーザー、グループ、またはロールにアクセス許可を追加します。
-
以下のユーザーとグループ AWS IAM Identity Center:
アクセス許可セットを作成します。「AWS IAM Identity Center ユーザーガイド」の「権限設定を作成する」の手順に従ってください。
-
IAM 内で、ID プロバイダーによって管理されているユーザー:
ID フェデレーションのロールを作成します。詳細については「IAM ユーザーガイド」の「サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する」を参照してください。
-
IAM ユーザー:
-
ユーザーが担当できるロールを作成します。手順については「IAM ユーザーガイド」の「IAM ユーザーのロールの作成」を参照してください。
-
(お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加します。詳細については「IAM ユーザーガイド」の「ユーザー (コンソール) へのアクセス権限の追加」を参照してください。
-
コンソールを通じたアクセスポリシー: AmazonMWAAFullConsoleAccess
Amazon MWAA コンソールで環境を設定する必要がある場合、ユーザーはアクセスAmazonMWAAFullConsoleAccess
許可ポリシーにアクセスする必要がある場合があります。
注記
コンソールを通じたアクセスポリシーには、iam:PassRole
を実行するためのアクセス許可が含まれている必要があります。これにより、ユーザーはサービスにリンクされたロールと実行ロールを Amazon MWAA に渡すことができます。Amazon MWAA は、ユーザーに代わって他の AWS サービスを呼び出すために、各ロールを引き受けます。次の例では、iam:PassedToService
条件キーを使用して、ロールを渡すことができるサービスとして Amazon MWAA サービスプリンシパル (airflow.amazonaws.com
) を指定します。
の詳細についてはiam:PassRole
、IAM ユーザーガイドの「 AWS サービスにロールを渡すアクセス許可をユーザーに付与する」を参照してください。
保管時の暗号化に AWS 所有のキー を使用して Amazon MWAA 環境を作成、管理する場合は、次のポリシーを使用してください。
保管時の暗号化にカスタマーマネージドキーを使用して Amazon MWAA 環境を作成、管理する場合は、次のポリシーを使用してください。カスタマーマネージドキーを使用するには、IAM プリンシパルに、アカウントに保存されているキーを使用して AWS KMS リソースにアクセスするアクセス許可が必要です。
API とコンソールのフルアクセスポリシー: AmazonMWAAFullApiAccess
環境の管理に使用されるすべての Amazon MWAA APIs にアクセスする必要がある場合、ユーザーはAmazonMWAAFullApiAccess
アクセス許可ポリシーにアクセスする必要がある場合があります。Apache Airflow UI にアクセスするための許可は付与されません。
注記
API フルアクセスポリシーには、iam:PassRole
を実行する権限が含まれている必要があります。これにより、ユーザーはサービスにリンクされたロールと実行ロールを Amazon MWAA に渡すことができます。Amazon MWAA は、ユーザーに代わって他の AWS サービスを呼び出すために、各ロールを引き受けます。次の例では、iam:PassedToService
条件キーを使用して、ロールを渡すことができるサービスとして Amazon MWAA サービスプリンシパル (airflow.amazonaws.com
) を指定します。
の詳細についてはiam:PassRole
、IAM ユーザーガイドの「 AWS サービスにロールを渡すアクセス許可をユーザーに付与する」を参照してください。
保管時の AWS 所有のキー 暗号化に を使用して Amazon MWAA 環境を作成および管理する場合は、次のポリシーを使用します。
保存時の暗号化のためにカスタマーマネージドキーを使用して Amazon MWAA 環境を作成、管理する場合は、次のポリシーを使用してください。カスタマーマネージドキーを使用するには、IAM プリンシパルに、アカウントに保存されているキーを使用して AWS KMS リソースにアクセスするアクセス許可が必要です。
読み取り専用コンソールアクセスポリシー: AmazonMWAAReadOnlyAccess
Amazon MWAA コンソール環境の詳細ページの環境で使用されるリソースにアクセスする必要がある場合、ユーザーはアクセスAmazonMWAAReadOnlyAccess
許可ポリシーにアクセスする必要がある場合があります。ユーザーが新しい環境の作成、既存の環境の編集、または Apache Airflow UI へのアクセスを許可することはできません。
Apache Airflow UI アクセスポリシー: AmazonMWAAWebServerAccess
Apache Airflow UI にアクセスする必要がある場合、ユーザーはAmazonMWAAWebServerAccess
アクセス許可ポリシーにアクセスする必要がある場合があります。ユーザーが Amazon MWAA コンソールの環境にアクセスしたり、Amazon MWAA APIs を使用してアクションを実行したりすることはできません。{airflow-role}
で Admin
、Op
、User
、Viewer
または Public
ロールを指定して、ウェブトークンのユーザーのアクセスレベルをカスタマイズします。詳細については、Apache Airflow リファレンスガイドの「デフォルトロール
注記
-
Amazon MWAA は、5 つのデフォルトの Apache Airflow ロールベースのアクセスコントロール (RBAC) ロール
と IAM 統合を提供します。カスタム Apache Airflow ロールの操作の詳細については、「」を参照してくださいチュートリアル: Amazon MWAA ユーザーのアクセスを DAG のサブセットに制限する。 -
このポリシーの
Resource
フィールドを使用して、Amazon MWAA 環境の Apache Airflow ロールベースのアクセスコントロールのロールを指定できます。ただし、ポリシーのResource
フィールドでは Amazon MWAA 環境 ARN (Amazon リソースネーム) をサポートしていません。
Apache Airflow Rest API アクセスポリシー: AmazonMWAARestAPIAccess
Apache Airflow REST API にアクセスするには、IAM ポリシーで airflow:InvokeRestApi
アクセス許可を付与する必要があります。次のポリシーサンプルで、Admin
、Op
、User
、Viewer
または {airflow-role}
の Public
ロールを指定して、ユーザーアクセスのレベルをカスタマイズします。詳細については、「Apache Airflow リファレンスガイド」の「デフォルトロール
注記
プライベートウェブサーバーの設定中に、仮想プライベートクラウド (VPC) の外部から
InvokeRestApi
アクションを呼び出すことはできません。aws:SourceVpc
キーを使用して、このオペレーションに、より詳細なアクセスコントロールを適用できます。詳細については、「aws:SourceVpc」を参照してください。-
このポリシーの
Resource
フィールドを使用して、Amazon MWAA 環境の Apache Airflow ロールベースのアクセスコントロールのロールを指定できます。ただし、ポリシーのResource
フィールドでは Amazon MWAA 環境 ARN (Amazon リソースネーム) をサポートしていません。
Apache Airflow CLI ポリシー: AmazonMWAAAirflowCliAccess
Apache Airflow CLI コマンド ( など) を実行する必要がある場合、ユーザーはアクセスAmazonMWAAAirflowCliAccess
許可ポリシーにアクセスする必要がある場合がありますtrigger_dag
。ユーザーが Amazon MWAA コンソールの環境にアクセスしたり、Amazon MWAA APIs を使用してアクションを実行したりすることはできません。
JSON ポリシーの作成
JSON ポリシーを作成し、IAM コンソールでそのポリシーをユーザー、ロール、またはグループにアタッチできます。IAM での JSON ポリシーの作成方法については、以下のステップで示します。
JSON ポリシーを作成する方法
-
IAM コンソールで、ポリシーページ
を開きます。 -
[Create policy] (ポリシーを作成) を選択します。
-
[JSON] タブを選択します。
-
JSON ポリシーを追加します。
-
[ポリシーの確認] を選択します。
-
[名前] と [説明] (オプション) のテキストフィールドに値を入力します。
たとえば、ポリシーには
AmazonMWAAReadOnlyAccess
という名前を付けることができます。 -
[Create policy] (ポリシーの作成) を選択します。
開発者グループにポリシーをアタッチするユースケースの例
Apache Airflow 開発チームのすべての開発者に権限を適用するため、AirflowDevelopmentGroup
というIAM のグループを使用しているとしましょう。これらのユーザーは AmazonMWAAFullConsoleAccess
、AmazonMWAAAirflowCliAccess
および AmazonMWAAWebServerAccess
の権限ポリシーにアクセスする必要があります。このセクションでは、IAM でグループを作成し、ポリシーを作成してアタッチし、そのグループを IAM ユーザーに関連付ける方法について説明します。この手順では、 AWS所有のキーを使用していることを前提としています。
AmazonMWAAFullConsoleAccess ポリシーを作成する手順
-
AmazonMWAAFullConsoleAccess アクセスポリシーをダウンロードします。
-
IAM コンソールで、ポリシーページ
を開きます。 -
[Create policy] (ポリシーを作成) を選択します。
-
[JSON] タブを選択します。
-
AmazonMWAAFullConsoleAccess
の JSON ポリシーを貼り付けます。 -
以下の値を置き換えます。
-
123456789012
– AWS アカウント ID ( など0123456789
) -
{your-kms-id}
— カスタマーマネージドキーの固有識別子。保存時の暗号化にカスタマーマネージドキーを使用する場合にのみ適用されます。
-
-
[ポリシーの確認] を選択します。
-
[名前] に
AmazonMWAAFullConsoleAccess
と入力します。 -
[Create policy] (ポリシーの作成) を選択します。
AmazonMWAAWebServerAccess ポリシーを作成する手順
-
「AmazonMWAAWebServerAccess アクセスポリシー」をダウンロードします。
-
IAM コンソールで、ポリシーページ
を開きます。 -
[Create policy] (ポリシーを作成) を選択します。
-
[JSON] タブを選択します。
-
AmazonMWAAWebServerAccess
の JSON ポリシーを貼り付けます。 -
以下の値を置き換えます。
-
us-east-1
– Amazon MWAA 環境のリージョン ( などus-east-1
) -
123456789012
– AWS アカウント ID ( など0123456789
) -
{your-environment-name}
— Amazon MWAA 環境名 (MyAirflowEnvironment
など) -
{airflow-role}
—Admin
Apache Airflow のデフォルトロール
-
-
[ポリシーの確認] を選択します。
-
[名前] に
AmazonMWAAWebServerAccess
と入力します。 -
[Create policy] (ポリシーの作成) を選択します。
AmazonMWAAAirflowCliAccess ポリシーを作成する手順
-
AmazonMWAAAirflowCliAccess アクセスポリシーをダウンロードしてください。
-
IAM コンソールで、ポリシーページ
を開きます。 -
[Create policy] (ポリシーを作成) を選択します。
-
[JSON] タブを選択します。
-
AmazonMWAAAirflowCliAccess
の JSON ポリシーを貼り付けます。 -
[ポリシーの確認] を選択します。
-
[名前] に
AmazonMWAAAirflowCliAccess
と入力します。 -
[Create policy] (ポリシーの作成) を選択します。
グループを作成するには
-
IAM コンソールで、グループページ
を開きます。 -
AirflowDevelopmentGroup
の名前を入力します。 -
[次のステップ] をクリックします。
-
[フィルター] に
AmazonMWAA
を入力して結果を絞り込みます。 -
作成した 3 つのポリシーを選択します。
-
[Next Step] (次のステップ) をクリックします。
-
[グループを作成] を選択します。
ユーザーに関連付ける手順
-
IAM コンソールで、ユーザーページ
を開きます。 -
ユーザーを選択します。
-
[グループ] を選択します。
-
[グループにユーザーを追加] を選択します。
-
AirflowDevelopmentGroup を選択します。
-
続いて、[グループに追加] を選択します。
次のステップ
-
Apache Airflow へのアクセス で Apache Airflow UI にアクセスするトークンを生成する方法について説明します。
-
IAM ポリシーの作成の詳細については、「IAM ポリシーの作成」を参照してください。