|
可以将安全数据从一个安全领域或安全提供程序中导出,然后再将此数据导入到另一个安全领域或提供程序中。以下部分提供有关导出和导入安全数据的信息。
安全数据迁移概述
WebLogic 安全领域持久保存多种不同类型的安全数据,例如用户和组(用于 WebLogic 身份验证提供程序)、安全策略(用于 XACML 授权提供程序)、安全角色(用于 XACML 角色映射提供程序)以及凭据映射(用于 WebLogic 凭据映射提供程序)。在配置新的安全领域或新的安全提供程序时,您可能会希望使用现有领域或提供程序中的安全数据,而不是重新创建所有用户、组、策略、角色和凭据映射。有多种 WebLogic 安全提供程序支持安全数据迁移。这意味着,可以将安全数据从一个安全领域中导出,然后再将其导入到新的安全领域中。可以逐个迁移每个安全提供程序的安全数据,也可以同时迁移所有 WebLogic 安全提供程序的安全数据(即整个安全领域的安全数据)。请注意,仅当两个提供程序使用相同的数据格式时,才能将安全数据从一个提供程序迁移到另一个。请参阅 WebLogic 安全提供程序支持的格式和约束。可以通过 WebLogic 管理控制台或使用 WebLogic 脚本工具 (WLST) 迁移安全数据。
在下列情况下,迁移安全数据会有所帮助:
从开发模式转换为生产模式。
将生产模式安全配置复制到新 WebLogic Server 域中的安全领域。
将数据从一个安全领域移到同一 WebLogic Server 域中的新安全领域,其中一个或多个默认 WebLogic 安全提供程序将被替换为新安全提供程序。
本部分的其余内容将描述安全迁移概念、WebLogic 安全提供程序支持的格式和约束,以及使用 WLST 进行迁移安全数据的步骤。
要使用 WebLogic 管理控制台迁移安全数据,请参阅联机帮助中的下列主题:
迁移概念
格式是指数据格式,它指定导出或导入安全数据应采取的方式。支持的格式是指给定的安全提供程序能够识别如何处理的数据格式的列表。
约束是指密钥/值对,它们指定导出或导入进程的选项。使用约束可以控制在安全提供程序的数据库中(对于 WebLogic Server 安全提供程序,数据库为嵌入式 LDAP 服务器)要导出或导入哪些安全数据。例如,可能仅需要从身份验证提供程序的数据库中导出用户(而不是组)。支持的约束是指可以在特定安全提供程序的迁移过程中指定的约束列表。例如,可以指定使用身份验证提供程序的数据库来导入用户和组,但不导入安全策略。
导出文件是指在迁移过程的导出阶段将安全数据写入(使用指定的格式)其中的文件。导入文件是指在迁移过程的导入阶段从中读取(也使用指定的格式)安全数据的文件。在将安全数据从一个安全提供程序的数据存储迁移到另一个安全提供程序的数据存储中时,导出文件和导入文件都只是安全数据的临时存储位置。
WebLogic 安全提供程序支持的格式和约束
为在两个安全提供程序之间导出和导入安全数据,这两个安全提供程序必须处理相同的格式。某些用于 WebLogic Server 安全提供程序的数据格式是未发布的;因此,当前无法使用未发布格式在 WebLogic 安全提供程序和自定义安全提供程序之间迁移数据。
WebLogic 安全提供程序支持下列导入和导出格式。
表 8-1 WebLogic 安全提供程序支持的导入和导出格式
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
XML 合作伙伴注册表 – 由 SAML 合作伙伴注册表 Schema 定义的 XML 格式
JKS 密钥库 – 仅用于导入和导出合作伙伴证书的密钥库文件格式
|
WebLogic 安全提供程序支持下列导入和导出约束。
表 8-2 WebLogic 安全提供程序支持的约束
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
如果使用 passwords=cleartext 约束,则密码将会以明文形式导出。否则,密码将以加密形式导出。 |
|
|
|
all – 所有合作伙伴
none – 无合作伙伴
list – 仅列出的合作伙伴
enabled – 仅已启用的合作伙伴
disabled – 仅已禁用的合作伙伴
|
|
|
|
all – 所有证书
none – 无证书
list – 仅列出的证书
referenced – 仅由合作伙伴引用的证书
|
|
|
|
如果使用 passwords=cleartext 约束,则密码将会以明文形式导出。否则,密码将以加密形式导出。 |
|
|
|
指定如何解决 SAML 注册表中导入数据和现有数据的名称冲突。约束值可以为下列值之一:
fail – 如果检测到冲突,导入操作将失败(默认值)
rename – 重命名冲突的导入条目
replace - 使用冲突的导入条目替换现有条目
|
在从 WebLogic 凭据映射提供程序、SAML 凭据映射提供程序或 SAML 标识声明者执行导出操作时,需要指定是否以明文形式导出凭据的密码。约束 passwords=cleartext 指定将以明文形式导出密码。否则,密码将以加密形式导出。每个 WebLogic Server 域中用于加密密码的机制是不同的;因此,如果计划在其他的 WebLogic Server 域中使用密码,则需要以明文形式导出密码。在将凭据映射导入到新的 WebLogic Server 域中后,将对密码进行加密。在迁移过程中,由于可以从用户系统上获取安全数据,因此应妥善保护将凭据映射以明文形式导出到的目录和文件。
使用 WLST 迁移数据
可以使用 WebLogic 脚本工具 (WLST) 导出安全提供程序中的数据,也可以将数据导入到安全提供程序中。访问安全提供程序的运行时 MBean 并使用其 importData 或 exportData 操作。例如,可以通过诸如以下内容之类的命令来使用 WLST 导入数据:
其中
mbeanname - 安全提供程序 MBean 的名称。
format - 对该特定的安全提供程序有效的格式。请参阅表 8-1,WebLogic 安全提供程序支持的导入和导出格式。
filename - 要在其中导出或导入安全数据的目录位置和文件名。请记住,无论使用 UNIX 还是 Windows 操作系统,都需要在 WLST 命令中使用正斜杠而不是反斜杠作为路径名参数的路径分隔符。
constraints - 限制要导出或导入的数据的约束。
有关详细信息,请参阅 WebLogic 脚本工具。
使用 weblogic.admin 迁移数据
| 注意: |
不赞成使用 weblogic.Admin 实用工具。应改用 WLST。 |
也可以使用 weblogic.Admin 实用工具在安全领域和安全提供程序之间导出和导入安全数据。命令的格式为:
java weblogic.Admin -username username -password password \ INVOKE -mbean mbeanname \ -method methodname dataformat filename constraints
其中
username - Admin 用户的名称
password - Admin 用户的密码
mbeanname - 安全提供程序 MBean 的名称。
methodname - exportData 或 importData
dataformat - DefaultAtn、DefaultAtz、DefaultRoles 或 DefaultCreds
filename - 要将安全数据导出或导入到其中的目录位置和文件名
constraints - 限制要导出或导入的数据的约束。
| 注意: |
由于将安全数据导出的目录和文件中包含了有关部署的安全信息,因此应该通过操作系统安全机制来妥善保护该目录和文件。 |
例如:
java weblogic.Admin -username system -password weblogic INVOKE -mbean Security:Name=myrealmDefaultAuthenticator -method importData DefaultAtn d:\temp\security.info ""
|