本部分介绍如何在启用 SAML 后运行 Edge 系统管理工具和命令。 Edge 上的许多任务都需要系统管理凭据,例如:
- 创建组织和环境
- 添加和移除 Edge 组件
- Runngin apigee-adminapi.sh 命令
不过,在 Edge 上启用 SAML 后,您通常会停用基本身份验证,这样就只有 通过 SAML IDP 进行身份验证因此,您必须确保在代码中添加 系统管理员账号与您的 SAML IDP 相关联。
将 Edge Management API 作为 系统管理员
许多 Edge API 调用都要求您传递系统管理员凭据。将 SAML 与 Edge Management API 搭配使用包含以下内容: 关于如何在进行 Edge Management API 调用时获取和刷新令牌的说明。
使用 apigee-adminapi.sh 使用 SAML 身份验证的实用程序
使用 apigee-adminapi.sh
实用程序执行相同的 Edge 配置任务
。使用
apigee-adminapi.sh
实用程序具有以下特点:
- 使用简单的命令行界面
- 实现基于标签页的命令补全
- 提供帮助和使用情况信息
- 如果您决定试用该 API,可显示相应的 API 调用
如需了解详情,请参阅使用 apigee-ssoadminapi.sh。
启用 SAML 身份验证后,您可以通过多种方式向系统管理员申请认证
传递给 apigee-adminapi.sh
实用程序。
您可以查看任何 apigee-adminapi.sh
命令的所有选项,包括
指定 SAML 凭据的选项,方法是使用“-h”。例如:
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
选项指定 Apigee 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
指定passcode
。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
,具体取决于您最初获取令牌的方式。在此示例中,您 指定passcode
,因为您最初是使用get_token
。请参阅在 Edge 中使用 SAML 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
指定 Apigee SSO 模块的网址。修改端口或 协议。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
指定passcode
。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
。请参阅在 Edge 中使用 SAML Management API。OAUTH_BEARER_TOKEN
包含令牌。