本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
发现工具所需的权限
该发现工具使用多种协议连接到您的基础架构。每个协议和收集模块都需要特定的账户权限。本节介绍完成数据收集所需的最低权限,以及如果某些权限不可用,您将丢失哪些数据。
VMware vCenter
该发现工具通过端口 443 (HTTPS) 连接到 VMware vCenter Server 并执行只读操作。未对您的 vCenter 环境进行任何更改。
最低要求角色: Read-Only,在 vCenter 根级别分配。
该 Read-Only 角色提供发现工具收集虚拟机清单(名称、UUID、CPU、内存、磁盘、网络、电源状态、客户机操作系统)和性能指标(CPU 利用率、内存利用率、磁盘 IOPS 和吞吐量)所需的所有访问权限。
建议:在根数据中心级别创建具有内置 Read-Only 角色的专用 vCenter 用户。
Hyper-V 主机 (Windows)
该发现工具通过 WinRM 连接到 Hyper-V 主机(HTTP 端口 5985,HTTPS 端口 5986),并运行 PowerShell 命令来收集虚拟机清单、主机元数据和存储性能。
每位 Hyper-V主持人@@ 所需的最低群组成员资格:
| Windows 群组 | 为什么需要它 |
|---|---|
| 远程管理用户 | 基准 WinRM 远程访问 |
| Hyper-V 管理员 | 虚拟机清单收集(虚拟机列表、磁盘、网络、内存、客户机操作系统) |
| 性能监控器用户 | 存储 I/O 性能计数器(每个 VM 的 read/write IOPS 和吞吐量) |
该账户还需要 WMI 对主机操作系统版本和硬件 UUID 的root\cimv2命名空间的读取权限。默认情况下,本地管理员会授予此访问权限,但必须为非管理员帐户明确配置此访问权限。
建议:创建一个专用的域服务帐户,并将其添加到每台 Hyper-V 主机上的 “远程管理用户”、“管理 Hyper-V 员” 和 “性能监控器用户” 组中。避免使用域管理员帐户。
Linux 服务器 (SSH)
该发现工具通过 SSH(端口 22)连接到 Linux 服务器,以收集操作系统指标、网络连接和服务器清单。大多数数据收集都是以普通用户身份进行的。如果 sudo 不可用,少量命令会尝试sudo并自动回退。
所需的最低访问权限:可以登录目标服务器的 SSH 用户帐户。
推荐访问权限:同一个 SSH 用户配置了无密码 sudo 以进行完整的数据收集。
什么需要 sudo 以及没有 sudo 会发生什么:
| 收集的数据 | 需要 Sudo 吗? | 没有 sudo 你会失去什么 |
|---|---|---|
| 服务器名称、操作系统、CPU、内存、IP、磁盘数量 | 否 | 什么都没有 — 以普通用户身份收集 |
| CPU、内存和网络利用率 | 否 | 什么都没有 — 以普通用户身份收集 |
| 磁盘 IOPS、吞吐量和空间 | 否 | 什么都没有 — 以普通用户身份收集 |
| 网络接口配置 | 否 | 什么都没有 — 以普通用户身份收集 |
| 正在运行的进程(名称、PID、命令) | 否 | 什么都没有 — 以普通用户身份收集 |
| 服务器 UUID 和 SMBIOS UUID | 是 | 导出时的 UUID 字段为空 |
| 硬件制造商(物理检测与虚拟检测) | 是 | 在较旧的发行版中,资源类型检测不太准确 |
| LVM 逻辑卷检测 | 是 | 未检测到 LVM 卷;卷类型可能显示为 “未知” |
| 带有进程名称和 PID 的网络连接 | 是 | 连接仍会被收集,但没有流程归因(PID 和流程名称列为空) |
| Oracle 数据库 OS-level 检测(未配置 Oracle 凭据时的回退) | 是 | 基本的 Oracle 在线状态检测(oratab,进程监视器)无需使用 sudo 即可运行。详细收集(opatch、lsnrctl、ASM、Grid Infrastructure)需要无密码sudo -u oracle访问 Oracle 主目录二进制文件。 |
注意
由于缺乏 sudo,发现工具永远不会完全失败。它尽其所能收集并报告部分结果。但是,要获得最完整的数据,尤其是带有进程名称的网络依赖关系映射,我们建议使用无密码 sudo。
目标服务器上必需的实用程序:以下命令应可用(在大多数 Linux 发行版中默认安装):ss或netstat、lsblk、top、ps、、free、ip、df、、hostname、cat、nproc、、和grep。对于其他数据,可选:iostat(磁盘 I/O 详细信息)、dmidecode(硬件 UUID)、smartctl(磁盘接口类型)、lvdisplay(LVM 检测)。
Windows 服务器 (WinRM) — 操作系统指标
该发现工具通过 WinRM 连接到 Windows 服务器,以收集操作系统指标(服务器清单、性能、存储、网络接口和正在运行的进程)。
所需的最低访问权限:可以远程访问目标服务器的 WinRM-enabled 用户帐户。
推荐访问权限:本地管理员组中的用户,用于完成数据收集。
| 权限级别 | 它能做什么 | 没有它你会失去什么 |
|---|---|---|
| 远程管理用户(WinRM 访问权限) | 所有 Windows 数据收集 | 未从服务器收集任何数据 |
WMI 的读取权限 root\cimv2 |
服务器名称、操作系统版本、内存、UUID、BIOS 序列号、磁盘空间 | 服务器清单字段为空 |
| 性能监控器用户 | CPU 利用率、网络吞吐量、磁盘 IOPS 和吞吐量 | 未收集绩效指标 |
| 本地管理员 | 正在运行的进程所有者姓名 | 已收集进程列表但该 user/owner 列为空 |
注意
本地管理员成员资格隐式授予性能监控器用户访问权限和 WMI 读取权限,因此它满足上述所有要求。
注意
未配置 Oracle 凭据时,Windows 上的 Oracle 数据库 OS-level 回退检测使用注册表查询Get-Service和Get-Process命令。这些命令只需要标准的远程管理用户访问权限。除了操作系统指标要求之外,不需要其他权限。
Windows 服务器 (WinRM) — SQL Server 集合
SQL Server 集合发现 Windows 服务器上的 SQL Server 实例、报告服务 (SSRS) 和集成服务 (SSIS)。
推荐访问权限:每台目标 Windows 服务器上本地管理员组中的一个用户。
建议使用本地管理员,因为 SQL Server 发现会查询多个 WMI 命名空间,并且某些操作需要提升访问权限:
| 发现了什么 | 需要许可 | 没有它你会失去什么 |
|---|---|---|
| SQL Server 数据库引擎实例(版本、版本、状态) | WMI 对命名空间的读取root\Microsoft\SqlServer\ComputerManagement*权限 |
未发现 SQL 服务器实例 |
| SQL Server Reporting Services (SSRS) | WMI 对命名空间的读取root\Microsoft\SqlServer\ReportServer权限 |
未发现 SSRS 组件 |
| SSRS 网址和端口配置 | 提升权限(本地管理员) | SSRS 网址预留详情缺失 |
| SQL Server Integration Services (SSIS) | 注册表读取权限 (HKLM) | SSIS 版本和版本缺失 |
| Port-to-service 协会 | 访问 TCP 监听器枚举 | 无法将侦听端口与 SQL Server 服务相关联 |
注意
SQL 服务器集合是 Windows-only。该发现工具会跳过 Linux 服务器进行 SQL Server 发现。
甲骨文数据库 (SQL)
Oracle 数据库集合通过端口 1521(或自定义端口)直接连接到 Oracle 实例,以收集数据库元数据。该发现工具不需要 DBA 或 SYSDBA 权限。
所需的最低访问权限:具有 SELECT_CATALOG_ROLE 权限的只读 Oracle 服务帐户。
发现工具无法访问诊断包或调整包视图,因此无需额外的 Oracle 许可证即可进行数据收集。
创建账户的 SQL:
CREATE USER discovery_user IDENTIFIED BY <password>; GRANT CREATE SESSION TO discovery_user; GRANT SELECT_CATALOG_ROLE TO discovery_user;
OS-level 回退:如果未配置数据库凭据或连接失败,则发现工具将使用现有的 SSH 或 WinRM 操作系统凭据来检测 Oracle 的安装。除了 Oracle-specific 操作系统指标模块要求的权限外,不需要其他操作系统权限。
网络收藏
网络收集使用不同的协议,具体取决于服务器的操作系统:
| 服务器操作系统 | 协议 | 所需权限 |
|---|---|---|
| Linux | SSH | 连接数据的普通用户。对于进程级别的详细信息(PID 和进程名称),建议使用无密码 sudo。 |
| Linux | snmpv2 | 一个只读社区字符串,可以访问 TCP MIB(tcp ConnState、tcpConnectionProcess)和主机资源 MIB(hrSWRunName)。 |
| Linux | snmpv3 | 对与 SNMPv2 相同的 MIB 具有读取权限的 USM 用户。支持 “否” AuthNoPriv、“身份验证” NoPriv 和 “AuthPriv” 安全级别。 |
| Windows | WinRM | WMI 对root\StandardCIMV2命名空间(msft_nettcpConnection 类)的读取权限。 |
快速参考:按用例划分的最低权限
| 使用案例 | 账户类型 | 最小权限 |
|---|---|---|
| VMware VM | vCenter 用户 | Read-Only 根数据中心级别的角色 |
| Hyper-V 虚拟机发现 | Windows 域名或本地账户 | 远程管理用户 + 管理 Hyper-V 员 + 每台主机上的性能监控器用户 |
| Linux 操作系统指标-完整数据 | SSH 用户 | 无密码 sudo |
| Linux 操作系统指标 — 部分数据 | SSH 用户 | 普通用户(没有 sudo)。UUID、制造商、LVM 和网络进程信息将丢失。 |
| Windows 操作系统指标-完整数据 | WinRM 用户 | 本地管理员 |
| Windows 操作系统指标-基本数据 | WinRM 用户 | 远程管理用户 + WMI 读取权限 root\cimv2 |
| SQL 服务器数据库发现 | WinRM 用户 | 本地管理员 |
| 甲骨文数据库发现 (SQL) | 甲骨文服务账户 | SELECT_CATALOG_ROLE(只读,没有 DBA 或 SYSDBA) |
| 网络集合 — Linux (SSH) | SSH 用户 | 无密码 sudo 用于处理级数据;普通用户仅用于连接数据 |
| 网络集合 — Linux (SNMP) | SNMP 社区字符串或 USM 用户 | 对 TCP 和主机资源 MIB 的读取访问权限 |
| 网络集合 — Windows | WinRM 用户 | WMI 的读取权限 root\StandardCIMV2 |