このトピックでは、Apigee Edge 組織でのロールベースのアクセス制御と、ロールを作成して組織に割り当てる方法について説明します。ここで説明する作業を行うには、組織管理者である必要があります。
動画: Apigee Edge の組み込みのロールとカスタムのロールについて説明する短い動画をご覧ください。
ロールとは
ロールは基本的に CRUD ベースの権限セットです。CRUD は「作成、読み取り、更新、削除」を意味します。たとえば、あるユーザーに、保護されたエンティティの詳細の読み取り(つまり「取得」)を許可するロールを付与し、それを更新または削除する権限は付与しないといったことが可能です。組織管理者は最も高いレベルのロールであり、次のものを含む保護されたエンティティに対してあらゆる操作を行うことができます。
- API プロキシ
- Trace セッション
- API プロダクト
- デベロッパー アプリ
- デベロッパー
- 環境(Trace ツール セッションとデプロイ)
- カスタム レポート(分析)
はじめに
ユーザーを作成してロールを割り当てるには、Apigee Edge 組織管理者である必要があります。ユーザーとロールを管理するためのメニュー項目を表示して使用できるのは、組織管理者だけです。組織ユーザーの管理もご覧ください。
ユーザーロールについて知っておくべきこと
Apigee Edge では、ユーザーロールがロールベースのアクセスの基盤となります。つまり、ユーザーに 1 つ以上のロールを割り当ることで、そのユーザーが使用できる機能を制御できます。ロールについて次のことを知っておく必要があります。
- 自分自身の Apigee Edge アカウントを作成すると、そのロールが自動的に組織の組織管理者に設定されます。組織にユーザーを追加する場合は、追加するときに 1 つ以上のユーザーロールを設定します。
- 組織管理者が組織にユーザーを追加するとき、そのユーザーのロールは管理者が決定します。組織管理者は後で必要に応じてそのユーザーのロールを変更できます。後述のユーザーへのロールの割り当てをご覧ください。
- ユーザーに複数のロールを割り当てることができます。ユーザーに複数のロールが割り当てられている場合は、より大きな権限が優先されます。たとえば、API プロキシの作成を許可するロールと許可しないロールの両方が与えられているユーザーは、API プロキシを作成できます。通常のユースケースでは、ユーザーに複数のロールを割り当てることは稀です。後述のユーザーへのロールの割り当てをご覧ください。
- デフォルトで、組織に関連付けられているすべてのユーザーは、他の組織ユーザーの詳細(メールアドレス、名前、姓など)を表示できます。
ユーザーロールは、割り当てられる組織に固有のものであることを理解しておくことが重要です。個々の Apigee Edge ユーザーは複数の組織に所属できますが、そのロールは組織に固有です。たとえば、あるユーザーが、ある組織では組織管理者のロールを持ち、別の組織ではユーザーのロールを持つことができます。
ユーザーへのロールの割り当て
新しいユーザーの追加時または既存ユーザーの編集時に、1 つ以上のロールをユーザーに追加できます。各ロールの詳細については、デフォルトのロールの権限をご覧ください。
Edge API でユーザーにロールを割り当てる
Edge API を使用してユーザーにロールを割り当てることができます。次の例では、ユーザーへのロールの追加 API を使用して、ユーザーを運用管理者のロールに追加します。
curl -X POST -H "Content-Type:application/x-www-form-urlencoded" \ -u orgAdminEmail:pword \ https://api.enterprise.apigee.com/v1/o/org_name/userroles/opsadmin/users?id=jdoe@example.com
ここで、org_name は組織の名前です。
デフォルトのロールの権限
Apigee Edge には、そのまま使用できるデフォルトのロールがいくつか用意されています。詳細については、Edge の組み込みのロールをご覧ください。
組織管理者の場合
組織管理者は、各ユーザータイプの権限リスト全体を確認できます。[Admin] > [Organization Roles] に移動します。ロールをクリックすると、次のような表が表示されます。
この表は、リソースの保護レベルを示します。ここで言うリソースとは、ユーザーが Edge 管理 UI と Edge 管理 API を介して操作できる「エンティティ」のことです。
- 最初の列には、ユーザーが操作するリソースの一般名が表示されます。また、API Proxies、Products、Deployments なども含まれます。この列は、管理 UI に表示される名称そのものを反映しています。
- 2 番目の列には、管理 API を介してリソースにアクセスするためのパスが表示されます。
- 3 番目の列には、各リソースとパスに対してこのロールが行うことができる操作が表示されます。操作の種類は GET、PUT、DELETE です。UI では、これらの操作に対応する名称はそれぞれ「View」、「Edit」、「Delete」となっています。UI と API では、これらの操作を意味する用語が異なることに注意してください。
組織管理者ではない場合
組織管理者でないユーザーは、UI でユーザーのロールを追加 / 変更したり、ロールのプロパティを表示したりすることはできません。各ロールに付与される権限の詳細については、Edge の組み込みのロールをご覧ください。
ロールの操作
管理 API または管理 UI を使ってロールを割り当てることができます。どちらの場合も CRUD 権限を扱いますが、API と UI では用語が異なります。
Edge 管理 API では、次の CRUD 操作を許可できます。
GET:
保護されたリソースの一覧表示、またはシングルトン RBAC リソースの表示をユーザーに許可します。PUT:
保護されたリソースの作成または更新をユーザーに許可します(PUT
とPOST
の両方の HTTP メソッドを含む)。DELETE:
保護されたリソースのインスタンスの削除をユーザーに許可します。
Edge 管理 UI でも、扱う CRUD 操作は同じですが、名称が異なります。
- View: 保護されたリソースの表示をユーザーに許可します。通常は、リソースを一度に 1 つずつ表示するか、リソースを一覧表示できます。
- Edit: 保護されたリソースの更新をユーザーに許可します。
- Create: 保護されたリソースの作成をユーザーに許可します。
- Delete: 保護されたリソースのインスタンスの削除をユーザーに許可します。注: 削除できるのは、リソースの特定のインスタンスのみです。たとえば、すべての API プロキシを削除することはできませんが、特定の API プロキシだけであれば削除できます。
カスタムロールの作成
カスタムロールを使用すると、権限を細かく調整して Apigee Edge エンティティ(API プロキシ、プロダクト、デベロッパー アプリ、デベロッパー、カスタム レポートなど)に適用できます。
カスタムロールの作成と構成は UI または API で行うことができます。UI でのカスタムロールの作成と API でのロールの作成をご覧ください。