Oracle DG环境下的秘钥管理

今天有朋友问到1)DG环境下的秘钥管理需要注意什么,2)秘钥管理对DG的日志同步有影响吗?

对于2)的回答是明确的,没有影响。秘钥的管理和DG的redo log shipping完全是两套机制。在最新版的Oracle Key Vault常见问题提到,Key Vault对于加密的性能没有影响,对于DG就更没有影响了。

对于1),我们先来看一下文档8.2.1 About Using Transparent Data Encryption with Oracle Data Guard是如何说的:

对于软件密钥库(是指秘钥和数据库软件在一起,即Wallet方式 )和外部密钥库(是指秘钥在数据库软件的外部,即Key Vault方式),Oracle Data Guard 支持透明数据加密 (TDE)。

如果主数据库使用 TDE,则 Data Guard 配置中的每个备用数据库都必须拥有主数据库的加密密钥存储的副本。 如果您在主数据库中重置 TDE 主加密密钥,则必须将包含 TDE 主加密密钥的密钥库从主数据库复制到每个 备用数据库。

请注意以下事项:

  • 使用基于钱包的 TDE 重新生成密钥操作将导致备用数据库上的托管恢复进程 (MRP) 失败,因为新的 TDE 主加密密钥尚不可用。 为了避免此问题,请在主数据库上使用 ADMINISTER KEY MANAGEMENT CREATE KEY 语句将新的 TDE 主加密密钥插入钱包。 将钱包复制到备用数据库,然后在主数据库上执行 ADMINISTER KEY MANAGEMENT USE KEY 语句。
  • 当数据传输到备用数据库时,日志文件中的加密数据仍保持加密状态。 加密数据在传输过程中也保持加密状态。

Oracle 12c Oracle Advanced Security 透明数据加密最佳实践中文白皮书中有一节专门提到了DG和Wallet结合的注意事项。不过这里面没有包含Key Vault的内容。

此外,Oracle中国网址提供了Oracle Key Vault的中文介绍,简明扼要,列举了Key Vault的适用场景和主要优点,建议看一下。

总之,在DG环境下,秘钥管理更建议用Key Vault而非Wallet,因为运维更简单,更安全,更高可用,更易扩展。

要知道,加密密钥对于Oracle数据库是至关重要的,秘钥丢了就意味着数据丢了,这可跟家里的保险柜有备用钥匙,可以找原厂开锁不一样。

相关推荐
Mephisto.java2 小时前
【大数据学习 | Spark】Spark的改变分区的算子
大数据·elasticsearch·oracle·spark·kafka·memcache
远歌已逝5 小时前
维护在线重做日志(二)
数据库·oracle
LKID体13 小时前
Python操作neo4j库py2neo使用(一)
python·oracle·neo4j
斗-匕14 小时前
Spring事务管理
数据库·spring·oracle
一行玩python14 小时前
SQLAlchemy,ORM的Python标杆!
开发语言·数据库·python·oracle
王ASC16 小时前
ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值。ojdbc8版本23.2.0.0驱动BUG【已解决】
数据库·sql·oracle
不爱学习的啊Biao17 小时前
初识mysql数据库
数据库·mysql·oracle
SRC_BLUE_1717 小时前
SQLI LABS | Less-55 GET-Challenge-Union-14 Queries Allowed-Variation 2
oracle·c#·less
.20 小时前
接口 测试
数据库·oracle
LIT-涛1 天前
JavaEE初学07
数据库·oracle·java-ee