ユーザー、役割、権限の管理

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

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

ユーザーを管理するために実行するオペレーションの多くは、システム管理者権限を必要とします。クラウドベースの 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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD -X POST http://ms_IP:8080/v1/users \
  -d '<User> \
    <FirstName>New</FirstName> \
    <LastName>User</LastName> \
    <Password>NEW_USER_PASSWORD</Password> \
    <EmailId>foo@bar.com</EmailId> \
  </User>'

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

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

次の例のように、configFile でユーザーを作成します。

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

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com

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

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

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

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

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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD

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

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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD

次のコマンドを使用すると、ユーザーのロールを表示できます。

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com/userroles

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

curl -X DELETE -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
  http://ms_IP:8080/v1/o/org_name/userroles/role/users/foo@bar.com

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

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

  • 組織を作成する
  • Edge インストールに Router、Message Processor、その他のコンポーネントを追加する
  • TLS / SSL を構成する
  • 追加のシステム管理者を作成する
  • すべての Edge 管理タスクを実行する

管理タスクのデフォルト ユーザーは 1 人のみですが、システム管理者は複数存在できます。「sysadmin」ロールのメンバーであるユーザーは、すべてのリソースに対する完全な権限を持ちます。

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

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

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

    ユーザーのメールアドレスを返します。

    [ " foo@bar.com " ]
  4. 新規ユーザーの権限を確認します。
    curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com/permissions

    戻り値:

    {
      "resourcePermission" : [ {
      "path" : "/",
        "permissions" : [ "get", "put", "delete" ]
      } ]
    }
  5. 新しいシステム管理者が追加されたら、そのユーザーを任意の組織に追加できます。
  6. 後でユーザーをシステム管理者ロールから削除する場合は、次の API を使用できます。
    curl -X DELETE -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      http://ms_IP:8080/v1/userroles/sysadmin/users/foo@bar.com

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

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

Edge のインストール時に、システム管理者のメールアドレスを指定します。Edge は、そのメールアドレスを持つユーザーを作成し、そのユーザーをデフォルトのシステム管理者として設定します。後で、上記の説明に沿ってシステム管理者を追加できます。

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

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD 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. New Edge UI のインストールに使用したサイレント構成ファイルを編集して、次のプロパティを設定します。
    ADMIN_EMAIL=NEW_SYS_ADMIN_EMAIL
    APIGEE_ADMINPW=NEW_SYS_ADMIN_PASSWORD
    SMTPHOST=smtp.gmail.com
    SMTPPORT=465
    SMTPUSER=foo@gmail.com
    SMTPPASSWORD=bar
    SMTPSSL=y

    New Edge UI のすべてのプロパティがリセットされるため、SMTP プロパティを含める必要があります。

  4. 新しい Edge UI を再構成します。
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui stop
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui setup -f configFile
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui start

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

  1. 現在のデフォルトのシステム管理者ユーザーのユーザー アカウントを新しいメールアドレスで更新します。
    curl -H content-type:application/json -X PUT -u CURRENT_SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \
      http://ms_IP:8080/v1/users/CURRENT_SYS_ADMIN_EMAIL \
      -d '{"emailId": "NEW_SYS_ADMIN_EMAIL", "lastName": "admin", "firstName": "admin"}'
  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 SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms-IP:8080/v1/users

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

curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD -X DELETE http://ms_IP:8080/v1/users/USER_EMAIL