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

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

組織内での役割をユーザーに割り当てる

新しいユーザーには必ず組織内の役割を割り当てる必要があります。そうしないと、ユーザーは何もできません。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 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

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

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

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

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

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

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

  1. Edge UI または Edge 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

    この API はユーザーからシステム管理者の役割を削除するだけであり、ユーザー自体は削除しません。

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

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. 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

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

  4. Edge UI を再構成します。
    /opt/apigee/apigee-service/bin/apigee-service edge-ui stop
        /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 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~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