ロールの設定
Logto Console を介して設定する
ロールタイプを定義する
Logto では、適用できるエンティティに基づいて「ユーザーロール」または「マシン間通信アプリロール」の 2 種類のロールがあります。
- ユーザーロール:ユーザーロールはユーザーにのみ割り当て可能なロールの一種です。独自の API リソースから権限を含めることができます。
- マシン間通信ロール:M2M ロールはマシン間通信アプリにのみ割り当て可能なロールの一種です。独自の API 権限と Logto Management API 権限の両方を含めることができます。マシン間通信ロールは通常、マシン間通信認証 (Authentication) を保護するために使用されます。例えば、Logto Management API や独自の API リソースにアクセスする場合などです。
ロールを作成した後、そのタイプを変更することはできません。
新しいロールを作成して定義する
ロールは権限のグループです。Console > Roles に移動すると、定義したロールのリストが表示されます。
- 権限やユーザーが割り当てられていないロールを作成することは技術的には可能ですが、空のロールを多く作成することはお勧めしません。これにより、ロール管理の調和が乱れ、RBAC システムが効果を失います。
- 権限はセレクター内で API ごとにグループ化されており、一括で追加することも個別に選択することもできます。
ロールベースのアクセス制御 (RBAC) は、Logto インフラ全体で使用されており、システム / ユーザーレベルと組織レベルの両方で使用されます。この章では、システム / ユーザーレベルの RBAC に焦点を当てています。組織レベルで RBAC を実装する必要がある場合は、組織テンプレート を参照してください。
ロールを表示または更新する
ロール名と説明を編集し、ロールに割り当てられた権限とユーザーをいつでも確認および管理できます。
ロールを削除すると、影響を受けるユーザーにリンクされたすべての権限が削除され、ロール、ユーザーまたはアプリ、および権限間の接続が削除されます。
ロール内のユーザーまたはマシン間通信アプリを管理する
選択したロールのタイプに応じて、ロール詳細ページでユーザーまたはマシン間通信アプリケーションを割り当てたり削除したりできます。
「Users」または「Machine-to-machine apps」タブをクリックして、ロールに割り当てられたユーザーまたはアプリを表示します。ロールにユーザーまたはアプリを追加し続けるには、右上の「Assign users」または「Assign applications」ボタンをクリックします。
ロール内の権限を管理する
ロールの機能を変更する必要がある場合は、権限を割り当てたり削除したりすることで簡単に行えます。
権限が削除されると、このロールを持つユーザーまたはアプリは、この権限によって付与されたアクセスを失います。
マシン間通信アプリまたはユーザーに割り当てられたロールを管理する
ユーザーまたはアプリの詳細ページに「Roles」タブがあります。このタブをクリックして、ユーザーまたはマシン間通信アプリに割り当てられたロールを表示および管理します。
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 を通じて作成されます。「General」タブに移動して、このトグルを有効にできます。詳細ページの Console > Roles の下にあります。