組織内の他のユーザーや管理者にテナント使用機能を委任する場合は、[Tenant Members(テナントメンバー)]設定の使用をお勧めします。詳細については、「ダッシュボードへのアクセス」をお読みください。
DAEを構成する
DAEを構成するには、必ず以下を行います。- Auth0でアプリケーションを登録する
- データベース接続を作成する
- Auth0のアプリケーションで他のすべての接続を無効にする
- データベース接続にユーザーを作成する
- ユーザーにロールを割り当てる
- 拡張機能をインストールして構成する
- 拡張機能を使用する
Auth0でアプリケーションを登録する
まずは、委任管理拡張機能がユーザーページの管理者権限のあるユーザーに公開するアプリケーションを作成します。これを行うには、Auth0で委任管理アプリケーションを作成します。 作成したら、アプリケーションの [(クライアントID)] 値をメモしてください。データベース接続を作成する
この例では、データベース接続が、ユーザー領域にアクセスが許可されたユーザーのソースになります。これを構成するには、データベース接続を作成します。 接続をセットアップする際には以下を行います。HelpDesk
など、適切な接続名を使用する- [Disable Sign Ups(サインアップを無効にする)] を有効にするこれにより、セキュリティ保護のため、データベース接続へのリンクを持っているユーザーでも自分自身をサインアップすることができなくなります。
Auth0のアプリケーションで他のすべての接続を無効にする
デフォルトでは、新しいアプリケーションを作成するときに、テナントに関連付けられたすべての接続が有効化されます。この例では、新しく作成したデータベース接続以外の接続をすべて無効にします。これにより、既存の接続を使って自分自身を追加できなくなるため、アプリケーションのセキュリティ保護に役立ちます。 これを構成するには、アプリケーション接続を更新します。データベース接続にユーザーを作成する
続けるには、少なくとも1人のユーザーを作成し、接続に関連付ける必要があります。ユーザーにロールを割り当てる
Delegated Administration Extension(DAE:委任管理拡張機能)とAuthorization Core(認可コア)は全く別の機能ですが、Authorization Core(認可コア)機能セットを使用すると、ActionsでDAEのロールを作成し、管理することができます。方法については、「サンプルユースケース:認可のあるアクション」を参照してください。
委任管理拡張機能(DAE)のある組織を使ってユーザーとしてログインする場合は、ユーザーロールを利用できません。
event.authorization.roles
には組織メンバーのロールのみ使用できます。組織メンバーにロールを追加するには、「組織メンバーにロールを追加する」をお読みください。ロール… | 付与されるアクセス許可… |
---|---|
Delegated Admin - User | ユーザーを検索、ユーザーを作成、ユーザーを開く、ユーザーに削除やブロックなどのアクションを実行します。 |
Delegated Admin - Administrator | Delegated Admin - User(委任管理 - ユーザー)ができるすべてのことを実行できるほか、テナント内のすべてのログを表示し、フックを構成します。 |
Delegated Admin - Auditor | ユーザーを検索してユーザー情報を表示します(変更は行いません)。アクションベースのボタンはこのロールには表示されません。 |
Delegated Admin - Operator | ユーザー管理とログにはアクセスしますが、拡張機能の設定セクションにはアクセスしません。 |
- DAEロールを作成します。作成したロールの名前は必ず、上記のあらかじめ定義されたDAEロール名と一致しなければなりません。
- DAEロールをユーザーに手動で割り当てます。
-
Actionsを使用して、ユーザーロールをIDトークンにあるDAEの名前空間に追加します。
CLIENT_ID
プレースホルダ―を委任管理アプリケーションの [Client ID(クライアントID)] に置き換え、{yourTenant}
をテナント名に置き換えます。たとえば、テナント名が「tenant_name_example」の場合、名前空間は次のようになります:https://tenant_name_example/auth0-delegated-admin
アクション作成の詳細については、「初めてのアクションを作成する
Auth0は、プロファイル情報をOpenID Connect(OIDC)仕様で定義されている構造化クレーム形式で返します。つまり、IDトークンまたはアクセストークンに追加するカスタムクレームは、衝突を避けるためにガイドラインと制限に従わなければなりません。
Authorization Core(認証コア)を使用すると、
context.authorization
オブジェクトでロールが定義されます。Authorization Core(認証コア)を使用しない場合は、ユーザープロファイルにある以下のいずれかのフィールドでDAEのロールを定義してください。user.app_metadata.roles
user.app_metadata.authorization.roles
拡張機能をインストールして構成する
これでアプリケーション、接続、およびユーザーの作成と構成が終わったので、委任管理拡張機能をインストールして構成することができます。拡張機能を使用する
インストールしたら、委任管理拡張機能(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 |
委任管理セッションのタイムアウト
デフォルトで、トークンの有効期限は10時間です。ただし、セキュリティ上の理由により、委任管理を使っている場合は、トークンがクッキーや
sessionStorage
に保存されません。ページを読み込み直すたびに、新しいセッションを開始する必要があります。