NetWorker REST API:处理 RESTAPI 请求时如何使用远程 AUTHC 服务器
Summary: 在具有多个 NetWorker 数据区的环境中,可以通过单个 authc 服务器配置 NetWorker 身份认证。本知识库文章介绍如何使用标头将 NetWorker REST API 调用定向到指定的 authc 服务器,而不是 API URI 中的服务器。
Instructions
NetWorker 表述性状态转移 (REST) 应用程序编程接口 (API) 用于访问 NetWorker 数据保护服务。所有 NetWorker 服务器都包含 NetWorker 身份验证 (AUTHC) 功能。在多服务器环境中,只有一个 AUTHC 服务器可以处理 NetWorker 身份验证。这可以是特定于环境和配置的。在这种情况下,可能需要在 API 请求期间指定“AUTHC”服务器。在本文中,此配置称为“远程 AUTHC 服务器”。如果未在 API 调用中指定远程 AUTHC 服务器,则它可能会失败并显示 HTTP 错误,提示凭据无效、未经授权的访问或权限缺失。NetWorker REST API v3 接口及更高版本可以包含具有自定义标头的 AUTHC 服务器。本文提供有关如何确定 NetWorker Management Console (NMC) 使用的 AUTHC 服务器的主机以及如何使用 X-NW-AUTHC-BASE-URL API 标头。
将“远程 AUTHC 服务器”用于 REST API:
密钥值应提供 AUTHC 服务器 IP 地址或完全限定域名 (FQDN) 和 AUTHC 端口(默认值=9090):
Key: X-NW-AUTHC-BASE-URL Value: REMOTE_AUTHC_SERVER_ADDRESS:9090
我们来比较一下 REST API 身份验证与 NetWorker Management Console (NMC) 和 NetWorker Web 用户界面 (NWUI) 身份验证,以更好地了解 NetWorker 身份验证。每个 NetWorker 服务器都有自己的 AUTHC 服务器;但是,这可能不是配置了本地 NetWorker 用户或外部 (AD/LDAP) 用户的主机。具体取决于 NetWorker 环境的配置方式。
- NMC:NMC 身份验证在安装期间 (Windows) 和安装后 (Linux) 配置。在部署期间指定 AUTHC 服务器,并将所有身份验证请求定向到 AUTHC 主机。一个 AUTHC 主机可以管理多个 NetWorker 服务器的请求。AUTHC 主机定义为
authsvc_hostname在 NMC 服务器的gstd.conf文件中标识的:- Linux:
/opt/lgtonmc/etc/gstd.conf - Windows(默认值):
C:\Program Files\EMC NetWorker\Management\GST\etc\gstd.conf
- Linux:
- NWUI:NWUI 身份验证在安装期间 (Windows) 和安装后 (Linux) 配置。NWUI 使用的 AUTHC 主机在其安装日志中标识:
- Linux:
grep /opt/nwui/logs/install.log -e "Authentication server" Windows:打开位于以下位置的安装日志%LOCALAPPDATA%\Temp\NetWorker_DATE_MCUI.log。在文件中搜索以下内容AUTH_HOSTNAME用于定义 AUTHC 主机。
- Linux:
- REST API:REST API 没有自己的配置文件。针对 URL 中指定的 NetWorker 服务器执行身份验证。要将不同于 NetWorker 服务器本地 AUTHC 实例的 AUTHC 服务器用于 REST API,必须在 REST API 请求中指定 AUTHC 服务器。
Key: X-NW-AUTHC-BASE-URL Value: REMOTE_AUTHC_SERVER_ADDRESS:9090
语法:
curl -k --header "X-NW-AUTHC-BASE-URL:REMOTE_AUTHC_SERVER_ADDRESS:9090" --user USER_ACCOUNT "https://NETWORKER_SERVER_ADDRESS:9090/nwrestapi/v3/global/"
示例:
nve:~ # curl -v -k --header "X-NW-AUTHC-BASE-URL:win-srvr02.networker.lan:9090" --user "networker.lan\bkupadmin" "https://nve.networker.lan:9090/nwrestapi/v3/global/jobs" Enter host password for user 'networker.lan\bkupadmin': * Trying 192.168.0.4:9090... * Connected to nve.networker.lan (192.168.0.4) port 9090 (#0) .. * Server auth using Basic with user 'networker.lan\bkupadmin' > GET /nwrestapi/v3/global/jobs HTTP/1.1 > Host: nve.networker.lan:9090 ... > X-NW-AUTHC-BASE-URL:win-srvr02.networker.lan:9090 > < HTTP/1.1 200 ... < {"count":471,"jobs":[{JOBDSB JSON CONTENT}]
nve.networker.lan“以返回 JOBSDB。在请求中,我们使用 AUTHC 主机”win-srvr02.networker.lan“处理域用户的身份验证”networker.lan\bkupadmin”的输出。输出已编辑;但是,我们可以看到返回了状态 200(成功),并且返回了 JOBSDB 的内容。要使用外部用户 (AD/LDAP),必须将其集成在 AUTHC 服务器上,并为 AD 用户或组指定适当的权限。NetWorker:如何设置 AD/LDAP 验证
日志:
身份验证服务器:
Linux: /nsr/authc/logs
Windows: C:\Program Files\EMC NetWorker\nsr\authc-server\tomcat\logs
REST API(NetWorker 服务器):
Linux: /nsr/logs/restapi/restapi.log
Windows: C:\Program Files\EMC NetWorker\nsr\logs\restapi\restapi.log