翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Apache Airflow ウェブサーバーアクセストークンを作成する
このページのコマンドを使用して、ウェブサーバーアクセストークンを作成できます。アクセストークンを使用すると、Amazon MWAA 環境にアクセスできます。例えば、トークンを取得し、Amazon MWAA API を使用してプログラムで DAG をデプロイできます。次のセクションでは、、bash スクリプト AWS CLI、POST API リクエスト、または Python スクリプトを使用して Apache Airflow ウェブログイントークンを作成する手順について説明します。レスポンスでリターンされるトークンは 60 秒間有効です。
前提条件
以下のセクションでは、このページのコマンドとスクリプトを使用するために必要な準備手順について説明します。
アクセス
-
AWS の Amazon MWAA アクセス許可ポリシーへの AWS Identity and Access Management (IAM) の アカウントアクセスApache Airflow UI アクセスポリシー: AmazonMWAAWebServerAccess。
-
AWS Amazon MWAA アクセス許可ポリシー への AWS Identity and Access Management (IAM) での アカウントアクセスAPI とコンソールのフルアクセスポリシー: AmazonMWAAFullApiAccess。
AWS CLI
AWS Command Line Interface (AWS CLI) は、コマンドラインシェルのコマンドを使用して AWS サービスとやり取りできるようにするオープンソースツールです。このページのステップを完了するには、以下のものが必要です。
-
AWS CLI – バージョン 2 をインストールします。
の使用 AWS CLI
次の例では、 の create-web-login-token コマンドを使用して Apache Airflow ウェブログイントークン AWS CLI を作成します。
aws mwaa create-web-login-token --name
YOUR_ENVIRONMENT_NAME
Bash スクリプトを使用する
次の例では、bash スクリプトを使用して の create-web-login-token コマンドを呼び出し AWS CLI 、Apache Airflow ウェブログイントークンを作成します。
-
以下のコードサンプルの内容をコピーし、ローカルに
get-web-token.sh
として保存します。#!/bin/bash HOST=
YOUR_HOST_NAME
YOUR_URL=https://$HOST/aws_mwaa/aws-console-sso?login=true# WEB_TOKEN=$(aws mwaa create-web-login-token --nameYOUR_ENVIRONMENT_NAME
--query WebToken --output text) echo $YOUR_URL$WEB_TOKEN -
赤色
のプレースホルダーをYOUR_HOST_NAME
とYOUR_ENVIRONMENT_NAME
に置き換えます。たとえば、パブリックネットワークのホスト名は次のようになります (https://を除く)。123456a0-0101-2020-9e11-1b159eec9000.c2.us-east-1.airflow.amazonaws.com
-
(オプション) macOS と Linux ユーザーは、次のコマンドを実行して、スクリプトが実行可能であることを確認しなければならないことがあります。
chmod +x get-web-token.sh
-
次のスクリプトを実行して、Web へのログイントークンを作成します。
./get-web-token.sh
-
コマンドプロンプトに次のように表示されるはずです。
https://123456a0-0101-2020-9e11-1b159eec9000.c2.us-east-1.airflow.amazonaws.com/aws_mwaa/aws-console-sso?login=true#{your-web-login-token}
POST API リクエストを使用します。
次の例では、POST API リクエストを使用して Apache Airflow ウェブログイントークンを作成します。
-
次の URL をコピーして、REST API クライアントの URL フィールドに貼り付けます。
https://
YOUR_HOST_NAME
/aws_mwaa/aws-console-sso?login=true#WebToken -
赤色
のプレースホルダーを代わりにYOUR_HOST_NAME
を使用してください。たとえば、パブリックネットワークのホスト名は次のようになります (https://を除く)。123456a0-0101-2020-9e11-1b159eec9000.c2.us-east-1.airflow.amazonaws.com
-
次の JSON をコピーして、REST API クライアントの本文フィールドに貼り付けます。
{ "name": "
YOUR_ENVIRONMENT_NAME
" } -
赤色
のプレースホルダーをYOUR_ENVIRONMENT_NAME
の代わりに使用してください。 -
認証フィールドにキーと値のペアを追加します。たとえば、Postman を使用している場合は、[AWS 署名] を選択し、以下を入力します。
-
AccessKey の
AWS_ACCESS_KEY_ID
-
SecretKey の
AWS_SECRET_ACCESS_KEY
-
-
以下のようなレスポンスが表示されます。
{ "webToken": "<Short-lived token generated for enabling access to the Apache Airflow Webserver UI>", "webServerHostname": "<Hostname for the WebServer of the environment>" }
Python スクリプトを使用します
以下の例では、Python スクリプトの「boto3 create_web_login_token
-
以下のコードサンプルの内容をコピーし、ローカルに
create-web-login-token.py
として保存します。import boto3 mwaa = boto3.client('mwaa') response = mwaa.create_web_login_token( Name="
YOUR_ENVIRONMENT_NAME
" ) webServerHostName = response["WebServerHostname"] webToken = response["WebToken"] airflowUIUrl = 'https://{0}/aws_mwaa/aws-console-sso?login=true#{1}'.format(webServerHostName, webToken) print("Here is your Airflow UI URL: ") print(airflowUIUrl) -
赤色
のプレースホルダーをYOUR_ENVIRONMENT_NAME
の代わりに使用してください。 -
次のスクリプトを実行して、Web へのログイントークンを作成します。
python3 create-web-login-token.py
次のステップ
-
でウェブログイントークンを作成するために使用される Amazon MWAA API オペレーションについて説明しますCreateWebLoginToken。