Sun Identity Manager 8.1 业务管理员指南

第 12 章 安全

本章介绍有关 Identity Manager 安全功能的信息,并详述为进一步减少安全风险可以采取的步骤。

查看以下主题以了解更多有关使用 Identity Manager 管理系统安全的信息。

安全功能

Identity Manager 通过提供以下功能帮助减少安全风险:

另外,系统体系结构将尽可能寻求减少安全风险的方法。例如,注销后,就不能通过浏览器的后退功能访问先前访问过的页面。

限制并发登录会话

默认情况下,Identity Manager 用户可以使用并发登录会话。不过,可通过打开以修改系统配置对象(编辑 Identity Manager 配置对象)并编辑 security.authn.singleLoginSessionPerApp 配置属性值,将并发会话限制为每个登录应用程序一个会话。此属性是包含每个登录应用程序名称(例如,管理员界面、用户界面或 Identity Manager IDE)的一个属性的对象。将该属性的值更改为 true 可为每个用户强制执行单个登录会话。

如果强制执行,则一个用户可以登录到多个会话;但是,只有最后登录的会话保持活动状态且有效。如果用户在无效会话上执行操作,则该用户将被强制退出会话且该会话也将终止。

管理密码

Identity Manager 在多个级别提供密码管理功能:

传递验证

利用传递验证向用户和管理员授予通过一个或多个不同密码进行访问的权限。

Identity Manager 通过实现以下方法来管理验证:

关于登录应用程序

登录应用程序定义登录模块组的集合,登录模块组进一步定义用户登录 Identity Manager 时使用的登录模块的集合和顺序。每个登录应用程序都由一个或多个登录模块组构成。

登录时,登录应用程序会检查其登录模块组集。如果只设置了一个登录模块组,则会使用这个组,并按组中登录模块的定义顺序处理包含的登录模块。如果登录应用程序中含有多个定义的登录模块组,则 Identity Manager 将检查应用于每个登录模块组的登录约束规则以确定要处理的组。

登录约束规则

可以将登录约束规则应用于登录模块组。对于登录应用程序中的每个登录模块组集,如果只有一个组,则不能应用登录约束规则。

当确定要处理一个集合中的哪一个登录模块组时,Identity Manager 评估第一个登录模块组的约束规则。如果成功,则会处理该登录模块组。如果失败,则将依次评估每个登录模块组,直到约束规则成功或评估没有约束规则的登录模块组(随即使用该组)。


注 –

如果登录应用程序包含多个登录模块组,则应将没有登录约束规则的登录模块组放在集合的最后位置。


登录约束规则示例

下例是基于位置的登录约束规则,此规则从 HTTP 标头获取请求者的 IP 地址,然后检查该地址是否位于 192.168 网络。如果 IP 地址中有 192.168.,则此规则将返回值 True 并选择此登录模块组。


示例 12–1 基于位置的登录约束规则


<Rule authType=’LoginConstraintRule’ name=’Sample On Local Network’> 
<match> <ref>remoteAddr</ref> <s>192.168.</s> </match> 
<MemberObjectGroups> <ObjectRef type=’ObjectGroup’ name=’All’/> </MemberObjectGroups> 
</Rule>

编辑登录应用程序

从菜单栏中选择“安全性”->“登录”以访问“登录”页。

登录应用程序列表显示:

在 "Login" 页中,您可以:

要编辑登录应用程序,请从列表中选择相应的应用程序。

设置 Identity Manager 会话限制

在“修改登录应用程序”页中,可以为每个 Identity Manager 登录会话设置超时值(限制)。选择小时、分钟和秒数,然后单击“保存”。您建立的限制将显示在登录应用程序列表中。

可以为每个 Identity Manager 登录应用程序设置会话超时。用户登录到 Identity Manager 应用程序之后,将使用当前配置的会话超时值计算用户会话将来因不活动而超时的日期和时间。然后将计算出来的日期与用户的 Identity Manager 会话一起存储,以便在每次提出请求时可以检查此日期。

如果登录管理员更改了登录应用程序会话超时值,则该值会在将来的所有登录中生效。现有会话的超时时间将取决于用户登录时的有效值。

为 HTTP 超时所设置的值将影响所有 Identity Manager 应用程序,并优先于登录应用程序会话超时值。

禁用对应用程序的访问

在“创建登录应用程序”和“修改登录应用程序”页中,可以选择“禁用”选项以禁用登录应用程序,从而禁止用户进行登录。如果用户尝试登录到已禁用的应用程序,则会将该用户重定向到备用页面,并指出当前禁用了该应用程序。可以通过编辑自定义目录来编辑显示在此页面上的消息。

只有取消选择该选项才能解除对登录应用程序的禁用。由于存在安全保护,您不能禁用管理员登录。

编辑登录模块组

登录模块组列表显示:

在 "Login Module Groups" 页中可以创建、编辑和删除登录模块组。从列表中选择一个登录模块组以进行编辑。

编辑登录模块

针对登录模块的以下各个选项输入详细信息或进行选择。(并非所有选项对每个登录模块均可用。)

单击“保存”可以保存登录模块。保存后,可将该模块放在登录模块组中所有其他模块所在的位置。


注意 – 注意 –

如果将 Identity Manager 登录配置为对多个系统进行验证,则 Identity Manager 要验证的所有目标系统的帐户都应使用相同的用户 ID 和密码。

如果用户 ID 和密码组合不同,则对于用户 ID 和密码不同于在 Identity Manager 的“用户表单”表单中输入的用户 ID 和密码的系统,将不能成功登录。

某些此类系统可能使用锁定策略强制限定锁定帐户前失败登录尝试的次数。对于这些系统,虽然用户可通过 Identity Manager 继续成功登录,但用户帐户最终将被锁定。


示例 12–2 中包含一些伪代码,用于描述 Identity Manager 将验证的用户 ID 映射到 Identity Manager 用户所需的步骤。


示例 12–2 登录模块处理逻辑


if an existing IDM user’s ID is the same as the specified user ID 

   if that IDM user has a linked resource whose resource name matches the 
   resource that was authenticated and whose accountId matches the resource 
   accountId returned by successful authentication (e.g. dn), then we have 
   found the right IDM user 

   otherwise if there is a LoginCorrelationRule associated with the 
   configured login module 

      evaluate it to see if it maps the login credentials to a single IDM 
      user 

      otherwise login fails 

   otherwise login fails 

if the specified userID does not match an existing IDM user’s ID 

   try to find an IDM user that has a linked resource whose resource 
   name matches the resource accountID returned by successful authentication 

     if found, then we have found the right IDM user 

     otherwise if there is a LoginCorrelationRule associated with the 
     configured login module 

         evaluate it to see if it maps the login credentials to a single 
         IDM user 

         otherwise login fails 

     otherwise login fails

示例 12–2 中,系统将尝试使用用户的链接资源(资源信息)查找匹配的 Identity Manager 用户。如果资源信息方法失败,但配置了 loginCorrelationRule,则系统将尝试使用 loginCorrelationRule 查找匹配的用户。

配置公共资源的验证

如果多个资源在逻辑上是相同的(例如,共享某种信任关系的多个 Active Directory 域服务器),或者多个资源均位于同一物理主机上,则可以将这些资源指定为公共资源

您应该声明公共资源,以使 Identity Manager 知道只应尝试并对一组资源验证一次。否则,如果用户键入错误的密码,Identity Manager 将针对每个资源尝试相同的密码。这可能会由于多次登录失败而导致将用户帐户锁定,即便用户仅键入了一次错误密码。

通过使用公共资源,用户可以对一个公共资源进行验证,并且 Identity Manager 将自动尝试并将用户映射到公共资源组中的其余资源。例如,可以将 Identity Manager 用户帐户链接到资源 AD-1 的资源帐户上。不过,登录模块组可能会定义用户必须通过资源 AD-2 的验证。

如果将 AD-1 和 AD-2 定义为公共资源(在这种情况下,位于同一个信任域中),则当用户成功通过 AD-2 的验证时,Identity Manager 也可以通过在资源 AD-1 上查找相同的用户帐户 ID 将用户映射到 AD-1。


注意 – 注意 –

公共资源组中列出的所有资源也必须包含在登录模块定义中。如果公共资源的完整列表没有同时出现在登录模块定义中,则公共资源功能将无法正常工作。


可以使用以下格式在系统配置对象(编辑 Identity Manager 配置对象)中定义公共资源。


示例 12–3 配置公共资源的验证


<Attribute name=’common resources’> 
<Attribute name=’Common Resource Group Name’> 
<List> 
<String>Common Resource Name</String> 
<String>Common Resource Name</String> 
</List 
</Attribute> </Attribute>

配置 X509 证书验证

可以使用以下信息和过程配置 Identity Manager 的 X509 证书验证。

配置必备条件

要在 Identity Manager 中支持基于 X509 证书的验证,请确保正确配置双向(客户机和服务器)SSL 验证。从客户角度而言,这表明支持 X509 标准的用户证书应已导入到浏览器(或可通过智能卡读卡机获得),用于签署用户证书的信任证书应已导入到信任证书的 Web 应用服务器密钥库中。

还必须为客户机验证启用所用的客户机证书。

Procedure确保选择了客户机证书的“客户机验证”选项

  1. 使用 Internet Explorer,选择“工具”,然后选择“Internet 选项”。

  2. 选择“内容”选项卡。

  3. 在“证书”区域中,单击“证书”。

  4. 选择客户机证书,然后单击“高级”。

  5. 在 "Certificate Purposes" 区域中,确保选择 "Client Authentication" 选项。

在 Identity Manager 中配置 X509 证书验证

Procedure配置 X509 证书验证

  1. 以 "Configurator"(或同等权限)身份登录 "Administrator Interface"。

  2. 选择“配置”,然后选择“登录”以显示“登录”页。

  3. 单击“管理登录模块组”以显示“登录模块组”页。

  4. 从列表中选择登录模块组。

  5. 从“分配登录模块”列表中选择“Identity Manager X509 证书登录模块”。Identity Manager 将显示“修改登录模块”页。

  6. 设置成功登录的要求。

    可以接受以下值:

    • 必需。要求登录模块必须成功。无论验证成功或失败,都将继续验证列表中的下一个登录模块。如果这是唯一的登录模块,则管理员登录成功。

    • 必备。要求登录模块必须成功。如果验证成功,将继续验证列表中的下一个登录模块。如果验证失败,则验证不再继续进行。

    • 足够。不要求登录模块必须成功。如果验证成功,将不再继续验证列表中的下一个登录模块,并且管理员成功登录。如果验证失败,将继续验证列表中的下一个登录模块。

    • 可选。不要求登录模块必须成功。无论验证成功或失败,都将继续验证列表中的下一个登录模块。

  7. 选择登录关联规则。这可以是内置规则或自定义的关联规则。(有关创建自定义关联规则的信息,参见下节。)

  8. 单击“保存”,返回到“修改登录模块组”页。

  9. 或者,可以重新排列登录模块顺序(如果为登录模块组分配了多个登录模块),然后单击“保存”。

  10. 如果尚未为登录应用程序分配登录模块组,请进行分配。在 "Login Module Groups" 页中单击 "Return to Login Applications",然后选择登录应用程序。为应用程序分配登录模块组后,单击“保存”。


    注 –

    如果 waveset.properties 文件中的 allowLoginWithNoPreexistingUser 选项设置为 true 值,则配置 Identity Manager X509 证书登录模块时会提示您选择“新建用户名称规则”。在使用相关登录关联规则未找到用户时,可使用此规则确定如何命名新创建的用户。新建用户名称规则与登录关联规则的可用输入参数相同。它返回单个字符串,该字符串是用于创建新 Identity Manager 用户帐户的用户名。idm/sample/rules 中包含一个名为 NewUserNameRules.xml 的新建用户名称规则示例。


创建和导入登录关联规则

Identity Manager X509 证书登录模块使用登录关联规则确定如何将证书数据映射到相应的 Identity Manager 用户。Identity Manager 中包含一个名为“通过 X509 证书 SubjectDN 相关联”的内置关联规则。

您也可以添加自己的关联规则。请参阅位于 idm/sample/rules 目录中作为示例的 LoginCorrelationRules.xml

每个关联规则都必须遵循以下准则:

传递到登录关联规则的参数有:

传递给登录关联规则的证书参数的命名约定为

cert.field name.subfield name

可用于规则的示例参数名包括:

使用传入参数的登录关联规则将返回一个列表,其中包含一个或多个 AttributeCondition。Identity Manager X509 证书登录模块使用它们来查找相关的 Identity Manager 用户。

idm/sample/rules 中包含一个名为 LoginCorrelationRules.xml 的登录关联规则范例。

创建自定义关联规则后,必须将其导入 Identity Manager。在管理员界面中选择“配置”,然后选择“导入交换文件”以使用文件导入工具。

测试 SSL 连接

要测试 SSL 连接,可使用 SSL 转至已配置的应用程序界面的 URL(例如 https://idm007:7002/idm/user/login.jsp)。您会被告知正在进入一个安全站点,然后提示您指定要发送 Web 服务器的个人证书。

诊断问题

通过 X509 证书进行验证的问题应以错误消息形式在登录表单中报告。

要获得更全面的诊断,可在 Identity Manager 服务器中启用对以下各个类和级别的跟踪:

如果在 HTTP 请求中客户机证书属性没有命名为 javaxservlet.request.X509Certificate,则会收到一条消息,说明无法在 HTTP 请求中找到此属性。

Procedure更正 HTTP 请求中的客户机证书属性名称

  1. 可启用对 SessionFactory 的跟踪,以查看完整的 HTTP 属性列表,并确定 X509 证书的名称。

  2. 使用 Identity Manager 调试工具(Identity Manager 的“调试”页)编辑 LoginConfig 对象。

  3. 将 Identity Manager X509 证书登录模块的 <LoginConfigEntry> 中的 <AuthnProperty> 名称更改为正确的名称。

  4. 保存后重试。

    也可能需要在登录应用程序中先删除,然后再重新添加 Identity Manager X509 证书登录模块。

加密的使用和管理

加密用于确保内存和系统信息库中的服务器数据以及在 Identity Manager 服务器和网关之间传送的所有数据的机密性和完整性。

以下各节提供了有关如何在 Identity Manager 服务器和网关中使用和管理加密的详细信息,并阐述了有关服务器和网关加密密钥的问题。

受加密保护的数据

下表显示了在 Identity Manager 产品中受加密保护的数据类型,包括用于保护每种类型数据的加密器。

表 12–1 受加密保护的数据类型

数据类型  

RSAMD5 

NIST Triple DES168 位密钥 (DESede/ECB/NoPadding) 

PKCS#5 基于密码的加密 56 位密钥 (PBEwithMD5andDES) 

服务器加密密钥 

 

默认 

配置选项 

网关加密密钥 

 

默认 

配置选项1 

字典策略词 

是 

   

用户密码 

 

是 

 

用户密码历史记录 

 

是 

 

用户答案 

 

是 

 

资源密码 

 

是 

 

资源密码历史记录 

是 

   

服务器和网关之间的所有有效负载 

 

是 

 

有关服务器加密密钥的常见问题

请阅读以下各节,以了解有关服务器加密密钥源、位置、维护和使用的常见问题的答案。

问题:

服务器加密密钥来自哪里?

回答:

服务器加密密钥是对称的 triple-DES 168 位密钥。

服务器支持以下两类密钥:

问题:

在哪里维护服务器加密密钥?

回答:

在系统信息库中维护服务器加密密钥。在任一给定系统信息库中都会有许多数据加密密钥。

问题:

服务器如何知道使用哪个密钥对已加密的数据进行解密和重新加密?

回答:

存储于系统信息库中的每一加密数据都以服务器加密密钥(用于加密该数据)的 ID 为前缀。将包含加密数据的对象读入内存后,Identity Manager 使用与加密数据的 ID 前缀相关联的服务器加密密钥进行解密,然后使用相同的密钥重新加密(如果数据已更改)。

问题:

如何更新服务器加密密钥?

回答:

Identity Manager 提供了名为“管理服务器加密”的任务。

此任务允许授权的安全管理员执行多项密钥管理任务,包括:

有关如何使用此任务的详细信息,请参见本章中的管理服务器加密

问题:

如果更改“当前”服务器密钥,则会对现有加密数据造成什么样的影响?

回答:

没有影响。仍将使用现有加密数据 ID 前缀对应的密钥对现有加密数据进行解密或重新加密。如果生成了新的服务器加密密钥并设置为“当前”密钥,则任何要加密的新数据都将使用该新服务器密钥。

为避免出现多密钥问题,以及为了更好地维护数据的完整性,可以使用“管理服务器加密”任务重新加密所有带有“当前”服务器加密密钥的现有加密数据。

问题:

如果导入的加密数据没有可用的加密密钥,此时会出现什么情况?

回答:

如果导入包含加密数据的对象,但加密该数据所使用的密钥不在要导入该数据的系统信息库中,则仍会导入该数据,但不进行加密。

问题:

怎样保护服务器密钥?

回答:

如果未将服务器配置为使用基于密码的加密 (Password-based Encryption, PBE)(PKCS#5 加密,使用 pbeEncrypt 属性或“管理服务器加密”任务在系统配置对象中设置),则使用默认密钥对服务器密钥进行加密。对于安装的任何 Identity Manager,设置的默认密钥都是相同的。

如果将服务器配置为使用 PBE 加密,则每次启动服务器时都将生成 PBE 密钥。通过提供一个密码(由特定于服务器的秘密生成)作为 PBEwithMD5andDES 加密器来生成 PBE 密钥。PBE 密钥仅在内存中维护并从不具有持久性。另外,PBE 密钥对于共享一个公共系统信息库的所有服务器都是相同的。

要启用服务器密钥的 PBE 加密,加密器 PBEwithMD5andDES 必须可用。默认情况下,Identity Manager 不包括此加密器,但此加密器采用 PKCS#5 标准,许多 JCE 提供者实现(例如由 Sun 和 IBM 提供的实现)中都提供了该标准。

问题:

我可以导出服务器密钥以安全地存储在外部吗?

回答:

是。如果服务器密钥是 PBE 加密,则在导出之前,将使用默认密钥对这些密钥进行解密和重新加密。这使得它们可以独立于本地服务器 PBE 密钥而稍后被导入同一或其他服务器中。如果使用默认密钥对服务器密钥进行加密,则在导出之前不需要进行任何事先的处理。

将密钥导入服务器后,如果该服务器配置为 PBE 密钥,则将解密这些密钥。然后,如果该服务器配置为 PBE 密钥加密,则使用本地服务器的 PBE 密钥重新加密这些密钥。

问题:

将对服务器和网关之间的哪些数据进行加密?

回答:

在服务器和网关之间传送的所有数据(有效负载)都由针对每个服务器-网关会话随机生成的对称 168 位密钥进行 triple-DES 加密。

有关网关密钥的常见问题

请阅读以下各节,以了解有关网关源、存储、分发和保护的常见问题的答案。

问题:

加密或解密数据的网关密钥来自哪里?

回答:

每次 Identity Manager 服务器连接到网关时,初始握手都将生成一个新的随机 168 位 triple-DES 会话密钥。此密钥将用于加密或解密随后在服务器和网关之间传送的所有数据。对于每个服务器/网关对,生成的会话密钥都是唯一的。

问题:

如何将网关密钥分发到网关?

回答:

会话密钥由服务器随机生成,然后在服务器和网关之间安全地进行交换,方法是使用作为服务器到网关初始握手的一部分的共享机密主密钥对会话密钥进行加密。

在初始握手期间,服务器会查询网关来确定网关支持的模式。网关可以以两种模式操作

问题:

我可以更新网关密钥(用于加密或解密服务器到网关有效负载)吗?

回答:

Identity Manager 提供了名为“管理服务器加密”的任务,它允许授权的安全管理员执行多项密钥管理任务,包括生成新的“当前”网关密钥并使用该“当前”网关密钥更新所有网关。这是用于加密每个会话密钥(用于保护在服务器和网关之间传送的所有有效负载)的密钥。将使用默认密钥或 PBE 密钥对新生成的网关密钥进行加密,具体取决于系统配置(编辑 Identity Manager 配置对象)中 pbeEncrypt 属性的值。

问题:

在服务器、网关的什么地方存储网关密钥?

回答:

在服务器上,网关密钥就像服务器密钥一样存储在系统信息库中。在网关上,网关密钥存储于本地注册表主键中。

问题:

怎样保护网关密钥?

回答:

保护网关密钥的方式与保护服务器密钥相同。如果将服务器配置为使用 PBE 加密,则网关密钥将使用 PBE 生成的密钥进行加密。如果该选项为 False,则将使用默认密钥加密。有关详细信息,请参见有关服务器加密密钥的常见问题

问题:

我可以导出网关密钥以安全地存储在外部吗?

回答:

可以通过“管理服务器加密”任务导出网关密钥,就像导出服务器密钥一样。有关详细信息,请参见有关服务器加密密钥的常见问题

问题:

如何销毁服务器和网关密钥?

回答:

通过从服务器系统信息库中删除服务器和网关密钥就可以销毁它们。请注意,只要仍在使用该密钥加密服务器数据或仍有网关依赖该密钥,就不应该删除该密钥。通过执行 "Manage Server Encryption" 任务,可以使用当前服务器密钥重新加密所有服务器数据,并将当前网关密钥与所有网关同步以确保在删除任何旧密钥之前不再使用旧密钥。

管理服务器加密

通过使用 Identity Manager 服务器加密功能,您可以创建新的 3DES 服务器加密密钥,然后使用 3DES、PKCS#5 或 AES(高级加密标准)加密对这些密钥进行加密。只有具备“安全管理员”权能的用户才可以运行“管理服务器加密”任务(该任务是从“管理服务器加密”页中配置的)。

Procedure访问“管理服务器加密”页

要打开“管理服务器加密”页,请

  1. 从菜单栏中选择“服务器任务”>“运行任务”。

  2. 在显示“可用任务”页时,单击“管理服务器加密”以打开“管理服务器加密”页。

    图 12–1 “管理服务器加密”页

    该图展示了“管理服务器加密”页

Procedure配置服务器加密

可以使用该页配置服务器和对象加密、网关密钥、备份选项以及执行模式。

  1. 输入一个任务名称。

    此字段默认为管理服务器加密。如果不想使用默认设置,您可以输入不同的任务名称。

  2. 选择下面的一个或多个选项。

    • 管理服务器加密。选择该选项可配置服务器加密。

      将显示下面的附加选项:

      • 服务器加密密钥的加密。您必须指定一种加密服务器加密密钥的方法。加密类型可以包括 Triple DES、PKCS#5 (DES) 或 PKCS#5 (AES)。


        注 –
        • 该页上仅显示可在您的系统上实例化的加密类型。例如,如果您的系统不支持 PKCS#5 (AES),则仅显示 Triple DES 和 PKCS#5 (DES)。

        • PKCS#5 (AES) 要求您为运行 Identity Manager 的 JVM 下载并配置 "Unlimited Strength Jurisdiction Policy File"。有关详细信息,请参阅 Java 供应商文档。

          另外,PKCS#5 (AES) 还要求您为运行 Identity Manager 的 JVM 安装 Bouncy Castle JCE provider jar 文件并将其配置为 JCE 提供者。此 jar 文件封装在 Identity Manager 安装映像中,它位于 wshome/WEB-INF/lib 目录中。提供了两个 jar 文件:bcprov-jdk15-137.jarbcprov-jdk16-137.jar,它们分别用于相应的 Java 版本。有关详细信息,请参阅 Java 供应商文档和 Bouncy Castle 文档。


      • 生成新的服务器加密密钥,并设置为当前的服务器加密密钥。选择此选项可生成新的服务器加密密钥。选择此选项之后生成的每一份加密数据都是使用此密钥进行加密。生成新的服务器加密密钥不会影响应用于已存在的加密数据的密钥。

      • 生成新的安全随机 PBE 密码。选择此选项可在每次启动服务器时基于服务器特定的秘密生成新密码。如果未选择此选项,或者未将服务器配置为使用基于密码的加密,Identity Manager 将使用默认密钥加密服务器密钥。

    • 管理对象加密。选择此选项可指定应重新加密的对象类型以及要使用的加密方法。

      • 对象类型的加密。选择显示的加密类型之一,其中可能包括 Triple DES(默认)、AES 256 位密钥、AES 192 位密钥或 AES 128 位密钥。


        注 –

        使用 192 或 256 位密钥的 AES 要求您为运行 Identity Manager 的 JVM 下载并配置 "Unlimited Strength Jurisdiction Policy File"。有关详细信息,请参阅 Java 供应商文档。

        该页上仅显示可在您的系统上实例化的加密类型。例如,如果您的系统不支持使用 "Unlimited Strength Jurisdiction Policy File" 的 AES 192 或 256 位密钥,则仅显示 Triple DES 和 AES 128 位密钥选项。


      • 选择要使用当前服务器加密密钥重新加密的对象类型。选择表中列出的一种或多种 Identity Manager 对象类型。

    • 管理网关密钥。选择此选项可指定网关加密。

      将显示以下选项:

      • 选择网关密钥选项。请选择以下任一选项:

        • 生成新密钥并同步所有网关。最初启用安全网关环境时选择此选项。此选项生成一个新的网关密钥并将其传送至所有网关。

        • 使用当前网关密钥同步所有网关。选择此选项可同步任何新网关,或者同步尚未与新网关密钥通信的网关。若在使用当前网关密钥将所有网关同步时有一个网关关闭,或要为新网关强制执行密钥更新,请选择此选项。

      • 网关密钥类型。选择显示的密钥类型之一,其中可能包括 Triple DES、AES 256 位密钥、AES 192 位密钥或 AES 128 位密钥。


        注 –

        使用 192 或 256 位密钥的 AES 要求您为运行 Identity Manager 的 JVM 下载并配置 "Unlimited Strength Jurisdiction Policy File"。有关详细信息,请参阅 Java 供应商文档。

        该页上仅显示可在您的系统上实例化的加密类型。例如,如果您的系统不支持使用 "Unlimited Strength Jurisdiction Policy File" 的 AES 192 或 256 位密钥,则仅显示 Triple DES 和 AES 128 位密钥选项。


    • 导出服务器加密密钥进行备份。选择此选项可将现有服务器加密密钥导出为 XML 格式的文件。选择此选项后,Identity Manager 会另显示一个字段以便您指定导出该密钥的路径和文件名。


      注 –

      如果使用的是 PKCS#5 加密并选择生成和设置新的服务器加密密钥,则选择此选项。而且,您还应将导出的密钥存储在可移动介质上,并存放在安全的位置(请勿放在网络上)。


  3. 选择执行模式。

    您可以在前台或后台(默认设置)运行此任务。


    注 –

    如果您选择使用新生成的密钥重新加密一个或多个对象类型,执行该任务会需要一些时间,且最好在后台运行此任务。


  4. 在此页上配置完选项后,单击“启动”。

使用验证类型保护对象

通常,可以使用在 AdminGroup 权能中指定的权限授予访问 Identity Manager objectType(例如,Configuration、Rule 或 TaskDefinition)的权限。但是,授予访问一个或多个受控组织内的所有 Identity Manager objectType 对象的权限有时仍显得过于宽泛。

通过使用授权类型 (AuthType),您可以进一步缩小范围,或者将此访问限制为某个给定 Identity Manager objectType 的部分对象。例如,在填充规则以从用户表单中进行选择时,您可能不希望授权用户访问其控制范围内的所有规则。

要定义新的授权类型,请在 Identity Manager 系统信息库中编辑 AuthorizationTypes 配置对象,然后添加一个新的 <AuthType> 元素。

此元素需要两个属性:

例如,如果要添加一个新 Rule 授权类型 Marketing Rule 以扩展 Rule,您应该定义以下内容:

<AuthType name=’Marketing Rule’ extends=’Rule’/>

然后,要启用将使用的授权类型,您必须在两个位置中引用该授权类型。

下面是这两种引用的示例。第一个示例说明了授予访问 Marketing Rules 的权限的 AdminGroup 权能定义。


示例 12–4 AdminGroup 权能定义


<AdminGroup name=’Marketing Admin’>
  <Permissions>
    <Permission type=’Marketing Rule’ rights=’View,List,Connect,Disconnect/>
  </Permissions>
  <AdminGroups>
    <ObjectRef type=’AdminGroup’ id=’#ID#Account Administrator’/>
  </AdminGroups>
</AdminGroup>





第二个示例说明了允许用户访问对象的 Rule 定义,因为已为这些用户授予了访问 RuleMarketing Rule 的权限。


示例 12–5 Rule 定义


<Rule name=’Competitive Analysis Info’ authType=’Marketing Rule’>
 ...
</Rule>


注 –

任何用户只要被授予父授权类型或某种授权类型扩展的静态类型的权限,则对于所有子授权类型就将具有相同的权限。因此,使用上面的示例,被授予 Rule 的权限的任何用户对于 Marketing Rule 也将具有相同的权限。但是,反过来并不成立。


安全实践

作为 Identity Manager 管理员,可以通过在安装时和安装后遵照以下建议进一步减少受保护帐户和数据的安全风险。

安装时

在安装期间减少安全风险:

使用时

在使用期间减少安全风险:

如果您的应用服务器是 Servlet 2.2 兼容的服务器,则 Identity Manager 安装进程会将 HTTP 会话超时设置为默认值 30 分钟。通过编辑属性可以更改此值;但是,应将此值设置得更小,以提高安全性。不要将此值设置为高于 30 分钟。

Procedure要更改会话超时值

  1. 编辑 web.xml 文件,该文件位于应用服务器目录树中的 idm/WEB-INF 目录中。

  2. 更改下列各行中的数字值:


    <session-config>  <session-timeout>30</session-timeout></session-config>