ロールの設定
Logto コンソールを使用して設定
ロールタイプの定義
Logto では、適用できるエンティティに基づいて「ユーザーロール」または「マシン間通信アプリロール」の 2 種類のロールがあります。
- ユーザーロール: ユーザーロールは、ユーザーにのみ割り当て可能なロールの一種です。独自の API リソースから権限を含めることができます。
- マシン間通信ロール: M2M ロールは、マシン間通信アプリにのみ割り当て可能なロールの一種です。独自の API 権限と Logto Management API 権限の両方を含めることができます。マシン間通信ロールは通常、マシン間通信認証 (Authentication) を保護するために使用されます。例えば、Logto Management API や独自の API リソースへのアクセスなどです。
ロールを作成した後、そのタイプを変更することはできません。
新しいロールの作成と定義
ロールは権限のグループです。Console > Roles に移動すると、定義したロールのリストが表示されます。
- 技術的には権限やユーザーが割り当てられていないロールを作成することは可能ですが、空のロールを多く作成することはお勧めしません。これにより、ロール管理の調和が乱れ、RBAC システムが効果を失います。
- 権限はセレクター内で API ごとにグループ化されており、一括で追加するか個別に選択することができます。
ロールベースのアクセス制御 (RBAC) は、Logto インフラ全体で使用されており、システム / ユーザーレベルと組織レベルの両方で使用されます。この章では、システム / ユーザーレベルの RBAC に焦点を当てています。組織レベルで RBAC を実装する必要がある場合は、組織テンプレート を参照してください。
ロールの表示または更新
ロール名と説明を編集し、ロールに割り当てられた権限とユーザーをいつでも確認および管理できます。
ロールを削除すると、影響を受けるユーザーにリンクされたすべての権限が削除され、ロール、ユーザーまたはアプリ、および権限間の接続が削除されます。
ロール内のユーザーまたはマシン間通信アプリの管理
選択したロールのタイプに応じて、ロール詳細ページでユーザーまたはマシン間通信アプリケーションを割り当てたり削除したりできます。
「ユーザー」または「マシン間通信アプリ」タブをクリックして、ロールに割り当てられたユーザーまたはアプリを表示します。ロールにユーザーまたはアプリを追加し続けるには、右上の「ユーザーを割り当てる」または「アプリケーションを割り当てる」ボタンをクリックします。
ロール内の権限の管理
ロールの機能を変更する必要がある場合は、権限を割り当てたり削除したりすることで簡単に変更できます。
権限が削除されると、このロールを持つユーザーまたはアプリは、この権限によって付与されたアクセスを失います。
マシン間通信アプリまたはユーザーに割り当てられたロールの管理
ユーザーまたはアプリの詳細ページには「ロール」タブがあります。このタブをクリックして、ユーザーまたはマシン間通信アプリに割り当てられたロールを表示および管理します。
Logto Cloud の設定が不十分な場合は、Management API を活用してプログラム的にこの管理タスクを実行できます。
Logto Management API を使用して設定
Logto Management API を使用して管理します。関連するエンドポイントに呼び出しを行います。この リファレンス を確認してください。
method | path | description |
---|---|---|
GET | /api/roles | フィルターとページネーションを使用してロールを取得します。 |
POST | /api/roles | 指定されたデータで新しいロールを作成します。 |
GET | /api/roles/{Id} | ID でロールの詳細を取得します。 |
DELETE | /api/roles/{Id} | 指定された ID でロールを削除します。 |
PATCH | /api/roles/{Id} | ロールの詳細を更新します。このメソッドは部分更新を行います。 |
GET | /api/roles/{Id}/users | ページネーションを使用してロールが割り当てられたユーザーを取得します。 |
POST | /api/roles/{Id}/users | ユーザーのリストにロールを割り当てます。ロールは User タイプでなければなりません。 |
DELETE | /api/roles/{Id}/users/{userId} | 指定された ID でユーザーからロールを削除します。 |
GET | /api/roles/{Id}/applications | ページネーションを使用してロールが割り当てられたアプリケーションを取得します。 |
POST | /api/roles/{Id}/applications | アプリケーションのリストにロールを割り当てます。ロールは Application タイプでなければなりません。 |
DELETE | /api/roles/{Id}/applications/{applicationId} | 指定された ID でアプリケーションからロールを削除します。 |
GET | /api/roles/{Id}/scopes | ロールにリンクされた API リソーススコープ (権限) を取得します。 |
POST | /api/roles/{Id}/scopes | API リソーススコープ (権限) のリストをロールにリンクします。元のリンクされたスコープは保持されます。 |
DELETE | /api/roles/{Id}/scopes/{scopeId} | 指定された ID でロールから API リソーススコープ (権限) をリンク解除します。 |
デフォルトロール
デフォルトロールは、ユーザーが作成されたときに自動的に割り当てられるロールであり、自己サインアップまたは Management API を通じて作成されます。ロールの詳細 - 一般に移動して、このトグルを有効にすることができます。