精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

不要讓您的云應(yīng)用程序數(shù)據(jù)被破壞

云計(jì)算 云安全
新聞中出現(xiàn)的數(shù)據(jù)破壞報(bào)告越來越多。數(shù)據(jù)破壞在法律和財(cái)務(wù)上都具有深遠(yuǎn)的影響,所以組織開始越來越多地關(guān)注數(shù)據(jù)隱私合規(guī)性要求,尤其在數(shù)據(jù)和應(yīng)用程序位于云中的時(shí)候。IBM InfoSphere Optim Data Privacy 提供了一些技術(shù),讓您可以在云應(yīng)用程序中構(gòu)建所需的數(shù)據(jù)隱私保護(hù)。本教程將介紹如何使用 Bluemix SQL 數(shù)據(jù)庫,在 Java EE 應(yīng)用程序中利用 Optim 的用戶定義的數(shù)據(jù)隱私函數(shù)。

Optim Data Privacy 包含一組數(shù)據(jù)隱私功能提供程序,它們能夠屏蔽或替換各種信息類型,比如信用卡號、日期和一些國家的全國性 ID。這些數(shù)據(jù)隱私功能提供程序是跨平臺和跨環(huán)境的,被實(shí)現(xiàn)為一系列共享庫,而且可由所有支持 C 語言調(diào)用約定的應(yīng)用程序調(diào)用。

SQL Database (SQLDB) 在 Bluemix 上提供了 IBM DB2 Enterprise Server Edition 10.5 版的一個(gè)基于云的實(shí)例,這是 IBM 的開放云架構(gòu)的一種實(shí)現(xiàn),該實(shí)現(xiàn)利用了 Cloud Foundry 使開發(fā)人員能夠快速構(gòu)建、部署和管理云應(yīng)用程序。因?yàn)?SQLDB 屬于 DB2,所以 Optim Data Privacy 特性可以在配備的數(shù)據(jù)庫實(shí)例中提供。

在本教程中您將會看到,Bluemix 和 Optim 提供了必要的工具和技術(shù),幫助您在應(yīng)用程序中構(gòu)建有效的數(shù)據(jù)隱私保護(hù)。

您需要滿足的前提條件

要完成本教程的學(xué)習(xí),您應(yīng)該對面向?qū)ο蟮脑O(shè)計(jì)和開發(fā)具有充分的理解。還應(yīng)該基本熟悉 JEE Servlet 和關(guān)聯(lián)的應(yīng)用編程接口 (API)。因?yàn)樵搼?yīng)用程序使用了 JDBC 和 SQL,所以了解該 API 和如何編寫 SQL 語句會對您有所幫助。

如果不熟悉 SQLDB,可以在 SQL Database 入門 中了解有關(guān)的基本知識。“數(shù)據(jù)隱私特性” 一節(jié)包含一組用戶定義的函數(shù)和主要用例。下面將簡短介紹用戶定義的函數(shù)和數(shù)據(jù)隱私特性。

用戶定義的函數(shù)

用戶定義的函數(shù) (UDF) 是一種由用戶提供的自定義函數(shù),可像內(nèi)置函數(shù)(比如 ABS、CONCAT 和 SUBSTR)一樣從 SQL 語句調(diào)用。Optim Data Privacy UDF 是標(biāo)量函數(shù),它們接受一個(gè)值和一個(gè)屏蔽規(guī)范字符串作為輸入,返回一個(gè)經(jīng)過屏蔽的值。

標(biāo)量函數(shù)(內(nèi)置的和 UDF)可用在任何可合法使用列引用或文字的 SQL 語句中。下面這個(gè)示例返回一組屏蔽的信用卡號。

單 1. UDF 使用示例

  1. SELECT 
  2.    DB2INST1.OptimMaskStr(CREDITCARD_NUMBER,'pro=ccn,method=repeatable, \ 
  3.    pattern=6C,wheninvalid=preserve,flddef1=(name=c1,dt=varchar)'), 
  4. FROM USER01.OPTIM_CUSTOMERS 

在 Bluemix 中,Optim UDF 安裝在 DB2INST1 SQL Database 目錄中,所以函數(shù)名稱必須按上述方式進(jìn)行限定。所有 Optim UDF 的名稱都以 OptimMask 開頭,以便與其他 UDF 進(jìn)行區(qū)分。函數(shù)名稱的后綴表明它接受的數(shù)據(jù)類型。

在本例中,Str 指一個(gè)字符串,比如 CHARVARCHAR。其他后綴包括 Date(接受一個(gè)日期)和 Int16Int32(分別接受 16 和 32 位整數(shù))。

數(shù)據(jù)隱私特性

Optim Data Privacy 提供程序能夠屏蔽許多不同類型的信息。各種 UDF 可通過屏蔽作為一個(gè)輸入?yún)?shù)傳遞的規(guī)范字符串,指定要屏蔽的信息類型。

親緣性隱私功能提供程序

可使用親緣性隱私功能提供程序來屏蔽數(shù)據(jù),同時(shí)保持來源值的格式和字符類型。例如,該提供程序可以保持?jǐn)?shù)據(jù)的格式,比如帳號或駕照編號,同時(shí)使用字符數(shù)據(jù)屏蔽字符數(shù)據(jù),使用數(shù)字屏蔽數(shù)字。

年齡隱私功能提供程序

可使用年齡隱私功能提供程序屏蔽一個(gè)來源字段中的年齡值。來源值可包含字符、數(shù)字、日期或時(shí)間戳數(shù)據(jù),但必須始終表示一個(gè)日期,比如生日。

信用卡隱私功能提供程序

可以使用信用卡隱私功能提供程序來生成一個(gè)有效且惟一的信用卡號 (CCN)。在默認(rèn)情況下,該提供程序使用了一種可重復(fù)的方法,通過算法基于來源 CCN 生成一個(gè)經(jīng)過一致地修改的 CCN。在來源數(shù)據(jù)沒有 CCN 值時(shí),或者不需要以一致的方式轉(zhuǎn)換來源 CCN 時(shí),該提供程序還可以生成一個(gè)隨機(jī)值。

電子郵件隱私功能提供程序

可以使用電子郵件隱私功能提供程序生成一個(gè)電子郵件地址。電子郵件地址由兩部分組成,一個(gè)用戶名和一個(gè)域名,它們之間使用 @ 符號分開。例如 user@domain.com。

哈希隱私功能提供程序

可使用哈希隱私功能提供程序,使用一個(gè)哈希算法生成的數(shù)字值屏蔽來源數(shù)據(jù)??梢赃@些數(shù)字值為基礎(chǔ),提供來自查找表或一個(gè)值數(shù)組的替換數(shù)據(jù)。

全國性 ID 隱私功能提供程序

可以使用全國性 ID 隱私功能提供程序屏蔽全國性 ID 編號,比如美國社會安全編號。該提供程序可以使用保留了部分來源值的可重復(fù)方法,或者使用不會保留來源值的任何部分的隨機(jī)方法來屏蔽全國性 ID 編號。該提供程序還包含輸出值的多個(gè)分隔符選項(xiàng)(斜杠、句點(diǎn)、空格或無分隔符)。

其他隱私功能提供程序

Optim Data Privacy 提供程序庫還包含用于對通常無法通過算法屏蔽的信息類型(比如姓名和地址)執(zhí)行查找操作的提供程序。但是,大多數(shù)關(guān)系數(shù)據(jù)庫管理系統(tǒng) (RDMS) 都不允許從 SQL UDF 內(nèi)訪問數(shù)據(jù)庫表,所以要執(zhí)行查找,需要使用哈希隱私功能提供程序,并使用該哈希值作為鍵來選擇查找替換值,比如通過聯(lián)結(jié) (join)。

  1. String vcapServices = System.getenv("VCAP_SERVICES"); 
  2. if (vcapServices != null) { 
  3.   context.log("Has VCAP_SERVICES."); 
  4.   String vcapKey = 
  5.     context.getInitParameter(InitParameterNames.VCAP_KEY); 
  6.   if (vcapKey != null) { 
  7.     context.log("The VCAP key is '" + vcapKey + "'"); 
  8.   } 
  9.   JsonParser parser = new JsonParser(); 
  10.   try { 
  11.     JsonObject services = parser.parse(vcapServices).getAsJsonObject(); 
  12.     JsonArray array = null
  13.     JsonObject service = null
  14.     if (vcapKey != null) { 
  15.       context.log("Looking up service '" + vcapKey + "'..."); 
  16.       JsonElement element = services.get(vcapKey); 
  17.       if (element != null) { 
  18.         context.log("Service '" + vcapKey + "' found."); 
  19.         array = element.getAsJsonArray(); 
  20.       } 
  21.     } 
  22.     if (array == null) { 
  23.       context.log("Using first available service..."); 
  24.       Set<Entry<String, JsonElement>> entrySet = services.entrySet(); 
  25.       Iterator<Entry<String, JsonElement>> iterator = 
  26.         entrySet.iterator(); 
  27.       if (iterator.hasNext()) { 
  28.         Entry<String, JsonElement> entry = iterator.next(); 
  29.         JsonElement element = entry.getValue(); 
  30.         array = element.getAsJsonArray(); 
  31.       } else { 
  32.         context.log("No services defined."); 
  33.       } 
  34.     } 
  35.     if (array != null) { 
  36.       if (array.size() > 0) { 
  37.         service = array.get(0).getAsJsonObject(); 
  38.         String name = service.get("name").getAsString(); 
  39.         context.log("Service name is '" + name + "'."); 
  40.         String label = service.get("label").getAsString(); 
  41.         context.log("Service label is '" + label + "'."); 
  42.         String plan = service.get("plan").getAsString(); 
  43.         context.log("Service plan is '" + plan + "'."); 
  44.         JsonObject credentials = 
  45.           service.get("credentials").getAsJsonObject(); 
  46.         url = credentials.get("jdbcurl").getAsString(); 
  47.         context.log("URL is '" + url + "'."); 
  48.         user = credentials.get("username").getAsString(); 
  49.         context.log("User is '" + user + "'."); 
  50.         password = credentials.get("password").getAsString(); 
  51.         context.log("Password is '" + password + "'."); 
  52.       } 
  53.     } 
  54.   } catch (Exception e) { 
  55.     context.log("Error parsing VCAP_SERVICES", e); 
  56.   } 

從 VCAP_SERVICES 獲得連接 URL 和憑據(jù)后,連接到 SQL Database 就像使用 JDBC 連接到 DB2 LUW 一樣:

清單 3. 連接到 SQL Database

  1. connection = null
  2. ApplicationConfiguration configuration = getConfiguration(); 
  3. try { 
  4.   connection = DriverManager.getConnection( 
  5.     configuration.getUrl(), 
  6.     configuration.getUser(), 
  7.     configuration.getPassword()); 
  8.     log("Connected to database."); 
  9. catch (SQLException e) { 
  10.   log("Unable to connect to database.", e); 

演示應(yīng)用程序支持使用清單 6 中所示的 CREATE TABLE AS VIEW 機(jī)制來創(chuàng)建一個(gè)包含敏感信息的表的副本。像其他 JDBC 應(yīng)用程序一樣,這些步驟非常簡單:

  • 構(gòu)建要執(zhí)行的 SQL。
  • 從連接中獲?。ɑ蛑赜茫┮粋€(gè) SQL 語句。
  • 執(zhí)行該 SQL。

清單 4. 獲取該 SQL 語句

  1. Connection connection = connectionManager.getConnection(); 
  2. if (connection == null) { 
  3.   thrownew IllegalStateException("Database connection not available"); 
  4. if (connection != this.connection) { 
  5.   log("Connection is new or has changed - creating new statement."); 
  6.   this.connection = connection; 
  7.   if (statement != null) { 
  8.     try { 
  9.       statement.close(); 
  10.     } catch (SQLException e) { 
  11.       // Ignore. 
  12.     } 
  13.   } 
  14.   statement = connection.createStatement(); 
  15. return statement; 

清單 5. 執(zhí)行該 SQL 語句

  1. Statement statement = getStatement(); 
  2. return statement.executeUpdate(sql); 

#p#

創(chuàng)建一個(gè)屏蔽的表副本涉及兩個(gè)步驟:

  • 創(chuàng)建新表。
  • 插入來自原始表的數(shù)據(jù),使用 UDF 屏蔽敏感信息。

清單 6. 創(chuàng)建 SQL 來構(gòu)建新表

  1. ApplicationConfiguration configuration = getConfiguration(); 
  2. return String.format("CREATE TABLE %s.OPTIM_SALES_MASKED AS 
  3.   (SELECT * FROM %s.OPTIM_SALES) WITH NO DATA", 
  4.   configuration.getSchema(), 
  5.   configuration.getSchema()); 

清單 7. 創(chuàng)建 SQL 來插入來自原始表的數(shù)據(jù)

  1. ApplicationConfiguration configuration = getConfiguration(); 
  2. StringBuilder builder = new StringBuilder(); 
  3. builder.append(String.format("INSERT INTO %s.OPTIM_SALES_MASKED (\n"
  4.   configuration.getSchema())); 
  5. builder.append("    SALESMAN_ID,\n"); 
  6. builder.append("    FIRST_NAME,\n"); 
  7. builder.append("    LAST_NAME,\n"); 
  8. builder.append("    NATIONALITY,\n"); 
  9. builder.append("    NATIONAL_ID,\n"); 
  10. builder.append("    PHONE_NUMBER,\n"); 
  11. builder.append("    AGE,\n"); 
  12. builder.append("    SEX,\n"); 
  13. builder.append("    TERRITORY,\n"); 
  14. builder.append("    EMAIL_ADDRESS,\n"); 
  15. builder.append("    MANAGER_ID\n"); 
  16. builder.append(") SELECT SALESMAN_ID,\n"); 
  17. builder.append("    FIRST_NAME,\n"); 
  18. builder.append("    LAST_NAME,\n"); 
  19. builder.append("    NATIONALITY,\n"); 
  20. if (configuration.isUseUDFs()) { 
  21.   builder.append("    "); 
  22.   String udfSchema = configuration.getUdfSchema(); 
  23.   if (udfSchema != null) { 
  24.     builder.append(udfSchema); 
  25.     builder.append('.'); 
  26.   } 
  27.   builder.append("OptimMaskStr(NATIONAL_ID,'pro=nid,switch=us, 
  28.     wheninvalid=preserve,flddef1=(name=c1,dt=varchar)'),\n"); 
  29. else { 
  30.   builder.append("    NATIONAL_ID,\n"); 
  31. builder.append("    PHONE_NUMBER,\n"); 
  32. builder.append("    AGE,\n"); 
  33. builder.append("    SEX,\n"); 
  34. builder.append("    TERRITORY,\n"); 
  35. builder.append("    EMAIL_ADDRESS,\n"); 
  36. builder.append("    MANAGER_ID\n"); 
  37. builder.append(String.format("   FROM %s.OPTIM_SALES WHERE NATIONALITY = 
  38.   'U.S.'\n", configuration.getSchema())); 
  39. return builder.toString(); 

SQL Database DDL

由于 SQL Database 服務(wù)作為基于云的產(chǎn)品的性質(zhì),該服務(wù)提供的 DB2 數(shù)據(jù)庫存在多種限制和局限性。最明顯的限制是,目前無法從云外部連接到 SQL Database 實(shí)例。這使得用戶無法使用 DB2 命令行實(shí)用程序和其他 SQL 工具(比如 Eclipse)。但 SQL Database 有一個(gè)與 Bluemix 集成的控制臺提供了此功能。

要啟動該控制臺,需要使用您的憑據(jù)登錄到 Bluemix。這會調(diào)出您的儀表板。在左側(cè),可以訪問應(yīng)用程序和服務(wù)。單擊 SERVICES 展開該列表并選擇您的 SQL Database 服務(wù)。

圖 1. 您的 Bluemix 儀表板

您的 Bluemix 儀表板

1.要啟動該控制臺,需要使用您的憑據(jù)登錄到 Bluemix。這會調(diào)出您的儀表板。在左側(cè),可以訪問應(yīng)用程序和服務(wù)。單擊 SERVICES 展開該列表并選擇您的 SQL Database 服務(wù)。

圖 1. 您的 Bluemix 儀表板

您的 Bluemix 儀表板

2.這會打開 SQL 控制臺的啟動面板。單擊 LAUNCH,這會在瀏覽器中打開一個(gè)新窗口或選項(xiàng)卡。Bluemix 建議采用的默認(rèn)名稱為 mySQLDB。我選擇使用 sqldb。

圖 2. SQL Database 控制臺啟動面板

SQL Database 控制臺啟動面板

3.單擊 Work with Database Objects 查看數(shù)據(jù)庫實(shí)例元數(shù)據(jù),比如模式、表、視圖和函數(shù)。

圖 3. SQL Database 控制臺

SQL Database 控制臺

4.如果有多個(gè) SQL Database 服務(wù)器綁定到您的應(yīng)用程序,那么可以使用 Database: 下拉菜單選擇您想要查看和使用的數(shù)據(jù)庫。

要創(chuàng)建數(shù)據(jù)庫表和視圖,可以單擊 Run DDL。

圖 4. 使用數(shù)據(jù)庫對象

使用數(shù)據(jù)庫對象

#p#

5.這會調(diào)出一個(gè)選項(xiàng)卡,用于鍵入或粘貼 DDL,或者從您的本地文件系統(tǒng)加載一個(gè) SQL 腳本文件。

圖 5. 運(yùn)行 DDL

運(yùn)行 DDL

清單 8. DDL 語句

  1. ------------------------------------------------ 
  2. -- DDL Statements for table "USER01 "."OPTIM_CUSTOMERS" 
  3. ------------------------------------------------ 
  4. CREATETABLE "USER01 "."OPTIM_CUSTOMERS" ( 
  5. "CUST_ID" CHAR(5) NOTNULL , 
  6. "CUSTNAME" CHAR(20) NOTNULL , 
  7. "ADDRESS1" VARCHAR(100) NOTNULL , 
  8. "ADDRESS2" VARCHAR(100) , 
  9. "LOCALITY" VARCHAR(56) , 
  10. "CITY" VARCHAR(60) , 
  11. "STATE" VARCHAR(30) , 
  12. "COUNTRY_CODE" CHAR(2) , 
  13. "POSTAL_CODE" VARCHAR(15) , 
  14. "POSTAL_CODE_PLUS4" CHAR(4) , 
  15. "EMAIL_ADDRESS" VARCHAR(70) , 
  16. "PHONE_NUMBER" VARCHAR(20) , 
  17. "YTD_SALES" DECIMAL(7,2) NOTNULLWITHDEFAULT , 
  18. "SALESMAN_ID" CHAR(6) , 
  19. "NATIONALITY" VARCHAR(30) , 
  20. "NATIONAL_ID" VARCHAR(30) , 
  21. "CREDITCARD_NUMBER" VARCHAR(19) , 
  22. "CREDITCARD_TYPE" VARCHAR(30) , 
  23. "CREDITCARD_EXP" CHAR(4) , 
  24. "CREDITCARD_CVV" VARCHAR(4) , 
  25. "DRIVER_LICENSE" VARCHAR(30) , 
  26. "CREDITCARD_HISTORY" CLOB(1048576) LOGGED NOT COMPACT ) 
  27. IN "USERSPACE1" ; 
  28. -- DDL Statements for indexes on Table "USER01 "."OPTIM_CUSTOMERS" 
  29. CREATEUNIQUEINDEX "USER01 "."XPK_CUST" ON "USER01 "."OPTIM_CUSTOMERS" 
  30. ("CUST_ID" ASC) 
  31. COMPRESS NO ALLOW REVERSE SCANS; 
  32. -- DDL Statements for primary key on Table "USER01 "."OPTIM_CUSTOMERS" 
  33. ALTERTABLE "USER01 "."OPTIM_CUSTOMERS" 
  34. ADDPRIMARYKEY 
  35. ("CUST_ID"); 
  36. ------------------------------------------------ 
  37. -- DDL Statements for table "USER01 "."OPTIM_SALES" 
  38. ------------------------------------------------ 
  39. CREATETABLE "USER01 "."OPTIM_SALES" ( 
  40. "SALESMAN_ID" CHAR(6) NOTNULL , 
  41. "FIRST_NAME" VARCHAR(15) NOTNULL , 
  42. "LAST_NAME" VARCHAR(15) NOTNULL , 
  43. "NATIONALITY" VARCHAR(30) , 
  44. "NATIONAL_ID" VARCHAR(30) , 
  45. "PHONE_NUMBER" VARCHAR(20) NOTNULL , 
  46. "AGE" SMALLINTNOTNULLWITHDEFAULT , 
  47. "SEX" CHAR(1) NOTNULLWITHDEFAULT , 
  48. "TERRITORY" VARCHAR(14) NOTNULL , 
  49. "EMAIL_ADDRESS" VARCHAR(70) NOTNULL , 
  50. "MANAGER_ID" VARCHAR(6) ) 
  51. IN "USERSPACE1" ; 
  52. -- DDL Statements for indexes on Table "USER01 "."OPTIM_SALES" 
  53. CREATEUNIQUEINDEX "USER01 "."XPK_SALES" ON "USER01 "."OPTIM_SALES" 
  54. ("SALESMAN_ID" ASC) 
  55. COMPRESS NO ALLOW REVERSE SCANS; 
  56. -- DDL Statements for primary key on Table "USER01 "."OPTIM_SALES" 
  57. ALTERTABLE "USER01 "."OPTIM_SALES" 
  58. ADDPRIMARYKEY 
  59. ("SALESMAN_ID");  

加載數(shù)據(jù)

執(zhí)行必要的 DDL 后,可以將任何所需的數(shù)據(jù)加載到數(shù)據(jù)庫實(shí)例中。演示應(yīng)用程序的數(shù)據(jù)包含兩個(gè)表:

  • 客戶數(shù)據(jù)
  • 銷售數(shù)據(jù)

這兩個(gè)表包含敏感信息,在真實(shí)世界中,應(yīng)該在用于分析或測試之前先屏蔽這些信息。

圖 6. 客戶數(shù)據(jù)

客戶數(shù)據(jù)

圖 7. 銷售數(shù)據(jù)

銷售數(shù)據(jù)

以下步驟展示了銷售數(shù)據(jù)的加載。

1.單擊控制臺的 Getting Started 頁面上的 Load Data,如 圖 3 所示。這會調(diào)出 Load Data 頁面。

單擊 Browse files 選擇您的本地文件系統(tǒng)中的一個(gè)文件,其中包含逗號分隔值 (CSV) 格式的數(shù)據(jù)。一定要為 Row one contains the column names 選擇 No。

使用 table 下拉菜單選擇該表,單擊 Load File 將數(shù)據(jù)上傳到 Bluemix。

圖 8. 瀏覽并上傳數(shù)據(jù)

瀏覽并上傳數(shù)據(jù)

上傳并解析文件后,會顯示內(nèi)容的預(yù)覽視圖。單擊 Next 選擇加載目標(biāo)。

圖 9. 上傳的數(shù)據(jù)的預(yù)覽視圖

上傳的數(shù)據(jù)的預(yù)覽視圖

確保已選擇 Load into an existing table 并單擊 Next。

圖 10. 選擇目標(biāo)

選擇目標(biāo)

#p#

為數(shù)據(jù)選擇模式 USER01 和目標(biāo)表。您會看到一個(gè)列出了表列的彈出窗口,在確認(rèn)您已選擇正確的表后,可以關(guān)閉此彈窗。

圖 11. 選擇表

選擇表

如果該表已在上面的 運(yùn)行 DDL 步驟中創(chuàng)建,那么是附加數(shù)據(jù)還是替換數(shù)據(jù)沒有任何區(qū)別。如果該表之前已加載,而且您希望重新開始,那么可以選擇 Replace any data in the table with new data,然后單擊 Finish。

Bluemix 將數(shù)據(jù)加載到表中后,您將獲得一個(gè)表明加載、拒絕、刪除和跳過的行數(shù)的狀態(tài),以及一個(gè)表預(yù)覽視圖。

圖 12. 選擇加載選項(xiàng)

選擇加載選項(xiàng)

加載了客戶和銷售數(shù)據(jù)后,演示應(yīng)用程序就可以使用數(shù)據(jù)庫了。

圖 13. 加載完成

加載完成

部署和測試您的應(yīng)用程序

可以使用 Cloud Foundry cf 命令行實(shí)用程序 部署 Web 應(yīng)用程序歸檔文件 (WAR)。

  1. 在可以部署(推送)應(yīng)用程序之前,必須登錄到您的 API 端點(diǎn):
  2. 可以推送一個(gè) .war 文件或一個(gè)目錄的內(nèi)容(布局類似于一個(gè) .war 文件)。在本例中,只需推送 .war 文件:
  3. 也可以使用 cf 查詢部署的應(yīng)用程序和它們使用的服務(wù):
  4. 完成上述操作后,您應(yīng)該注銷:
  5. 應(yīng)用程序被推送到 Bluemix 后,可以從 Web 瀏覽器通過 http://<app name>.mybluemix.net/ 訪問它。

單擊 Mask Customer Credit Card NumbersMask Sales Social Security Numbers

圖 14. 演示應(yīng)用程序

演示應(yīng)用程序

在下一個(gè)屏幕上,單擊 Mask Social Security Numbers

圖 15. 未屏蔽的銷售數(shù)據(jù)

未屏蔽的銷售數(shù)據(jù)

預(yù)覽將執(zhí)行的 3 個(gè)步驟: 然后單擊 Perform Steps and Compare。

圖 16. 屏蔽銷售錯(cuò)誤

屏蔽銷售錯(cuò)誤

  1. 丟棄包含屏蔽的數(shù)據(jù)的表(如果存在)。
  2. 創(chuàng)建將包含屏蔽的數(shù)據(jù)的表。
  3. 發(fā)出一個(gè)語句來插入銷售數(shù)據(jù),同時(shí)屏蔽社會安全編號。
  4. 檢查屏蔽的數(shù)據(jù),您可能注意到,所有社會安全編號都與原始編號不同。

圖 17. 屏蔽的銷售數(shù)據(jù)

屏蔽的銷售數(shù)據(jù)

結(jié)束語

隨著有關(guān)數(shù)據(jù)隱私的法律法規(guī)得到更多的關(guān)注,企業(yè)擁有具有數(shù)據(jù)屏蔽功能的應(yīng)用程序變得至關(guān)重要。如本教程所示,IBM Bluemix 和 Optim 提供了必要的技術(shù)和工具來幫助您構(gòu)建這些應(yīng)用程序。

原文出自:http://www.ibm.com/developerworks/cn/cloud/library/cl-optimprivacy-app/index.html

責(zé)任編輯:Ophira 來源: IBM
相關(guān)推薦

2012-03-09 17:30:28

ibmdw

2011-05-27 13:46:58

2020-07-16 11:23:54

應(yīng)用程序數(shù)據(jù)安全

2019-11-24 19:25:17

網(wǎng)絡(luò)安全邊緣計(jì)算攻擊

2023-07-27 10:24:54

數(shù)字化轉(zhuǎn)型NetOps

2022-05-10 08:00:00

數(shù)據(jù)庫數(shù)據(jù)庫監(jiān)控監(jiān)控系統(tǒng)

2013-12-04 13:51:38

Android SDK應(yīng)用程序

2015-03-11 09:44:58

云環(huán)境云數(shù)據(jù)中心數(shù)據(jù)移動

2012-02-08 15:06:31

ibmdw

2012-11-19 14:25:07

數(shù)據(jù)中心SDN

2012-11-19 16:32:16

數(shù)據(jù)中心

2018-09-30 15:58:34

2018-10-18 17:37:55

2019-03-18 13:20:14

多云云平臺云計(jì)算

2013-11-19 15:35:01

2011-12-06 10:10:59

云計(jì)算移動應(yīng)用

2020-12-28 14:40:47

云計(jì)算云應(yīng)用SaaS

2021-10-11 09:00:00

云原生Kubernetes安全

2015-01-06 09:59:59

云應(yīng)用程序Java開發(fā)SQL

2017-12-10 14:13:14

云服務(wù)云原生應(yīng)用程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

午夜免费激情视频| 岛国视频一区| 久久久久亚洲av无码专区桃色| 涩涩网在线视频| 久久精品一区二区三区av| 国产精品无av码在线观看| 五月天婷婷色综合| 丝袜美腿一区二区三区动态图| 在线免费观看日本欧美| 国产精品h视频| 婷婷综合激情网| 日本美女一区二区| 欧美黄色片视频| jizz18女人高潮| 国产精品xxxav免费视频| 日韩欧美国产高清91| 日本三级中文字幕在线观看| 日韩国产福利| 久久精品国产77777蜜臀| 97国产在线视频| 紧身裙女教师波多野结衣| 亚洲黄色录像| 精品国产3级a| 在线观看国产中文字幕| 三妻四妾完整版在线观看电视剧| 亚洲欧美日本韩国| 视频一区二区三| 无码国产色欲xxxx视频| 国产成人一级电影| 91久久国产婷婷一区二区| 国产一区二区视频网站| 精久久久久久| 欧美日韩国产成人在线| 精品国产国产综合精品| 精品福利久久久| 亚洲美女久久久| 中文字幕免费高清视频| 涩爱av色老久久精品偷偷鲁| 3d成人h动漫网站入口| koreanbj精品视频一区| 国产精品69xx| 一区二区在线观看视频| 穿情趣内衣被c到高潮视频| av片在线免费观看| 国产欧美精品一区二区色综合朱莉| 精品在线视频一区二区| 蜜臀久久精品久久久久| 丁香婷婷综合网| 97自拍视频| 亚洲第一色视频| 国产成人精品亚洲777人妖| 亚洲一区二区三区sesese| 国产女18毛片多18精品| 国产在线观看免费一区| 91精品国产自产在线老师啪| 亚洲自拍偷拍另类| 久久69国产一区二区蜜臀| 成人av在线网址| 国产精品久久久久久久成人午夜| 久久99久久久久久久久久久| 91老司机在线| www.色日本| 成人福利视频网站| 精品综合久久久| 日本啊v在线| 欧美韩国日本综合| 自拍偷拍99| jizz性欧美| 亚洲国产视频直播| 亚洲天堂成人在线观看| 日本不卡二区| 二区在线观看| 中文字幕不卡在线观看| 偷拍盗摄高潮叫床对白清晰| 国产精品久久久久久久精| 久草精品在线| 最近2019中文字幕一页二页| 激情无码人妻又粗又大| 亚洲最新av| 欧美高清视频一区二区| 日韩精品在线观看免费| 欧美aⅴ一区二区三区视频| 成人国产精品av| 国产成a人亚洲精v品无码| 成人综合婷婷国产精品久久| 欧美国产综合视频| 免费看美女视频在线网站| 亚洲尤物在线视频观看| aⅴ在线免费观看| 成人97精品毛片免费看| 精品精品国产高清a毛片牛牛 | 国产欧美一区二区三区在线观看视频 | 欧美午夜精品理论片a级按摩| 91在线第一页| 亚洲精品国产动漫| 久久视频免费观看| 成人公开免费视频| 国产精品一级在线| 欧美日韩国产不卡在线看| 黄色网在线免费看| 欧美性猛交xxxxx水多| 奇米777在线| 免费一区二区三区视频导航| 欧美成人午夜激情在线| av图片在线观看| 国产电影一区在线| 日韩在线三区| 欧美巨大丰满猛性社交| 3d动漫精品啪啪1区2区免费| 大又大又粗又硬又爽少妇毛片 | 亚洲专区第一页| 91看片淫黄大片一级在线观看| 少妇熟女一区二区| 新片速递亚洲合集欧美合集| 精品久久久久久久久久久久久久久 | 无码aⅴ精品一区二区三区浪潮 | 456亚洲精品成人影院| 日韩欧美亚洲国产精品字幕久久久 | 亚洲18在线| 日韩一区二区高清| 97精品久久久| 中文字幕在线播放不卡| 99久久伊人精品| 99热这里只有精品7| 中文字幕在线视频久| 全黄性性激高免费视频| 精品乱码一区二区三四区视频| 亚洲欧洲色图综合| 免费黄色特级片| ccyy激情综合| 久久亚洲欧美日韩精品专区| 91麻豆精品在线| 91美女片黄在线观看| 欧美图片激情小说| 欧美区一区二区| 久久精品成人欧美大片| 糖心vlog精品一区二区| 久久久久9999亚洲精品| 欧美黑人经典片免费观看| 涩爱av色老久久精品偷偷鲁| 免费97视频在线精品国自产拍| 亚洲中文一区二区三区| 高清欧美日韩| 亚洲а∨天堂久久精品9966| 欧美三根一起进三p| 国产在线精品一区二区不卡了| 亚洲精品永久www嫩草| 国产亚洲欧美日韩精品一区二区三区| 亚洲欧美精品一区| 波多野结衣小视频| 亚洲77777| 欧美日韩一区二区三区在线电影| 欧美国产日韩一区二区| 亚洲va欧美va| 亚洲大片一区二区三区| 人妻体内射精一区二区三区| 最新国产乱人伦偷精品免费网站| 国产一区二区免费电影| 久草在线资源站手机版| 亚洲美女在线视频| 免费看污视频的网站| 欧美国产精品一区| 懂色一区二区三区免费观看| 国产精品成人一区二区三区| 怡红院在线播放| 精品久久国产97色综合| 久久国产视频播放| 成人av免费在线播放| 精品国产一区二区三区四区精华| 日韩精品卡一| 精品国产乱码久久久久久1区2区| 国产在线视频99| aaa亚洲精品| 一本色道无码道dvd在线观看| 欧美日韩中文一区二区| 91精品视频专区| 9lporm自拍视频区在线| 亚洲色图25p| 国产又爽又黄免费软件| 亚洲国产视频网站| 一级黄色片大全| 精品一区二区影视| 男人的天堂狠狠干| 日韩在线高清| 成人av中文| 成人免费av电影| 欧美精品一区二区三区国产精品| 无码精品在线观看| 在线播放91灌醉迷j高跟美女 | 免费不卡的av| 久久精品官网| 日韩一级片一区二区| 最新国产一区| 成人免费看片网站| 国产亚洲欧美日韩精品一区二区三区 | 欧美极品视频在线观看| 久久久三级国产网站| 男生和女生一起差差差视频| 久久夜色精品| 成人午夜视频在线观看免费| 日韩欧美一区二区三区在线视频| 国产欧美一区二区在线播放| 久久青草视频| 青青精品视频播放| 国产美女福利在线观看| 中文字幕亚洲综合| 日韩精品福利| 亚洲а∨天堂久久精品9966 | 国产传媒久久文化传媒| 午夜激情福利在线| 一本色道久久综合| 日韩成人手机在线| 91久久高清国语自产拍| 欧美日韩一区二区三区在线视频| eeuss鲁片一区二区三区| 国产主播在线一区| 欧美最新精品| 日本精品久久久久影院| 国产不卡123| 欧美区在线播放| 久久99精品久久久久久野外| 最新中文字幕第一页| 亚洲一二三四在线观看| 国产白丝一区二区三区| 2017欧美狠狠色| a级片在线观看视频| 国产乱国产乱300精品| 久热精品在线播放| 久久一区二区三区四区五区 | 久久综合中文色婷婷| 99久久香蕉| 99久久99| 日韩精品免费视频一区二区三区 | 精品国产影院| 成人欧美一区二区三区黑人免费| 粉嫩av国产一区二区三区| 国产精品亚洲欧美导航| 91国拍精品国产粉嫩亚洲一区 | 欧美黄色一级| 91亚洲精品久久久| 久久国产精品美女| 91九色国产视频| 视频成人永久免费视频| 99porn视频在线| 51精品国产| 国偷自产av一区二区三区小尤奈| 国产精品中文字幕制服诱惑| 国产一区二区免费在线观看| 欧美一区二区三区久久| 久久99国产精品| 国产日产精品_国产精品毛片| 欧美成熟毛茸茸复古| 日韩av字幕| 日本午夜精品一区二区| 日韩在线视频精品| 免费看av软件| 亚洲黄色精品| 99精品视频在线看| 日本特黄久久久高潮| 欧美美女一级片| 国产在线精品免费| 蜜臀aⅴ国产精品久久久国产老师| 国产成人av一区二区| 天天插天天射天天干| 国产亲近乱来精品视频| 色欲狠狠躁天天躁无码中文字幕 | 欧美激情综合色综合啪啪五月| 国产精品偷拍| 国产999精品久久久| 欧美黄页在线免费观看| 999在线观看免费大全电视剧| 天海翼亚洲一区二区三区| 日韩av高清在线播放| 成人91在线| 欧美一区二区视频在线播放| 亚洲欧美春色| 国产免费中文字幕| 成人av网站大全| 男人的天堂av网| 樱花草国产18久久久久| 中文字幕免费在线观看视频| 欧美日韩免费不卡视频一区二区三区 | 国产亚洲精品精品精品| 亚洲狠狠丁香婷婷综合久久久| 日韩三级av在线| 欧美男生操女生| 亚洲av片一区二区三区| 日韩中文字幕在线播放| 草草在线视频| 成人午夜激情免费视频| 欧美国产极品| 久久国产精品免费观看| 久久高清免费观看| 91精品国产高清91久久久久久 | 国产乱国产乱300精品| 亚洲av综合一区二区| 最新不卡av在线| 天天干天天色综合| 精品国产人成亚洲区| 91精品国产综合久久久久久豆腐| 韩国v欧美v日本v亚洲| 免费一级欧美在线观看视频| 久久久亚洲综合网站| 欧美aⅴ99久久黑人专区| 热久久精品免费视频| 99久久婷婷国产综合精品| 老熟妻内射精品一区| 在线精品视频一区二区三四| 少妇又色又爽又黄的视频| 日韩视频在线免费观看| 欧洲av不卡| 九九久久99| 亚洲国产精品一区制服丝袜| 99日在线视频| 国产精品久久久久久久蜜臀| 99久久精品国产亚洲| 精品国产乱码久久久久久久久| 免费在线毛片网站| 国产精品你懂得| 激情综合网五月| 精品视频一区二区在线| jlzzjlzz亚洲日本少妇| 久草免费在线视频观看| 在线成人av网站| av免费观看一区二区| 国产精品成人av性教育| 免费av一区二区三区四区| 国产资源在线视频| 成人免费视频app| 久久激情免费视频| 日韩精品中文字幕一区二区三区| 国内精品不卡| 91九色精品视频| 亚洲情侣在线| 久久无码人妻一区二区三区| 中文字幕一区日韩精品欧美| 一二三四区在线| 中文字幕亚洲字幕| a一区二区三区亚洲| 一本色道婷婷久久欧美| 精品综合免费视频观看| 亚洲精品卡一卡二| 91麻豆精品国产| 尤物视频在线看| 国产伦精品一区二区三区在线| 在线看片欧美| 国产精品无码一区二区三区免费| 欧美日韩中国免费专区在线看| 欧美少妇另类| 国产精品欧美一区二区三区奶水| 成人av国产| 黄色片免费网址| 亚洲一区二区三区四区的| 日本xxxxwww| 欧美一区二区视频97| 免费国产自久久久久三四区久久| 亚洲免费av一区二区三区| 国产精品女人毛片| 国产欧美一级片| 久久久久五月天| 伊人久久大香线蕉av不卡| 日本新janpanese乱熟| 中文字幕一区二区在线播放| www.蜜桃av.com| 欧洲亚洲女同hd| 国产电影一区二区在线观看| 91丨porny丨九色| 亚洲第一主播视频| 国际av在线| 亚洲jizzjizz日本少妇| 亚洲毛片av| 亚洲色图欧美色| 日韩欧美在线网站| 成人片免费看| 2025韩国大尺度电影| 不卡av在线网| 中日精品一色哟哟| 欧美大片网站在线观看 | 日韩国产精品亚洲а∨天堂免| 久久爱www久久做| 天堂av免费在线| 日韩欧美综合一区| 校园春色亚洲| 亚洲奶大毛多的老太婆| 日本国产欧美| 久久香蕉视频网站| 久久久久久免费| 国产日韩一级片| 欧美性资源免费| 91精品动漫在线观看| 丰满少妇一区二区三区| 欧美放荡的少妇| 婷婷成人激情| 精品国产一区二区三区四区四| 女囚岛在线观看| 麻豆精品传媒视频| 国产伦精品一区二区三区在线观看| 伊人国产在线观看| 色系列之999| 97一区二区国产好的精华液|