委任管理拡張機能v3
委任管理拡張機能(DAE)を使うと、他の領域へのアクセスを許可することなく、選択したユーザーグループに管理者権限を付与できるようになります。
DAEを構成する
DAEを構成するには、必ず以下を行います。
Auth0でアプリケーションを登録する
まずは、委任管理拡張機能がユーザーページの管理者権限のあるユーザーに公開するアプリケーションを作成します。これを行うには、Auth0で委任管理アプリケーションを作成します。
作成したら、アプリケーションの[Client ID(クライアントID)]値をメモしてください。
データベース接続を作成する
この例では、データベース接続が、ユーザー領域にアクセスが許可されたユーザーのソースになります。これを構成するには、データベース接続を作成します。
接続をセットアップする際には以下を行います。
HelpDesk
など、適切な接続名を使用する[Disable Sign Ups(サインアップを無効にする)]を有効にするこれにより、セキュリティ保護のため、データベース接続へのリンクを持っているユーザーでも自分自身をサインアップすることができなくなります。
Auth0のアプリケーションで他のすべての接続を無効にする
デフォルトでは、新しいアプリケーションを作成するときに、テナントに関連付けられたすべての接続が有効化されます。この例では、新しく作成したデータベース接続以外の接続をすべて無効にします。これにより、既存の接続を使って自分自身を追加できなくなるため、アプリケーションのセキュリティ保護に役立ちます。
これを構成するには、アプリケーション接続を更新します。
データベース接続にユーザーを作成する
続けるには、少なくとも1人のユーザーを作成し、接続に関連付ける必要があります。
ユーザーにロールを割り当てる
Auth0は、接続に関連付けられたユーザーに対して、そのロールに基づき委任管理拡張機能(DAE)へのアクセスを付与します。DAEに特化したロールは以下の通りです。
ロール... | 付与されるアクセス許可... |
---|---|
Delegated Admin - User |
ユーザーを検索、ユーザーを作成、ユーザーを開く、ユーザーに削除やブロックなどのアクションを実行します。 |
Delegated Admin - Administrator |
Delegated Admin - User(委任管理 - ユーザー)ができるすべてのことを実行できるほか、テナント内のすべてのログを表示し、フックを構成します。 |
Delegated Admin - Auditor |
ユーザーを検索してユーザー情報を表示します(変更は行いません)。アクションベースのボタンはこのロールには表示されません。 |
Delegated Admin - Operator |
ユーザー管理とログにはアクセスしますが、拡張機能の設定セクションにはアクセスしません。 |
ロールを扱う際には、Authorization Core機能セットの使用をお勧めします。
DAEロールを作成します。作成したロールの名前は必ず、上記のあらかじめ定義されたDAEロール名と一致しなければなりません。
Actionsを使用して、ユーザーロールをIDトークンにあるDAEの名前空間に追加します。
exports.onExecutePostLogin = async (event, api) => { const namespace = `https://{yourTenant}/auth0-delegated-admin`; if (event.client.client_id === 'CLIENT_ID' && event.authorization) { api.idToken.setCustomClaim(namespace, { "roles": event.authorization.roles }); } };
Was this helpful?
/
CLIENT_ID
プレースホルダ―を委任管理アプリケーションの[Client ID(クライアントID)]に置き換え、{yourTenant}
をテナント名に置き換えます。たとえば、テナント名が「tenant_name_example」の場合、名前空間は次のようになります:https://tenant_name_example/auth0-delegated-admin
アクション作成の詳細については、「初めてのアクションを作成する
拡張機能をインストールして構成する
これでアプリケーション、接続、およびユーザーの作成と構成が終わったので、委任管理拡張機能をインストールして構成することができます。
拡張機能を使用する
インストールしたら、委任管理拡張機能(DAE)を使用する準備が整います。
地域に応じた適切なログインリンクとテナントの拡張ランタイムを使って拡張機能へ移動します。
場所 | 名前 | ログインリンク |
---|---|---|
オーストラリア | AU | https://{yourTenant}.au.webtask.io/auth0-delegated-admin |
欧州 | EU | https://{yourTenant}.eu.webtask.io/auth0-delegated-admin |
欧州 | EU-2 | https://{yourTenant}.eu.webtask.run/auth0-delegated-admin |
日本 | JP-1 | https://{yourTenant}.jp.webtask.run/auth0-delegated-admin |
英国 | UK | https://{yourTenant}.uk.webtask.run/auth0-delegated-admin |
米国 | US-1 | https://{yourTenant}.us.webtask.io/auth0-delegated-admin |
米国 | US-3 | https://{yourTenant}.us.webtask.run/auth0-delegated-admin |
新しいタブが開いて、ログイン画面が表示されます。
この例では、構成時にデータベース接続のサインアップを無効にしたため、ログイン画面には[Sign Up(サインアップ)]オプションは表示されません。有効な資格情報を入力すると、カスタムの[Delegated Administration Dashboard(委任管理ダッシュボード)]ページにリダイレクトされます。このページには、指定されたタイトルが上部に表示され、(カスタムCSSファイルを指定している場合は)デザインが反映されます。
委任管理セッションのタイムアウト
デフォルトで、トークンの有効期限は10時間です。ただし、セキュリティ上の理由により、委任管理を使っている場合は、トークンがクッキーやsessionStorage
に保存されません。ページを読み込み直すたびに、新しいセッションを開始する必要があります。