您可以根据相应要求在专用或公用网络中部署 Identity Manager 组件。图 14-1, AWS EC2 上的 Identity Manager 部署演示了一个示例部署,后续章节中将用到该部署。
图 14-1 AWS EC2 上的 Identity Manager 部署
您可以根据 Identity Manager 组件在不同服务器上的分布方式,以不同的组合部署这些组件。不过,所有方案的部署过程都是相同的。
部署过程包括以下步骤:
本节概述将 AWS VPC 设置为与 Identity Manager 搭配使用的一般性步骤。有关详细信息,请参见 Amazon Elastic Compute Cloud 文档。
创建 AWS VPC 服务需要执行的步骤如下:
登录 AWS Management Console(AWS 管理控制台)。
单击 Services(服务)并创建以下服务:
服务 |
步骤 |
---|---|
VPC |
有关详细信息,请参见 Amazon Virtual Private Cloud 文档。 |
重要说明:使用 Start VPC Wizard(启动 VPC 向导)创建 VPC 会创建该 VPC 的子网、因特网网关和路由表。您可以按如下所述查看或编辑这些项目: |
|
子网 |
要按图 14-1 中所示部署 Identity Manager 组件,请在 VPC 中创建三个子网。例如 privateSN、publicSN1 和 publicSN2。 创建子网需要执行的步骤如下。
重复上述步骤创建更多子网。 |
因特网网关 |
|
路由表 |
|
(可选)托管区域 |
如果您有已注册的域,可以执行以下操作以使用该域来托管 Identity Manager 组件:
|
弹性 IP 地址 |
|
本节概述创建和部署 Identity Manager 基本设置(包含 Identity Manager 引擎、iManager、Identity Applications、Reporting、User Application 数据库和 Reporting 数据库)实例的步骤。
创建 Identity Manager 组件实例需要执行的步骤如下。
单击 Services(服务)> EC2。
单击 Launch Instance(起动实例)。
选择 SLES 12 SPx 或 RHEL 7.x 映像。
选择符合基础操作系统及 Identity Manager 组件部署要求的实例类型。请参见系统要求。
单击 Next: Configure Instance Details(下一步:配置实例细节)。
确保该实例使用的是正确的 VPC 和子网。此页面中会自动填充子网设置。
字段 |
操作 |
---|---|
Auto-assign Public IP(自动指派公用 IP) |
对于公用子网,请设置为 Enable(启用)。使用此设置会自动填充子网设置。对于专用子网,请将值设置为 Disable(禁用)。 |
单击 Next: Add Storage(下一步:添加储存)。
默认储存大小为 10 GB。请根据要求更改储存大小。请参见系统要求。
单击 Next: Add Tags(下一步:添加标记)。
请根据需要添加标记。使用标记可以组织实例。例如,可将以下两个标记添加到每个实例:
一个标记指示该实例的用途
一个标记指示此计算机的拥有者
单击 Next: Configure Security Group(下一步:配置安全组)。
安全组是实例组的虚拟防火墙规则。建议对防火墙要求相同的每组实例单独创建一个安全组。
例如,可对 Identity Manager 引擎的所有节点、Identity Applications 的所有节点以及 Identity Reporting 的所有节点分别配置一个安全组。默认情况下,新安全组仅允许端口 22 上的传入流量,因此,您只能使用 SSH 连接到实例。
有关详细信息,请参见“Amazon EC2 Security Groups for Linux Instances”(Linux 实例的 Amazon EC2 安全组)。
创建新的安全组;指定该组的名称和说明。
在安装以下 Identity Manager 组件之前,请添加额外的端口规则:
组件 |
端口 |
说明 |
---|---|---|
身份库的 LDAP |
TCP 636 |
需要使用它来进行 LDAP 安全通讯。 |
iManager |
TCP 8443 |
需要使用它来进行 HTTPS 通讯,以便访问 iManager。 |
Identity Applications |
TCP 8543 |
需要使用它来进行 HTTPS 通讯,以便访问 Identity Applications。 |
Identity Reporting |
TCP 8643 |
需要使用它来进行 HTTPS 通讯,以便访问 Identity Reporting。 |
PostgreSQL 数据库 |
TCP 5432 |
需要使用它来进行安全数据库通讯,以便访问 PostgreSQL。 |
单击 Review and Launch(查看并起动)。
查看细节后,单击 Launch(起动)。
选择现有的密钥对或创建新的密钥对。
此密钥对用于通过 SSH 访问实例。您可在多台计算机上使用相同密钥对。
单击 Download Key Pair(下载密钥对)。
重要说明:您只能使用私用密钥来连接和管理实例。因此,在下载密钥对后,请勿丢失私用密钥。
挂接初始化实例时创建的弹性 IP 地址。
起动某个实例,并校验软件储存库。要校验配置的软件储存库,请执行以下操作:
使用密钥对登录某个实例。
切换到 root 用户。
校验您的操作系统中是否存在以下更新:
SLES 上的 SLES12-SP3-Pool 和 SLES12-SP3-Updates: 要进行校验,请运行 zypper lr –n 命令。
RHEL 上的 rhui-REGION-rhel-server-releases/7Server/x86_64: 要进行校验,请运行 yum repolist 命令。
注:如果您的操作系统中没有储存库,请校验配置的弹性 IP 地址是否已挂接到该实例,然后重启动该实例。
为操作系统安装以下先决组件:
使用 zypper 命令安装 glibc-32bit 库。
使用 yum install 命令安装以下先决组件:
解压缩
ksh
bc
glibc-*.i686
libXau-1.0.8-2.1.el7.i686
libxcb.i686
libX11.i686
libXtst.i686
libXrender.i686
libgcc.i686
lsof
对于 Identity Manager 引擎,您可以编辑 prerequisite.sh 脚本,去除其中包含的 compat-libstdc++-33.x86_64。Identity Manager 安装不再需要此包。
设置 /etc/hosts 和 hostname:
使用实例的专用 IP 地址在防火墙中保护 Identity Manager 服务器。
为实例指派 DNS 名称并更新 hosts 文件。
例如:
# 10.0.0.1 identityEngine.example.com identityEngine
设置主机名和域名。
yast lan
hostnamectl set-hostname idmengine.example.com
(视情况而定)创建加密的弹性块储存 (EBS) 卷,以加密云中的数据。
单击 Services > EC2(服务 > EC2)。
在 Elastic Block Store(弹性块储存)中,选择 Volumes(卷)并单击 Create Volume(创建卷)。
指定所需的卷大小。
选择 Encrypt this volume(加密此卷)并单击 Create Volume(创建卷)。
在列表中选择新建的卷。
在 Actions(操作)中单击 Attach Volume(挂接卷),将该卷挂接到 EC2 实例。
对每个实例重复上述步骤。
有关 EBS 的详细信息,请参见“Amazon EBS”。
使用操作系统工具格式化该卷并装入分区:
运行 yast disk 命令格式化该卷。
运行 mkfs 进行格式化,并添加到 /etc/fstab。有关详细信息,请参见《Red Hat Enterprise Linux Deployment Guide》(Red Hat Enterprise Linux 部署指南)。
注:
装入 Identity Manager 引擎数据分区。数据分区默认为 /var/opt/novell/。
在 /opt/netiq/ 中装入其他 Identity Manager 组件。
在所有实例上的 /etc/hosts 文件中,更新所有计算机的 DNS 或 IP 地址。
在安装 Identity Manager 组件之前,请执行以下步骤:
在要安装 Identity Manager 组件的实例上下载 Identity_Manager_4.8_Linux.iso。
装入下载的 .iso 文件。
(视情况而定)创建 Identity Applications 和 Identity Reporting 的数据库。有关详细信息,请参见安装 Identity Applications 和 Identity Reporting 的数据库。
从 .iso 文件的根目录运行 ./install.sh 命令。
通读许可协议,然后键入 y 接受许可协议。
选择自定义安装选项,然后选择要在实例上安装的组件。配置该组件。有关详细信息,请参见表 5-2, 自定义配置。
在 Identity Reporting 和 Identity Applications 上运行 configupdate.sh 以设置所有客户端。
如果您要在外部服务器上安装 Identity Applications 和 Identity Reporting 的 PostgreSQL 数据库,应在安装前执行以下步骤:
导航到装入 Identity_Manager_4.8_Linux.iso 的位置。
找到 /common/packages/postgres/ 目录并安装 PostgreSQL。
rpm -ivh netiq-postgresql-9.6.6-0.noarch.rpm
运行以下命令将组关联到 postgres 用户:
/usr/sbin/usermod -a -G postgres postgres
在 /etc/passwd 文件中,将 postgres 用户的主目录路径更改为 /opt/netiq/idm/postgres/。
导航到 /etc/ 目录。
编辑 passwd 文件。
vi /etc/passwd
将 postgres 用户的主目录更改为 /opt/netiq/idm/postgres/。
以 postgres 用户身份登录。
例如:
su - postgres
在 PostgreSQL 安装位置中创建 data 目录。
mkdir -p <POSTGRES_HOME>/data,其中,<POSTGRES_HOME> 是 /opt/netiq/idm/postgres
例如:
mkdir -p /opt/netiq/idm/postgres/data
导出 PostgreSQL home 目录
export PGHOME=<postgres home directory path>
例如:
export PG_HOME=/opt/netiq/idm/postgres
导出 PostgreSQL 口令:
export PGPASSWORD=<输入数据库口令>
初始化数据库。
"LANG=en_US.UTF-8 <POSTGRES 主目录>/bin/initdb -D <POSTGRES 主目录>/data"
例如:
"LANG=en_US.UTF-8 /opt/netiq/idm/postgres/bin/initdb -D /opt/netiq/idm/postgres/data"
在 /opt/netiq/idm/postgres/ 目录中创建以下组件的数据库。
$ createdb idmuserappdb $ psql -s idmuserappdb # create user idmadmin password 'somepassword'; # GRANT ALL PRIVILEGES ON DATABASE idmuserappdb TO idmadmin; # ALTER DATABASE idmuserappdb OWNER TO idmadmin;
$ createdb idmrptdb
以 postgres 用户身份注销。
修改 postgresql.conf 文件,以允许 PostgreSQL 实例侦听除 localhost 以外的网络实例。
导航到 /opt/netiq/idm/postgres/data/ 目录。
编辑 postgresql.conf 文件:
vi postgresql.conf
在文件中添加下列行:
listen_addresses = '*'
在 <postgres home directory path>/data 下创建 pg_log 目录。
例如:
mkdir -p /opt/netiq/idm/postgres/data/pg_log
更改 pg_log 目录的许可权限。
chown -R postgres:postgres <postgres directory path>/data/pg_log
例如:
chown -R postgres:postgres /opt/netiq/idm/postgres/data/pg_log
启动 PostgreSQL 服务。
systemctl start netiq-postgresql
此命令将启动新的 PostgreSQL 服务。
要使用 Designer,必须在 Windows 计算机上安装 Designer。
在公用子网中,起动支持的 Windows 实例。
对于 Windows 安全组,请仅使用 rdesktop 端口。例如 3389。
在 Windows 实例上安装 Designer。有关详细信息,请参见《NetIQ Identity Manager 安装指南 - Windows》中的“安装 Designer”。
您可以创建负载平衡器在各个 Identity Manager 组件之间平衡传入请求的负载。负载平衡器可用于保护 Identity Manager 服务器免遭公共访问。
以下过程说明了为示例部署方案设置负载平衡器所需的配置细节:
负载平衡器使用此证书在各 Identity Manager 组件之间建立安全通讯。可通过三种方式为负载平衡器创建证书:
单击 Services > Certificates Manager(服务 > Certificates Manager)。
单击 Request Certificate(请求证书)。
指定要为其创建证书的 DNS 名称。
校验 DNS 机构。
单击 Services > Certificates Manager(服务 > Certificates Manager)。
单击 Import Certificate(导入证书)。
指定证书细节。
单击 Services(服务)。
在 Security, Identity & Compliance(安全性、身份与合规性)中,单击 IAM。
使用 IAM API 指定证书细节。有关详细信息,请参见“Uploading Server Certificate Using IAM API”(使用 IAM API 上载服务器证书)。
使用目标组可将负载平衡器关联至负载将分散到的各个实例(目标)的 IP 地址。
创建目标组需要执行的步骤如下:
在 EC2 仪表板中,单击 LOAD BALANCING(负载平衡)下的 Target Groups(目标组)。
单击 Create target group(创建目标组)。
指定以下细节:
字段 |
说明 |
---|---|
Target group name(目标组名称) |
指定目标组的名称。 您可以指定要配置此目标组的组件的名称。例如 Identity Applications、Identity Reporting 或 iManager。 |
Protocol(协议) |
选择 HTTPS。 |
Port(端口) |
指定服务器配置为要侦听的端口。 下面是不同 Identity Manager 组件使用的示例端口值:
|
Target type(目标类型) |
选择 Instance(实例)。 |
VPC |
选择您为 Identity Manager 组件实例所选的同一个 VPC。 |
Health Check Settings(运行状况检查设置) |
|
Protocol(协议) |
选择 HTTPS。 负载平衡器在执行运行状况检查时将使用此协议。 |
Path(路径) |
指定运行状况检查的目标路径。 要执行运行状况检查的 Identity Manager 组件的默认路径如下:
|
Advanced health check settings(高级运行状况检查设置) |
保留默认值。 |
单击 Create(创建)。
启用会话粘性。
选择您创建的目标组。
在 Description(说明)选项卡中,单击 Edit attributes(编辑属性)。
对 Stickiness(粘性)选择 Enable(启用)。
重复上述步骤,为每个应用程序创建目标组。
注:如果 SSPR 安装在其他服务器上,请为此组件单独创建一个目标组。
创建负载平衡器需要执行的步骤如下:
在左侧菜单中,单击 Load Balancers(负载平衡器)。
单击 Create Load Balancers(创建负载平衡器)。
单击 Application Load Balancer(应用程序负载平衡器)下的 Create(创建)。
指定以下细节:
字段 |
说明 |
---|---|
Name(名称) |
指定负载平衡器的名称。 |
Scheme(纲要) |
选择 internet-facing(面向因特网)。 |
Listeners(侦听器) |
要为负载平衡器添加更多侦听器,请单击 Add Listener(添加侦听器)。 按如下所述指定侦听器端口: 对于 iManager:
对于 Identity Applications:
对于 Identity Reporting:
|
Availability Zones(可用性区域) |
|
Tags(标记) |
(可选)您可以添加一个标记来标识您的负载平衡器。 |
单击 Next: Configure Security Settings(下一步:配置安全性设置)。
指定证书细节以使用 HTTPS 协议。可执行以下操作之一:
选择您在为负载平衡器创建证书以使用安全通讯中创建的证书类型。
将证书上载到 IAM 或 ACM - 指定证书细节。
单击 Next: Configure Security Groups(下一步:配置安全组)。
在 Assign a security group(指派安全组)中,选择 Create a new security group(创建新的安全组)。
(可选)指定负载平衡器的名称和说明。
在安全组中添加规则,以便将流量路由到配置的侦听器:
字段 |
说明 |
---|---|
Type(类型) |
选择 Custom TCP Rule(自定义 TCP 规则)。 |
Protocol(协议) |
如此会显示用于规则的协议类型。 |
Port Range(端口范围) |
选择 Identity Manager 组件的端口范围:
|
Source(源) |
选择 Anywhere(任意位置),以连接到部署了 Identity Manager 组件的实例。 |
单击 Next: Configure Routing(下一步:配置路由)。
在 Target group(目标组)中指定以下细节:
字段 |
说明 |
---|---|
Target group(目标组) |
选择 Existing target group(现有目标组)。此列表显示在创建目标组中为 Identity Manager 组件创建的目标组。 |
Name(名称) |
从该列表中选择一个目标组。 在此处只能选择一个目标组。例如,选择您为 Identity Applications 创建的目标组。 创建负载平衡器后,您需要修改侦听器端口 8443,以使用针对 HTTPS 协议配置的目标组。请参见本节中的步骤 18。 |
Protocol(协议) |
此字段中将填充您在指定的目标组中配置的值。请查看列出的值以确保其正确无误。 |
Port(端口) |
此字段中将填充您在指定的目标组中配置的值。请查看列出的值以确保其正确无误。 |
Target type(目标类型) |
此字段中将填充您在指定的目标组中配置的值。请查看列出的值以确保其正确无误。 |
查看 Health Checks(运行状况检查)下的以下细节:
单击 Next: Register Targets(下一步:注册目标)。
注册到所选目标组的所有目标都会列出。您只能在创建负载平衡器之后修改此列表。
单击 Next: Review(下一步:检查)。
校验负载平衡器细节是否正确。
依次单击 Create(创建)、Close(关闭)。
(视情况而定)如果您跳转到为 Identity Manager 组件创建侦听器端口的步骤,或者想要添加新的侦听器端口,请更新侦听器端口以使用相应的目标组:
选择您创建的负载平衡器。
选择 Listeners(侦听器)选项卡。
单击 Add Listener(添加侦听器)并为每个侦听器指定所需的细节。详情请参见步骤 4。
选择用于负载平衡器的证书。详情请参见为负载平衡器创建证书以使用安全通讯。
单击 Create(创建)。
如果将 SSPR 配置在单独的计算机上,则您可能需要添加一个侦听器。
重要说明:要在分布式设置中使用单个负载平衡器,请单独创建一条 DNS 别名记录来区分该设置中的服务器。否则,请为每个 Web 应用程序单独创建一个负载平衡器。
如果您已注册了某个站点,可以使用它为每个 Identity Manager 组件创建单个记录集。
单击 Services > Route 53(服务 > Route 53)。
在左侧菜单中,单击 Hosted Zones(托管区域)并选择设置 AWS EC2 服务时创建的托管区域。请参见准备 AWS Virtual Private Cloud。
单击 Go to Record Sets(转到记录集)。
单击 Create Record Set(创建记录集):
字段 |
说明 |
---|---|
Name(名称) |
为记录集指定有意义的名称。 例如:将 Identity Applications 记录集命名为 rbpm。 |
Type(类型) |
选择 A – IPv4 address(A – IPv4 地址)。 |
Alias(别名) |
选择 Yes(是)。 |
Alias Target(别名目标) |
选择配置为连接 Identity Manager 组件的负载平衡器 |
Routing Policy(路由策略) |
选择 Simple(简单) |
单击 Create(创建)。
在 Identity Applications、Identity Reporting 和 OSP 实例上运行 configupdate.sh,并使用公用 DNS 名称更新 SSO 配置。
重启动 Tomcat。
通过使用公用 DNS 访问应用程序来校验配置。
https://<公用 DNS 名称>:<端口>/<应用程序环境名称>
可以使用负载平衡器的公用 DNS 名称或使用别名 DNS 记录集来访问 Identity Manager 实例。要使 Identity Manager 实例能够互相通讯,请编辑每个实例上的 /etc/hosts 文件,并添加一项,以将此实例的主机名解析为其专用 IP 地址。
更新以下实例以在内部访问其他实例
实例 |
说明 |
---|---|
OSP |
OSP 实例需要访问 SSPR 实例才能重设置口令。 主机文件位置: /etc/hosts 修改 hosts 文件,在其中包含以下项: <IP_address> <Private_DNS_Name> <Public_DNS_Name> 例如: 10.0.1.5 sspr.privatedns.local sspr.publicdns.com |
Identity Applications |
Identity Applications 实例需要访问 OSP 实例才能完成登录。 主机文件位置: /etc/hosts 修改 hosts 文件,在其中包含以下项: <IP_address> <Private_DNS_Name> <Public_DNS_Name> 例如: 10.0.1.6 osp.privatedns.local osp.publicdns.com |
Identity Reporting |
Identity Reporting 实例需要访问 OSP 实例才能完成登录。 主机文件位置: /etc/hosts 修改 hosts 文件,在其中包含以下项: <IP_address> <Private_DNS_Name> <Public_DNS_Name> 例如: 10.0.1.6 osp.privatedns.local osp.publicdns.comm |