全部產品
Search
文件中心

MaxCompute:NEW_WRAPPED_KEYSET

更新時間:Jun 19, 2024

MaxCompute支援結合Key Management Service(KMS)做密鑰管理,本文為您介紹如何使用封裝密鑰集合函式NEW_WRAPPED_KEYSET建立封裝密鑰集。

背景與前提

MaxCompute支援結合Key Management Service做密鑰管理,通過KMS金鑰組產生的密鑰集(KEYSET)再次進行加密,產生封裝密鑰集。封裝密鑰集需要您在產生後自行記錄儲存,使用封裝密鑰集對資料加解密,需要結合KMS密鑰進行,此過程所有密鑰由系統自動產生,不可查看原始用於資料加解密的密鑰,可以更加安全地實現資料加解密。NEW_WRAPPED_KEYSET函數將有權使用KMS使用者主要金鑰資源名稱(kms_cmk_arn)角色的role_arn授權給MaxCompute,用來建立一個封裝密鑰集,也支援通過角色鏈(role_chain)方式授權給其他阿里雲帳號的角色使用封裝密鑰集的許可權。

使用NEW_WRAPPED_KEYSET函數前需要完成以下操作:

  • 開通KMS建立密鑰執行個體。

  • 建立KMS密鑰並擷取密鑰ARN資訊(kms_cmk_arn)。

  • 建立RAM角色並授權MaxCompute訪問KMS,擷取建立角色的ARN資訊(role_arn)。

操作詳情請參見開通KMS並完成配置

命令格式

binary NEW_WRAPPED_KEYSET(string <kms_cmk_arn> , string <role-arn>, string <key_type>
[, string <description>, [string <role_chain>]])

參數說明

  • kms_cmk_arn: 必填,加密KEYSET的KMS使用者主要金鑰資源名稱,格式為'acs:kms:<RegionId>:<UserId>:key/<CmkId>',包含地區資訊、使用者ID、使用者主要金鑰ID,您可以在Key Management Service控制台的密鑰詳情頁面擷取ARN,操作詳情請參見開通KMS並完成配置

  • role_arn:必填,擁有KMS許可權的RAM角色的ARN資訊,該角色需授權給MaxCompute,格式為'acs:ram:${<userAID>}:role/${<roleName>}',包含使用者ID、角色名稱,擷取請參見開通KMS並完成配置

  • key_type:必填,新產生的KEYSET密鑰演算法類型。目前支援:AES-GCM-256AES-SIV-CMAC-128AES-SIV-CMAC-256

  • description: 可選,密鑰的描述資訊。

  • role_chain:可選,使用者授權角色鏈,格式為'acs:ram:<userAID>:role/<roleName2>,acs:ram:<userBID>:role/<roleName3>},...'。通過角色鏈的方式,支援跨阿里雲帳號的封裝密鑰集調用。

傳回值說明

返回BINARY類型的加密KEYSET,若有需要您可以通過HEX函數將BINARY類型轉換為STRING類型,詳情請參見HEX

使用樣本

  • 建立封裝密鑰集:

    select hex(NEW_WRAPPED_KEYSET('acs:kms:cn-hangzhou:1**************7:key/key-hzz****************1t','acs:ram::1**************7:role/kms', 'AES-GCM-256', 'hello'));

    返回結果樣本如下:

    +-----+
    | _c0 |
    +-----+
    | 613256354C576836656A59314D6D59344E7A6B7A624452754D6D3434627A49786443317A655859786358426F4E6A4D78434A373434582F54756C5A547A4E69337562786F4B3543412F616655573262786D345A41306B464C674A2F5758324F4E514E346746306F303236376D35335A6471797237366E57565A6836387A52687A4A673945784B6E677568794A376E6F4A68573677684B5A555A42786E4A383742536C4D46326A374F71474F4C414A6B665779694557394D58664876576E306C6D49777052746A77325643707A4259517277327944354343396C50586F31346A4351506253612F3044394C4C6E6E622F747A6B57316E4F564A6C5359354B35526130537565584F33507856773D |
    +-----+
  • 建立封裝密鑰集,並允許其他角色調用:

    select hex(NEW_WRAPPED_KEYSET('acs:kms:cn-hangzhou:1**************7:key/key-hzz****************1t','acs:ram::1**************7:role/kms', 'AES-GCM-256', 'hello','acs:ram::1**************7:role/kms1'));

    返回結果樣本如下:

    +-----+
    | _c0 |
    +-----+
    | 613256354C576836656A59314D6D59344E7A6B7A624452754D6D3434627A49786443317A655859786358426F4E6A4D784D59716D4C767954716B3562444779574C7A387965774966432F516B4A59616F57623648364A546A62434F7A7A42634F517A687A6E526F36543866714E4E63555546566874696C4A3947713556667A2F7851757A55686467504C517A2B6C433337485A535449744B53714E396B6639587666487A4D7957643842334D3179392F67423774726835437A556F786A74614571612F5A3543447668524A7731426566525647796A77574974476243475A4E594550714E767963532B333432743347396B714777626C54336F57706939706E437A667A4E4D6F4C63714F453D |
    +-----+