ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

Oracle 中 Workflow Manager (Classic) 工作空间的透明数据加密

需要 Workflow Manager 许可。

  • Oracle 12c
  • Oracle 11.2

可采取多种预防措施来协助保护数据库安全,例如设计安全系统、加密机密资产以及在数据库服务器周围建立防火墙。但如果物理介质(如驱动器或备份磁带)被盗,则恶意方可以恢复或附加数据库并浏览数据。一种解决方案是对数据库中的敏感数据进行加密,并通过一个证书来保护用于加密数据的密钥。这样便可防止任何没有密钥的用户使用该数据,但此种保护必须提前计划。

透明数据加密 (TDE) 可用于加密敏感数据,例如存储在表和表空间中的信用卡号。加密数据将为能够访问数据的数据库用户或应用程序进行透明解密。TED 有助于在存储介质或数据文件被盗的情况下保护介质中存储的数据。Oracle 使用验证、授权和审计机制来保护数据库中数据的安全,但不能保护用于存储数据的操作系统数据文件中数据的安全。为保护这些数据文件,Oracle 提供了 TDE。TDE 可加密数据文件中存储的敏感数据。为防止发生未经授权的解密,TDE 将加密密钥存储在数据库以外的安全模块中。

通过 Oracle,可将新的表空间定义为已加密。将表空间定义为已加密意味着将对在操作系统中创建的物理数据文件进行加密。任何表、索引以及新表空间中定义的其他对象都将默认加密,而不具备额外的存储空间要求。数据写入磁盘时会自动进行加密,并在应用程序访问数据时自动解密。

TDE 的优势包括以下内容:

  • 安全管理员可在存储介质或数据文件被盗的情况下确保敏感数据的安全。
  • 实施 TDE 有助于解决安全相关法规遵从问题。
  • 无需创建用于为授权用户或应用程序解密数据的触发器或视图。表中的数据会为数据库用户和应用程序透明解密。
  • 数据库用户和应用程序无需了解他们正在访问的数据是以加密形式存储的。数据会为数据库用户和应用程序透明解密。
  • 无需为处理加密数据而对应用程序进行修改。数据的加密和解密由数据库管理。
  • 密钥管理操作是自动进行的。用户或应用程序无需管理加密密钥。

有关配置 TDE 表空间加密的详细信息,请参阅 Oracle 文档。

要使用 TDE,请执行以下其中一种方法。

Oracle 12c

有关配置 TDE 表空间加密的更多信息,请参阅 Oracle 文档。

手动配置 TDE

以下步骤显示了如何手动配置 TDE。

注:

对示例进行复制和粘贴可能会导致语法错误。

  1. 创建 keystore 目录。
    mkdir $ORACLE_HOME/admin/$ORACLE_SID/wallet
    
  2. 如果希望管理加密 wallet,请修改 SQLNET.ORA 文件。

    默认的加密 wallet 位置为 $ORACLE_BASE/admin/<global_db_name>/wallet。如果希望 Oracle 在默认位置下管理 wallet,则无需在 sqlnet.ora 中设置 ENCRYPTION_WALLET_LOCATION 参数。

    对于 Windows

    ENCRYPTION_WALLET_LOCATION=
     (SOURCE=
      (METHOD=FILE)   (METHOD_DATA=
        (DIRECTORY=C:/oracle/admin/%ORACLE_SID%/wallet/)))
    

    对于 Linux

    ENCRYPTION_WALLET_LOCATION=
     (SOURCE=
      (METHOD=FILE)   (METHOD_DATA=
        (DIRECTORY=/app/oracle/admin/$ORACLE_SID/wallet/)))
    
  3. 检查正确版本号的 COMPATIBLE 初始化参数。该参数应为 12.x。

    注:

    使用 SQL*Plus。请勿使用 Oracle SQL Developer。

    ORA> sqlplus /nolog SQL> connect /as sysdba Connected. SQL> select instance_name,status,database_status from v$instance;
    INSTANCE_NAME    STATUS       DATABASE_STATUS
    ---------------- ------------ -----------------
    mcs1              OPEN         ACTIVE
    SQL> show parameter compatible NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    compatible                           string      12.1.0.0.0
    
  4. 创建 keystore。
    ADMINISTER KEY MANAGEMENT CREATE KEYSTORE 'C:\oracle\admin\mcs1\wallet' IDENTIFIED BY "mcs1$admin";
    --the ewallet.p12 file, which contains the keystore, appears in the keystore location.
    
  5. 打开/关闭基于密码的 keystore。
    ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "mcs1$admin" CONTAINER=ALL;
    ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE IDENTIFIED BY "mcs1$admin" CONTAINER=ALL;
    -- check the status
    SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET;
    
  6. 创建主加密密钥。

    为 CDB 和所有 PDB 创建主密钥。

    ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "mcs1$admin" WITH BACKUP USING 'masterkey_all_bkp' CONTAINER=ALL;
    SELECT KEY_ID,KEYSTORE_TYPE,CREATOR,CREATOR_INSTANCE_NAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS;
    

    导出主密钥。

    ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "mcs1.exp$admin" TO 'C:\oracle\admin\mcs1\wallet\masterkey_cdb_exp.bkp' IDENTIFIED BY "mcs1$admin";
    
  7. 创建主加密密钥。

    为 CDB 和所有 PDB 创建主密钥。

    ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "mcs1$admin" WITH BACKUP USING 'masterkey_all_bkp' CONTAINER=ALL;
    SELECT KEY_ID,KEYSTORE_TYPE,CREATOR,CREATOR_INSTANCE_NAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS;
    

    导出主密钥。

    ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "mcs1.exp$admin" TO 'C:\oracle\admin\mcs1\wallet\masterkey_cdb_exp.bkp' IDENTIFIED BY "mcs1$admin";
    
  8. 可选择创建当前容器的主密钥。如果已完成步骤 7,则可跳过此步骤。

    容器数据库 (CDB):

    ALTER SESSION SET CONTAINER = CDB$ROOT;
    SHOW CON_NAME SELECT SYS_CONTEXT('USERENV', 'CON_NAME') FROM dual;
    ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "mcs1$admin" WITH BACKUP USING 'masterkey_cdb_backup' CONTAINER=CURRENT;
    SELECT KEY_ID,KEYSTORE_TYPE,CREATOR,CREATOR_INSTANCE_NAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS;
    --export master key
    ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "mcs1.exp$admin" TO 'C:\oracle\admin\mcs1\wallet\masterkey_cdb_exp.bkp' IDENTIFIED BY "mcs1$admin";
    

    可插拔数据库 (PDB):wmxpdb

    ALTER SESSION SET CONTAINER = wmxpdb;
    SHOW CON_NAME SELECT SYS_CONTEXT('USERENV', 'CON_NAME') FROM dual;
    ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "mcs1$admin" WITH BACKUP USING 'masterkey_wmxpdb_backup' CONTAINER=CURRENT;
    SELECT KEY_ID,KEYSTORE_TYPE,CREATOR,CREATOR_INSTANCE_NAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS;
    --export master key ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "mcs1.exp$admin" TO 'C:\oracle\admin\mcs1\wallet\masterkey_wmxpdb_exp.bkp' IDENTIFIED BY "mcs1$admin";
    

    检查状态

    SELECT * FROM V$ENCRYPTION_WALLET;
    SELECT * FROM V$ENCRYPTION_KEYS;
    SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET;
    SELECT KEY_ID,KEYSTORE_TYPE,CREATOR,CREATOR_INSTANCE_NAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS;
    
  9. 设置本地自动登录 keystore。
    ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE 'C:\oracle\admin\mcs1\wallet' IDENTIFIED BY "mcs1$admin";
    SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET;
    --the cwallet.sso file appears in the keystore location. The ewallet.p12 file is the password-based wallet. --Note:
    --Do not remove the PKCS#12 wallet (ewallet.p12 file) after you create the auto login keystore (.sso file). 
    --You must have the PKCS#12 wallet to regenerate or rekey the TDE master encryption key in the future. 
    --By default, this file is located in the $ORACLE_HOME/admin/ORACLE_SID/wallet directory.
    
  10. 打开/关闭自动登录 keystore。
    ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN CONTAINER=ALL;
    ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE CONTAINER=ALL;
    -- check the status
    SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET;
    
    提示:

    要关闭此功能,请使用以下语句。

    ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE IDENTIFIED BY "mcs1$admin" CONTAINER=ALL;
    
  11. 建议您使用以下 SQL 语句验证 TDE 配置的状态。
    SELECT * FROM V$ENCRYPTION_WALLET;
    SELECT * FROM V$ENCRYPTION_KEYS;
    SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET;
    SELECT KEY_ID,KEYSTORE_TYPE FROM V$ENCRYPTION_KEYS;
    SELECT KEY_ID FROM V$ENCRYPTION_KEYS;
    SELECT KEYSTORE_TYPE FROM V$ENCRYPTION_KEYS;
    SELECT WRL_PARAMETER FROM V$ENCRYPTION_WALLET;
    SELECT STATUS FROM V$ENCRYPTION_WALLET;
    SELECT * FROM V$ENCRYPTED_TABLESPACES;
    SELECT TABLESPACE_NAME, ENCRYPTED FROM DBA_TABLESPACES;
    SELECT * FROM DBA_ENCRYPTED_COLUMNS;
    

Oracle 11.2

有关配置 TDE 表空间加密的更多信息,请参阅 Oracle 文档。

要使用 TDE,请执行以下其中一种方法。

配置 TDE Oracle Enterprise Manager

以下步骤显示了如何使用 Oracle Enterprise Manager (OEM) 来配置 TDE。

注:

对示例进行复制和粘贴可能会导致语法错误。

  1. 创建 wallet 文件夹。
    mkdir C:\oracle\admin\wallets
    OEM > login as sys / sysdba
    OEM > Server > Transparent Data Encryption
    Advanced Options > Change Location
    	Host Credentials	Username: <DOMAIN>\dbs_ora	Password: xxxxxxx
    	Configuration Method: File System		Encryption Wallet Directory: C:\oracle\admin\wallets
    	OK
    Create Wallet > Local Auto-Open Wallet > Create
    	Host Credentials	Username: <DOMAIN>\dbs_ora	Password: xxxxxxx
    	Wallet Password:  walletadmin
    	Continue
    
  2. 备份 wallet 文件夹。
    cd C:\oracle\admin
    zip -r wallets wallets
    

手动配置 TDE

以下步骤显示了如何手动配置 TDE。

注:

对示例进行复制和粘贴可能会导致语法错误。

  1. 从命令窗口创建 wallet 文件夹。
    mkdir C:\oracle\admin\wallets
    
  2. 将 wallet 位置添加到 sqlnet.ora 文件。
    ENCRYPTION_WALLET_LOCATION =
      (SOURCE =
        (METHOD = FILE)    (METHOD_DATA =
          (DIRECTORY = C:\oracle\admin\wallets\$ORACLE_SID)
    

    注:

    默认的加密 wallet 位置为 $ORACLE_BASE/admin/<global_db_name>/wallet。如果希望允许 Oracle 在默认位置下管理 wallet,则无需在 sqlnet.ora 文件中设置 ENCRYPTION_WALLET_LOCATION 参数。

  3. 使用 Oracle SQL*Plus 或 Oracle SQL Developer 生成主密钥。
    alter system set encryption key identified by "walletadmin";
    
  4. 使用 Oracle SQL*Plus 或 Oracle SQL Developer 验证 wallet 状态。
    select * from "v$encryption_wallet";
    
  5. 在命令窗口中将 wallet 设置为自动登录。
    set ORACLE_SID=prodlibdb
    orapki wallet create -wallet C:\oracle\admin\wallets -auto_login -pwd walletadmin
    
  6. 在命令窗口中备份 wallet 文件夹。
    cd C:\oracle\admin
    zip -r wallets wallets
    

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2021 Esri. | 隐私政策 | 法律声明