IAM ロールベースのアクセス許可を使用して Amazon MWAA で DAG へのアクセスを取得する方法を教えてください。

所要時間2分
0

AWS Identity and Access Management (IAM) のロールベースのアクセス許可を使用して、Amazon Managed Workflows for Apache Airflow (Amazon MWAA) で有向非巡回グラフ (DAG) へのアクセスを取得したいと考えています。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

Web サーバーへのアクセスを許可するカスタム IAM ポリシーを作成する

IAM ユーザーまたはロールにウェブサーバーへのアクセスを許可するカスタム IAM ポリシーを作成するには、デフォルトの Apache Airflow Public ロールを使用します。

次の JSON ポリシードキュメントを使用して IAM ポリシーを作成します。

{
    "Version": "2012-10-17",
    "Statement": [
        {
        "Effect": "Allow",
        "Action": "airflow:CreateWebLoginToken",
        "Resource": [
            "arn:aws:airflow:example-region:example-account-id:role/example-environment/Public"
            ]
        }
    ]
 }

注: お使いのものでそれぞれ、example-region を AWS リージョンに、example-account-id をアカウント ID に、example-environment を環境名に置き換えます。

次に、IAM ユーザーまたはロールにポリシーを追加します。IAM ロールまたはユーザーは、Apache Airflow に少なくとも 1 回ログインしている必要があります。

カスタム Airflow RBAC ロールを作成する

次の手順を実行します。

  1. 管理者ロールを使用して Apache Airflow UI にアクセスします。
  2. [セキュリティ][ロールを一覧表示] を選択すると、デフォルトの Apache Airflow ロールが表示されます。
  3. ロールを選択し、[ロールをコピー] を選択します。
  4. [Users] テーブルでロールを探し、[レコードを編集] を選択します。
  5. [編集] ページで、次の変更を行います。
    ロール名を有効な値に更新します。
    [アクセス許可] で、[DAG の読み取りを許可] および [DAG の編集を許可] を削除します。
    アクセスを許可する DAG に、読み取りおよび書き込みアクセス許可を追加します。
    [保存] を選択します。

注: API を使用して新しいロールベースのアクセス制御 (RBAC) Airflow ロールを作成することもできます。詳細については、GitHub のウェブサイトで amazon-mwaa-examples を参照してください。

Airflow ロールを割り当てる

次の手順を実行します。

  1. Amazon MWAA コンソールを開きます。
  2. IAM ロールを使用して get-environment コマンドを実行します。
    aws mwaa get-environment --name example-environment | jq '.Environment.WebserverUrl'
    注: example-environment は、お使いの環境名に置き換えてください。コマンドの出力にある、ウェブサーバーの URL を書き留めておきます。
  3. 新しいブラウザウィンドウを開き、ウェブサーバの URL を入力します。
    https://example-webserver-url/home
    注: example-webserver-URL は、実際のウェブサーバーの URL に置き換えます。
  4. Forbidden エラーが表示されることを確認します。
    注: 新しいロールを、必要なアクセス許可のない Airflow Public RBAC ロールとして割り当てたため、このエラーは想定動作です。
  5. 管理者ロールを使用して、お使いの環境の Apache Airflow UI にアクセスします。
  6. [セキュリティ][ユーザーのリスト] を選択します。
  7. [ユーザー] テーブルで Apache Airflow ユーザーまたはロールを見つけたら、[レコードを編集] を選択します。ユーザーのファーストネームは、user/customUser 形式の IAM ユーザー名と一致する必要があります。
  8. [ユーザーを編集] ページの [ロール] セクションで、ロールを追加します。
  9. [保存] を選択します。

IAM Public ロールが、customUser に Apache Airflow UI にアクセスして DAG を閲覧するためのアクセス許可を付与します。

AWS公式
AWS公式更新しました 3ヶ月前
コメントはありません

関連するコンテンツ