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
システム管理者を追加する
システム管理者は次の操作を行うことができます。
- 組織を作成する
- ルーター、Message Processor などのコンポーネントを Edge 環境に追加する
- TLS / SSL を構成する
- 追加のシステム管理者を作成する
- Edge の管理タスクを行う
管理タスク用のデフォルト ユーザーは 1 人だけですが、システム管理者を複数作成できます。sysadmin ロールのメンバーには、すべてのリソースに対する完全な権限が付与されます。
システム管理者用のユーザーを Edge UI または Edge API で作成することができます。ただし、sysadmin ロールをユーザーに割り当てるには、Edge API を使用する必要があります。Edge UI で sysadmin ロールをユーザーに割り当てることはできません。
システム管理者を追加するには:
- Edge UI または API でユーザーを作成します。
- ユーザーに sysadmin ロールを追加します。
curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD \ -X POST http://ms_IP:8080/v1/userroles/sysadmin/users -d 'id=foo@bar.com'
- 新しいユーザーに sysadmin ロールが割り当てられたことを確認します。
curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/userroles/sysadmin/users
ユーザーのメールアドレスを返します。
[ " foo@bar.com " ]
- 新しいユーザーの権限を確認します。
curl -u SYS_ADMIN_EMAIL:SYS_ADMIN_PASSWORD http://ms_IP:8080/v1/users/foo@bar.com/permissions
戻り値:
{ "resourcePermission" : [ { "path" : "/", "permissions" : [ "get", "put", "delete" ] } ] }
- 新しいシステム管理者を追加したら、ユーザーを組織に追加できます。
- ユーザーからシステム管理者ロールを削除するには、次の 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
デフォルトのシステム管理者を別のユーザーに変更するには:
- 上記のように新しいシステム管理者を作成します。あるいは、新しいシステム管理者のユーザー アカウントがすでにシステム管理者として構成されていることを確認します。
/opt/apigee/customer/defaults.sh
をエディタで開き、ADMIN_EMAIL
に新しいシステム管理者のメールアドレスを設定します。- 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 プロパティを含める必要があることに注意してください。
- 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
単に現在のデフォルト システム管理者のユーザー アカウントのメールアドレスを変更するだけの場合は、まずそのユーザー アカウントを更新して新しいメールアドレスを設定してから、デフォルト システム管理者のメールアドレスを変更します。
- 新しいメールアドレスを使用して、現在のデフォルト システム管理者のユーザー アカウントを更新します。
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~4 を繰り返して
/opt/apigee/customer/defaults.sh
ファイルを更新し、Edge UI を更新します。
システム管理者のメールドメインを指定する
Edge システム管理者に必須のメールドメインを指定すると、セキュリティのレベルを強化できます。システム管理者を追加するときに、ユーザーのメールアドレスが指定のドメインに属していないと、ユーザーに sysadmin ロールを割り当てることができません。
デフォルトでは、必須ドメインは空です。つまり任意のメールアドレスを sysadmin ロールに追加できます。
メールドメインを設定するには:
management-server.properties
ファイルをエディタで開きます。vi /opt/apigee/customer/application/management-server.properties
このファイルが存在しない場合は作成します。
conf_security_rbac.global.roles.allowed.domains
プロパティに、許可されるドメインのカンマ区切りのリストを設定します。次に例を示します。conf_security_rbac.global.roles.allowed.domains=myCo.com,yourCo.com
- 変更を保存します。
- 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