組織内の他のユーザーや管理者にテナント使用機能を委任する場合は、[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には組織メンバーのロールのみ使用できます。組織メンバーにロールを追加するには、「組織メンバーにロールを追加する」をお読みください。
ロールを扱う際には、Authorization Core機能セットの使用をお勧めします。
- DAEロールを作成します。作成したロールの名前は必ず、上記のあらかじめ定義されたDAEロール名と一致しなければなりません。
- DAEロールをユーザーに手動で割り当てます。
-
Actionsを使用して、ユーザーロールをIDトークンにあるDAEの名前空間に追加します。
CLIENT_IDプレースホルダ―を委任管理アプリケーションの [Client ID(クライアントID)] に置き換え、{yourTenant}をテナント名に置き換えます。たとえば、テナント名が「tenant_name_example」の場合、名前空間は次のようになります:https://tenant_name_example/auth0-delegated-admin
アクション作成の詳細については、「初めてのアクションを作成する
Authorization Core(認証コア)を使用すると、
context.authorizationオブジェクトでロールが定義されます。Authorization Core(認証コア)を使用しない場合は、ユーザープロファイルにある以下のいずれかのフィールドでDAEのロールを定義してください。user.app_metadata.rolesuser.app_metadata.authorization.roles
拡張機能をインストールして構成する
これでアプリケーション、接続、およびユーザーの作成と構成が終わったので、委任管理拡張機能をインストールして構成することができます。拡張機能を使用する
インストールしたら、委任管理拡張機能(DAE)を使用する準備が整います。 地域に応じた適切なログインリンクとテナントの拡張ランタイムを使って拡張機能へ移動します。
新しいタブが開いて、ログイン画面が表示されます。
この例では、構成時にデータベース接続のサインアップを無効にしたため、ログイン画面には [Sign Up(サインアップ)] オプションは表示されません。有効な資格情報を入力すると、カスタムの [Delegated Administration Dashboard(委任管理ダッシュボード)] ページにリダイレクトされます。このページには、指定された タイトル が上部に表示され、(カスタムCSSファイルを指定している場合は)デザインが反映されます。
委任管理セッションのタイムアウト
デフォルトで、トークンの有効期限は10時間です。ただし、セキュリティ上の理由により、委任管理を使っている場合は、トークンがクッキーや
sessionStorageに保存されません。ページを読み込み直すたびに、新しいセッションを開始する必要があります。