役割の割り当て

このトピックでは、Apigee Edge 組織での役割ベースのアクセス制御と、役割を作成して組織に割り当てる方法について説明します。ここで説明する作業を行うには、組織管理者である必要があります。

動画: Apigee Edge に組み込みの役割とカスタム役割を説明する短い動画をご覧ください。

役割とは

役割は基本的に CRUD ベースの権限セットです。CRUD は「作成、読み取り、更新、削除(create, read, update, delete)」を意味します。たとえばあるユーザーに対して、保護されたエンティティの詳細情報の読み取り(つまり「取得」)を許可する役割を与えるが、それを更新 / 削除する権限を与えないことが可能です。組織管理者は最も高いレベルの役割であり、次のものを含む保護されたエンティティに対してあらゆる操作を行うことができます。

  • API プロキシ
  • Trace セッション
  • API プロダクト
  • デベロッパー アプリ
  • デベロッパー
  • 環境(Trace ツール セッションとデプロイ)
  • カスタム レポート(分析)

はじめに

組織管理者である必要がある

ユーザーを作成して役割を割り当てるには、Apigee Edge 組織管理者である必要があります。組織ユーザーと役割を管理するための [Admin] メニューを表示して使用できるのは組織管理者だけです。組織ユーザーの管理もご覧ください。

ユーザー役割について知っておくべきこと

Apigee Edge では、ユーザー役割が役割ベースのアクセスの基盤となります。つまり、ユーザーに 1 つ以上の役割を割り当ることで、そのユーザーが使用できる機能を制御できます。役割について次のことを知っておく必要があります。

  • 自分自身の Agipee Edge アカウントを作成すると、役割が自動的に組織の組織管理者に設定されます。組織にユーザーを追加する場合は、追加する時点で 1 つ以上のユーザー役割を設定します。
  • 組織管理者が組織にユーザーを追加するとき、そのユーザーの役割は管理者によって決定されます。組織管理者は後で必要に応じてそのユーザーの役割を変更できます。下記のユーザーへの役割の割り当てをご覧ください。
  • ユーザーに複数の役割を割り当てることができます。ユーザーに複数の役割が割り当てられている場合は、より大きな権限が優先されます。たとえば、ユーザーに対して API プロキシの作成を許可する役割と許可しない役割がある場合、ユーザーは API プロキシを作成できます。通常の使用事例では、ユーザーに複数の役割を割り当てることは稀です。下記のユーザーへの役割の割り当てをご覧ください。
  • デフォルトで、組織に関連付けられているすべてのユーザーは、他の組織ユーザーの詳細(メールアドレス、名前、姓など)を表示できます。

ユーザー役割は、割り当てられる組織に固有のものであることを理解しておくことが重要です。それぞれの Apigee Edge ユーザーは複数の組織に所属できますが、役割は組織固有です。たとえば、1 人のユーザーに対し、ある組織では管理者役割が割り当てられ、別の組織ではユーザー役割が割り当てられることがあります。

ユーザーへの役割の割り当て

新しいユーザーの作成時または既存のユーザーの編集時に、1 つ以上の役割をユーザーに追加できます。各役割の詳細については、デフォルト役割の権限で説明します。

  1. [Admin] > [Organization Users] を選択します。
  2. [+ User] または既存のユーザーをクリックします。
  3. [Roles] フィールドの中をクリックすると、プルダウンが表示されます。
  4. 追加する役割を選択します。
  5. 必要に応じて、ステップ 3 と 4 を繰り返して役割を追加します。

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 を使って操作できる「エンティティ」を指します。

  • 1 番目の列には、ユーザーが操作するリソースの一般名が表示されます。また 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: ユーザーは、保護されているリソースのインスタンスを削除できます。注: 特定のリソース インスタンスだけを削除できます。たとえば、すべての API プロキシを削除することはできませんが、1 つの特定の API プロキシは削除できます。

Edge 管理 UI ではこれらの同じ CRUD 操作を扱いますが、名前が異なります。

  • View: ユーザーは、保護されているリソースを表示できます。通常、リソースを一度に 1 つずつ表示するか、またはリソースリストを表示できます。
  • Edit: ユーザーは、保護されているリソースを更新できます。
  • Create: ユーザーは、保護されているリソースを作成できます。
  • Delete: ユーザーは、保護されているリソースのインスタンスを削除できます。注: 特定のリソース インスタンスだけを削除できます。たとえば、すべての API プロキシを削除することはできませんが、1 つの特定の API プロキシは削除できます。

カスタム役割の作成

カスタム役割を使用すると、権限を細かく調整して Apigee Edge エンティティ(API プロキシ、プロダクト、デベロッパー アプリ、デベロッパー、カスタム レポートなど)に適用できます。

カスタム役割を UI または API で作成し、構成できます。UI でのカスタムの役割の作成API での役割の作成をご覧ください。