Edge for Private Cloud v4.18.01
Apigee 文档网站提供了大量有关如何管理用户角色和权限的信息。您可以使用 Edge 界面和 Management API 管理用户;角色和权限只能通过 Management API 管理。
有关用户和创建用户的信息,请参阅:
您为管理用户而执行的许多操作都需要具备系统管理员权限。在基于云端的 Edge 安装中,Apigee 以系统管理员的角色运行。在适用于私有云的 Edge 中,您的系统管理员必须执行下述任务。
添加用户
您可以使用 Edge API、Edge 界面或 Edge 命令创建用户,本部分介绍如何使用 Edge API 和 Edge 命令。如需了解如何在 Edge 界面中创建用户,请参阅创建全局用户。
在组织中创建用户后,您必须向用户分配角色。角色决定了用户在 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
将用户分配给组织中的角色
必须先向组织中的角色分配新用户,然后新用户才能执行任何操作。您可以为用户分配不同的角色,包括 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 <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
添加系统管理员
系统管理员可执行以下操作:
- 创建组织
- 在 Edge 安装中添加路由器、消息处理器和其他组件
- 配置 TLS/SSL
- 创建其他系统管理员
- 执行所有 Edge 管理任务
虽然只能将单个用户作为管理任务的默认用户,但可以有多个系统管理员。作为 sysadmin 角色的任何用户都拥有对所有资源的完整权限。
您可以通过 Edge 界面或 API 为系统管理员创建用户。但是,您必须使用 Edge API 为用户分配 sysadmin 角色。在 Edge 界面中无法将用户分配给 sysadmin 角色。
添加系统管理员:
- 在 Edge 界面或 API 中创建用户。
- 将用户添加到 sysadmin 角色:
curl -u <sysAdminEmail>:<passwd> \
-X POST http://<ms_IP>:8080/v1/userroles/sysadmin/users \
-d 'id=foo@bar.com' - 请确保新用户是系统管理员角色:
curl -u <sysAdminEmail>:<passwd> http://<ms_IP>:8080/v1/userroles/sysadmin/users
返回用户的电子邮件地址:
[ " foo@bar.com " ] - <ph type="x-placeholder">
- 添加新的系统管理员后,您可以将该用户添加到任何组织。
注意:新的系统管理员用户无法登录边缘界面,除非您将该用户添加到至少一个组织中。 - 如果您以后想要从系统管理员角色中移除该用户,可以使用以下 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
如需将默认系统管理员更改为其他用户,请执行以下操作:
- 按照上述步骤创建新的系统管理员,或确保新系统管理员的用户帐号已配置为系统管理员。
- 修改 /opt/apigee/customer/defaults.sh 以将 ADMIN_EMAIL 设置为新系统管理员的电子邮件地址。
- 修改用于安装 Edge 界面的静默配置文件,以设置以下属性:
ADMIN_EMAIL=emailAddressOfNewSysAdmin
APIGEE_ADMINPW=pwOfNewSysAdmin
SMTPHost=smtp.gmail.com
SMTPPORT=465
SMTPUSER=foo@gmail.com - 重新配置边缘界面:
> /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
如果您只想更改当前默认系统管理员的用户帐号电子邮件地址,请先更新该用户帐号以设置新电子邮件地址,然后更改默认系统管理员电子邮件地址:
- 新上传
- 重复前面程序中的第 2 步、第 3 步和第 4 步,以更新 /opt/apigee/customer/defaults.sh 文件并更新 Edge 界面。
指定系统管理员的电子邮件域名
作为 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 - 保存更改。
- 重启边缘管理服务器:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
如果您现在尝试向 sysadmin 角色添加用户,但用户的电子邮件地址不属于任何指定的网域,添加将会失败。
删除用户
您可以使用 Edge API 或 Edge 界面创建用户。不过,您只能使用 API 删除用户。
要查看当前用户列表(包括电子邮件地址),请使用以下 c网址 命令:
curl -u <sysAdminEmail>:<passwd> http://<ms-IP>:8080/v1/users
使用以下 c网址 命令删除用户:
curl -u <sysAdminEmail>:<passwd> -X DELETE http://<ms-IP>:8080/v1/users/<userEmail>