Apigee 文档网站提供了有关管理用户角色和 权限的丰富信息。您可以使用 New Edge 界面和 Management API 管理用户;但只能使用 Management API 管理角色和 权限。
如需了解用户和创建用户的相关信息,请参阅:
您执行的许多用户管理操作都需要系统管理员 权限。在基于云的 Edge 安装中,Apigee 充当系统 管理员的角色。在 Edge for 私有云 安装中,您的系统管理员必须 执行以下任务。
添加用户
您可以使用 Edge API、New Edge 界面或 Edge 命令创建用户。本部分介绍如何使用 Edge API 和 Edge 命令。如需了解如何在 New Edge 界面中创建用户,请参阅创建 全局用户。
在组织中创建用户后,您必须为该用户分配角色。角色 决定了用户在 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 安装添加路由器、消息处理器和其他组件
- 配置 TLS/SSL
- 创建其他系统管理员
- 执行所有 Edge 管理任务
虽然只有一个用户是管理任务的默认用户,但可以有多个 系统管理员。任何属于“sysadmin”角色的用户都拥有对所有资源的完整 权限。
您可以在 New Edge 界面或 API 中为系统管理员创建用户。不过, 您必须使用 Edge API 将用户分配到“sysadmin”角色。无法在 New Edge 界面中将 用户分配到“sysadmin”角色。
如需添加系统管理员,请执行以下操作:
- 在 New Edge 界面或 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设置为新系统管理员的电子邮件地址。 - 修改用于安装 New Edge 界面的静默配置文件,以设置以下
属性:
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
请注意,您必须添加 SMTP 属性,因为 New Edge 界面上的所有属性都会 重置。
- 重新配置 New Edge 界面:
/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
如果您只想更改当前默认 系统管理员的用户账号的电子邮件地址,请先更新用户账号以设置新的电子邮件地址,然后更改 默认系统管理员的电子邮件地址:
- 使用新的电子邮件
地址
更新当前默认系统管理员用户的用户账号:
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、3 和 4 步,以更新
/opt/apigee/customer/defaults.sh文件并更新 New Edge 界面。
指定系统 管理员的电子邮件网域
为了提高安全性,您可以指定 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 或 New Edge 界面创建用户。不过,您只能使用 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