Deploy CLIツール
Before you start
Auth0テナントをセットアップします。
Auth0 Deploy CLIは、Auth0テナントの設定管理をサポートするツールです。スタンドアロンのCLIとして、あるいはノードモジュールとして開発ワークフローに組み込むことができます。
対応しているリソースタイプ:actions
、branding
、client grants
、clients (applications)
、connections
、custom domains
、email templates
、emails
、grants
、guardian
、hook secrets
、log streams
、migrations
、organizations
、pages
、prompts
、resource servers (APIs)
、roles
、tenant settings
、themes
特長
複数環境を重視:アプリケーションのAuth0統合を、フィーチャーブランチから運用までテストできるように設計されています。
キーワードの置換:動的なキーワード置換で、すべての環境でリソース設定を共有できます。
幅広い用途:CLIまたはノードモジュールとしてCI/CDワークフローに統合できます。
はじめに
このガイドでは、スタンドアロンのCLIとして使用するDeploy CLIツールを正しく実装する方法を解説します。Deploy CLIを正しく実装するには、3つの主なステップがあります。
Deploy CLIをインストールする
スタンドアロンのコマンドラインツールとして実行するには:
npm install -g auth0-deploy-cli
専用のAuth0アプリケーションを作成する
Deploy CLIがManagement APIを呼び出すためには、ツールの代理として呼び出しを行う、専用のAuth0アプリケーションが作成されなければなりません。
[Auth0 Dashboard]>[Applications(アプリケーション)]>[Application(アプリケーション)]に移動します。
[+ Create Application(アプリケーションの作成)]を選択します。
内容を説明する名前を付けます(「Deploy CLI」など)。
[Machine to Machine Applications(マシンツーマシンアプリケーション)]を[Application Type(アプリケーションの種類)]として選択します。
[Create(作成)]を選択します。
[Authorize Machine to Machine Application(マシンツーマシンアプリケーションの認可)]ビューに切り替えます。
[Auth0 Management API]を選択します。
管理したいリソースに適した権限を選択します。詳細については、「クライアントスコープ」セクションを参照してください。
[Authorize(認可)]を選択します。
クライアントスコープ
Deploy CLIに管理操作を実行させるためには、指定のアプリケーションにスコープが付与される必要があります。
アプリケーションは、最小権限の原則に従って、付与された権限セットの範囲で操作を行います。選択が必要なのはread:clients
ですが、管理範囲内にあるすべてのリソースタイプについてread:*
、create:*
、およびupdate:*
権限の選択をお勧めします。削除できるようにするには、delete:*
スコープを選択します。
Deploy CLIを構成する
Deploy CLIを設定する方法は2つあります。
構成ファイル(
config.json
)を使用する。環境変数を設定する。
どちらを選ぶか、あるいは両方を選ぶかは、ユースケースや優先事項に左右されます。詳細については、「Deploy CLIを構成する」をお読みください。
この例では、環境変数を次のように設定します。
AUTH0_DOMAIN
AUTH0_CLIENT_ID
AUTH0_CLIENT_SECRET
これらの値は、以前に作成した専用のAuth0アプリケーションの[Settings(設定)]タブにあります。
Deploy CLIを呼び出す
Deploy CLIのexport
コマンドは、次のコマンドと同時に実行することができます:
a0deploy export --format=yaml --output_folder=local
プロセスが完了したら、ローカルディレクトリにリソース設定ファイルが生成されていることを確認しましょう。その後、import
コマンドを実行して、設定をローカルマシンからAuth0テナントへプッシュします:
a0deploy import --config_file=config.json --input_file local/tenant.yaml
フラグとオプションをまとめたリストについては、「CLIとして使用する」をお読みください。