ユーザー、ロール、権限の管理

Edge for Private Cloud バージョン 4.17.05

Apigee ドキュメント サイトには、ユーザーロールと権限の管理に関する幅広い情報が掲載されています。ユーザーは Edge UI と Management API の両方を使用して管理できます。ロールと権限は Management API でのみ管理できます。

ユーザーとユーザーの作成については、以下をご覧ください。

ユーザーを管理するために行う操作の多くは、システム管理者権限を必要とします。Cloud ベースの Edge では、Apigee がシステム管理者の役割を担います。Edge for Private Cloud では、システム管理者が下記のようにこれらの作業を行う必要があります。

ユーザーを追加する

ユーザーを作成するには、Edge API、Edge UI、または Edge コマンドを使用します。このセクションでは、Edge API と Edge コマンドの使用方法について説明します。Edge UI でユーザーを作成する方法については、グローバル ユーザーの作成をご覧ください。

組織にユーザーを作成したら、そのユーザーにロールを割り当てる必要があります。ロールにより、Edge でユーザーが持つアクセス権が決まります。

Edge API でユーザーを作成するには、次のコマンドを使用します。

curl -H "Content-Type:application/xml" -u <sysAdminEmail>:<passwd> \
-X POST http://<ms_IP>:8080/v1/users \
-d '<User> \
   <FirstName>New</FirstName> \
   <LastName>User</LastName> \
   <Password>newUserPWord</Password> \
   <EmailId>foo@bar.com</EmailId> \
</User>'

または、次の Edge コマンドを使用してユーザーを作成します。

> /opt/apigee/apigee-service/bin/apigee-service apigee-provision create-user -f configFile

ここで、configFile にはユーザーの作成に必要な情報が含まれています。

APIGEE_ADMINPW=sysAdminPW    # If omitted, you will be prompted.
USER_NAME=foo@bar.com
FIRST_NAME=New
LAST_NAME=User
USER_PWD="newUserPWord"
ORG_NAME=myorg  

その後、この呼び出しを使用してユーザーに関する情報を表示できます。

curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/users/foo@bar.com

ユーザーに組織内のロールを割り当てる

新規ユーザーがなんらかの操作を行うには、そのユーザーに組織内のロールを割り当てる必要があります。ユーザーには、orgadminbusinessuseropsadminuser などのさまざまなロールや、組織で定義されたカスタムロールを割り当てることができます。

ユーザーに組織のロールを割り当てると、そのユーザーは自動的に組織に追加されます。ユーザーを複数の組織に割り当てるには、各組織のロールを割り当てます。

ユーザーに組織内のロールを割り当てるには、次のコマンドを使用します。

curl -X POST -H "Content-Type:application/x-www-form-urlencoded" /
http://<ms_IP>:8080/v1/o/<org_name>/userroles/<role>/users?id=foo@bar.com /
-u <sysAdminEmail>:<passwd> 

この呼び出しでは、ユーザーに割り当てられているすべてのロールが表示されます。ユーザーを追加して新しいロールのみを表示するには、次の呼び出しを使用します。

curl -X POST -H "Content-Type: application/xml" /
http://<ms_IP>:8080/v1/o/<org_name>/users/foo@bar.com/userroles /
-d '<Roles><Role name="role"/></Roles>' /
-u <sysAdminEmail>:<passwd>

ユーザーのロールを表示するには、次のコマンドを使用します。

curl -u <sysAdminEmail>:<passwd> /
http://<ms_IP>:8080/v1/users/foo@bar.com/userroles

組織からユーザーを削除するには、その組織のすべてのロールをユーザーから削除してください。 ユーザーからロールを削除するには、次のコマンドを使用します。

curl -X DELETE -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/o/<org_name>/userroles/<role>/users/foo@bar.com

システム管理者の追加

システム管理者は次のことができます。

  • 組織を作成する
  • Router、Message Processor などのコンポーネントを Edge 環境に追加する
  • TLS / SSL を構成する
  • 追加のシステム管理者を作成する
  • Edge の管理タスクをすべて行う

管理タスクのデフォルト ユーザーは 1 人だけですが、システム管理者は複数設定できます。sysadmin ロールのメンバーには、すべてのリソースに対する完全な権限が付与されます。

システム管理者用のユーザーは、Edge UI または Edge API で作成できます。ただし、Edge API を使用して、ユーザーに sysadmin のロールを割り当てる必要があります。Edge UI では、ユーザーに sysadmin ロールを割り当てることはできません。

システム管理者を追加するには:

  1. Edge UI または Edge API でユーザーを作成します。
  2. ユーザーを sysadmin ロールに追加します。
    curl -u <sysAdminEmail>:<passwd> \
    -X POST http://<ms_IP>:8080/v1/userroles/sysadmin/users \
    -d 'id=foo@bar.com'
  3. 新しいユーザーが sysadmin のロールを持っていることを確認します。
    curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/userroles/sysadmin/users

    ユーザーのメールアドレスを返します。
    [ " foo@bar.com " ]
  4. 新しいユーザーの権限を確認します。
    curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/users/foo@bar.com/permissions

    戻り値:
    {
    "resourcePermission" : [ {
    "path" : "/",
    "delete ", "
    "permissions" : [
  5. 新しいシステム管理者を追加したら、ユーザーを任意の組織に追加できます。
    : 新しいシステム管理者ユーザーは、少なくとも 1 つの組織に追加するまで、Edge UI にログインできません。
  6. 後でユーザーをシステム管理者ロールから削除する場合は、次の API を使用します。
    curl -X DELETE -u <sysadminEmail:pword>
    http://<ms_IP>:8080/v1/userroles/sysadmin/users/foo@bar.com


    この呼び出しでは、ユーザーロールからユーザーが削除されるだけで、ユーザーが削除されるわけではありません。

デフォルトのシステム管理者ユーザーの変更

Edge のインストール時に、システム管理者のメールアドレスを指定します。Edge では、そのメールアドレスでユーザーが作成され、そのユーザーをデフォルトのシステム管理者として設定します。前述のように、後でシステム管理者を追加できます。

このセクションでは、デフォルトのシステム管理者を別のユーザーに変更する方法と、現在のデフォルトのシステム管理者のユーザー アカウントのメールアドレスを変更する方法について説明します。

現在システム管理者として構成されているユーザーのリストを表示するには、次の API 呼び出しを使用します。

curl -u sysAdminEmail:passwd http://<ms_IP>:8080/v1/userroles/sysadmin/users

現在のデフォルトのシステム管理者を確認するには、/opt/apigee/customer/defaults.sh ファイルを確認します。このファイルには、現在のデフォルト システム管理者のメールアドレスを示す次の行が含まれています。

ADMIN_EMAIL=foo@bar.com

デフォルトのシステム管理者を別のユーザーに変更するには:

  1. 前述の方法で新しいシステム管理者を作成するか、新しいシステム管理者のユーザー アカウントがすでにシステム管理者として構成されていることを確認します。
  2. /opt/apigee/customer/defaults.sh を編集して、ADMIN_EMAIL を新しいシステム管理者のメールアドレスに設定します。
  3. Edge UI のインストールに使用したサイレント構成ファイルを編集して、次のプロパティを設定します。
    ADMIN_EMAIL=emailAddressOfNewSysAdmin
    APIGEE_ADMINPW=emailAddressOfNewSysAdmin

    SMTPHOST=smtp.gmail.com
    SMTP が SMTP にリセットされるSMTPHOST=smtp.gmail.comSMTPHOST=smtp.gmail.com
  4. Edge UI を再構成します。
    > /opt/apigee/apigee-service/bin/apigee-service edge-uistop
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui setup -f configFile
    > /opt/apigee/apigee-service/bin/apigee-service edge-ui start

現在のデフォルト システム管理者のユーザー アカウントのメールアドレスのみを変更する場合は、まずユーザー アカウントを更新して新しいメールアドレスを設定し、次にデフォルトのシステム管理者のメールアドレスを変更します。

  1. 現在のデフォルトのシステム管理者ユーザーのユーザー アカウントを、新しいメールアドレスで更新します。
    > curl -H content-type:application/json -X PUT /
    -u currentSysAdminEmail:passwd /
    http://<ms_IP>:8080/v1/users/currentSysAdminEmail:""first" "メールアドレス /
  2. 上記の手順 2、3、4 を繰り返して、/opt/apigee/customer/defaults.sh ファイルと Edge UI を更新します。

システム管理者のメールドメインを指定する

セキュリティを強化するために、Edge システム管理者に必要なメールドメインを指定できます。システム管理者を追加するときに、ユーザーのメールアドレスが指定されたドメインに存在しない場合、sysadmin ロールへのユーザーの追加は失敗します。

デフォルトでは、必須ドメインは空です。つまり、任意のメールアドレスを sysadmin ロールに追加できます。

メールドメインを設定するには:

  1. エディタ management-server.properties で開きます。
    vi /opt/apigee/customer/application/management-server.properties

    このファイルが存在しない場合は作成します。
  2. conf_security_rbac.global.roles.allowed.domains プロパティを、許可されたドメインのカンマ区切りリストに設定します。例:
    conf_security_rbac.global.roles.allowed.domains=myCo.com,yourCo.com
  3. 変更を保存します。
  4. Edge Management Server を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

    ここで sysadmin ロールにユーザーを追加しようとしたときに、そのユーザーのメールアドレスが指定したドメインに存在しない場合、追加は失敗します。

ユーザーの削除

ユーザーを作成するには、Edge API または Edge UI を使用します。ただし、ユーザーを削除するには、API を使用する必要があります。

メールアドレスを含む現在のユーザーのリストを表示するには、次の cURL コマンドを使用します。

curl -u <sysAdminEmail>:<passwd> http://<ms-IP>:8080/v1/users

ユーザーを削除するには、次の cURL コマンドを使用します。

curl -u <sysAdminEmail>:<passwd> -X DELETE http://<ms-IP>:8080/v1/users/<userEmail>