适用于私有云的 Edge v. 4.17.09
本部分介绍了如何在启用 SAML 后运行 Edge 系统管理工具和命令。 Edge 上的许多任务都需要系统管理凭据,例如:
- 创建组织和环境
- 添加和移除 Edge 组件
- Runngin apigee-adminapi.sh 命令
- 许多其他任务
不过,在 Edge 上启用 SAML 后,您通常会停用基本身份验证,这样,唯一的身份验证方式就是通过 SAML IDP。因此,您必须确保已将系统管理员账号添加到您的 SAML IDP。
以系统管理员身份调用 Edge 管理 API
许多 Edge API 调用都要求您传递系统管理员凭据。将 SAML 与 Edge Management API 搭配使用介绍了如何在发出 Edge Management API 调用时获取和刷新令牌。
将 apigee-adminapi.sh 实用程序与 SAML 身份验证结合使用
使用 apigee-adminapi.sh 实用程序可以执行通过调用 Edge 管理 API 执行的相同 Edge 配置任务。apigee-adminapi.sh 实用程序的优势在于:
- 使用简单的命令行界面
- 实现基于 Tab 键的命令补全
- 提供帮助和使用信息
- 如果您决定试用该 API,可显示相应的 API 调用
如需了解详情,请参阅使用 apigee-ssoadminapi.sh。
启用 SAML 身份验证后,您可以通过多种方式将系统管理员凭据传递给 apigee-adminapi.sh 实用程序。
您可以通过为 apigee-adminapi.sh 命令使用“-h”选项,查看任何 apigee-adminapi.sh 命令的所有选项,包括用于指定 SAML 凭据的选项。例如:
> apigee-adminapi.sh orgs list -h
例如,您可以传递系统管理员凭据:
> apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow password_grant --admin adminEmail --oauth-password adminPword
其中:
- sso-url 用于指定 Edge SSO 模块的网址。如果您更改了端口或协议 9099 和 HTTP,请进行修改。
- oauth-flow 指定 passcode 或 password_grant。在此示例中,您指定 password_grant。
- adminEmail 是系统管理员的电子邮件地址。
- oauth-password 用于指定系统管理员的密码。
或者,您也可以在调用该命令时使用通行密钥:
> apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow passcode --admin adminEmail --oauth-passcode passcode
其中:
- oauth-flow 指定了密码。
- oauth-passcode 指定从 http://edge_sso_IP_DNS:9099/passcode. 获取的密码。
最后,您可以在调用该命令时使用令牌:
> apigee-adminapi.sh orgs list --sso-url http://edge_sso_IP_DNS:9099 --oauth-flow passcode --admin adminEmail --oauth-token token
其中:
- oauth-flow 指定 passcode 或 password_grant,具体取决于您最初获取令牌的方式。在此示例中,您指定了通行密钥,因为您最初是使用 get_token 获取的令牌。请参阅将 SAML 与 Edge Management API 搭配使用。
- oauh_token 包含令牌。
将 Edge 实用程序与 SAML 身份验证搭配使用
许多 Edge 实用程序都需要系统管理员凭据,例如:
- apigee-provision,用于创建组织、环境和虚拟主机
- setup.sh,用于将节点添加到现有系统
- 您必须在配置文件中指定系统管理员凭据的任何其他实用程序
这些实用程序将通过使用以下属性指定系统管理员凭据的配置文件作为输入:
ADMIN_EMAIL="adminEmail" APIGEE_ADMINPW=adminPWord
如果您省略了密码,系统会提示您输入密码。
启用 SAML 后,您可以使用不同的属性来指定系统管理员的凭据。例如,您可以传递系统管理员凭据:
ADMIN_EMAIL="adminEmail" SSO_LOGIN_URL=http://edge_sso_IP_DNS:9099 OAUTH_FLOW=password_grant OAUTH_ADMIN_PASSWORD=adminPWord
其中:
- SSO_LOGIN_URL 指定边缘单点登录模块的网址。如果您已将端口和协议从 9099 和 HTTP 更改为其他值,请修改端口或协议。
- OAUTH_FLOW 指定 passcode 或 password_grant。在本示例中,您指定了 password_grant,因为您要传递系统管理员的密码。
- OAUTH_ADMIN_PASSWORD 指定系统管理员密码。
或者,您也可以使用以下属性在密码流程中指定凭据:
ADMIN_EMAIL="adminEmail" SSO_LOGIN_URL=http://edge_sso_IP_DNS:9099 OAUTH_FLOW=passcode OAUTH_ADMIN_PASSCODE=passcode
其中:
- OAUTH_FLOW 指定通行密钥。
- OAUTH_ADMIN_PASSCODE 指定从 http://edge_sso_IP_DNS:9099/passcode 获取的通行密钥。
最后,您可以使用
ADMIN_EMAIL="adminEmail" SSO_LOGIN_URL=http://edge_sso_IP_DNS:9099 OAUTH_FLOW=passcode OAUTH_BEARER_TOKEN=token
其中:
- OAUTH_FLOW 指定 passcode 或 password_grant,具体取决于您最初获取令牌的方式。在以下示例中,您指定 passcode,因为您最初是使用 get_token 获取令牌的。请参阅将 SAML 与 Edge 管理 API 搭配使用。
- OAUTH_BEARER_TOKEN 包含该令牌。