Anda dapat menggunakan MaxCompute dengan Key Management Service (KMS) untuk mengelola kunci. Topik ini menjelaskan cara menggunakan fungsi NEW_WRAPPED_KEYSET untuk membuat set kunci terbungkus.
Informasi latar belakang dan prasyarat
Anda dapat menggunakan MaxCompute dengan KMS untuk mengelola kunci. Anda dapat menghasilkan set kunci terbungkus dengan mengenkripsi set kunci berdasarkan kunci KMS. Setelah menghasilkan set kunci terbungkus, Anda harus mencatat dan menyimpannya secara manual untuk enkripsi dan dekripsi data berikutnya berdasarkan kunci KMS. Selama proses enkripsi atau dekripsi, semua kunci dihasilkan otomatis oleh sistem. Anda tidak dapat melihat kunci asli yang digunakan untuk enkripsi dan dekripsi. Dengan cara ini, data dapat dienkripsi atau didekripsi lebih aman. Fungsi NEW_WRAPPED_KEYSET mengasumsikan Alibaba Cloud Resource Name (ARN) dari peran yang dapat menggunakan ARN Kunci Utama Pelanggan (CMK) KMS ke MaxCompute dan membuat set kunci terbungkus. ARN peran ditentukan oleh role_arn. ARN CMK KMS ditentukan oleh kms_cmk_arn. Fungsi ini juga digunakan untuk memberikan izin kepada akun Alibaba Cloud lainnya untuk menggunakan set kunci terbungkus berdasarkan role_chain.
Sebelum menggunakan fungsi NEW_WRAPPED_KEYSET, pastikan prasyarat berikut telah dipenuhi:
KMS telah diaktifkan dan instance KMS telah dibuat.
Kunci KMS telah dibuat dan ARN kunci yang ditentukan oleh kms_cmk_arn telah diperoleh.
Peran RAM telah dibuat dan MaxCompute telah diberi otorisasi untuk mengakses KMS. ARN dari peran RAM telah diperoleh. ARN peran ditentukan oleh role_arn.
Sintaksis
binary NEW_WRAPPED_KEYSET(string <kms_cmk_arn> , string <role-arn>, string <key_type>
[, string <description>, [string <role_chain>]])Parameter
kms_cmk_arn: Wajib. Parameter ini menentukan ARN dari CMK KMS yang digunakan untuk mengenkripsi set kunci. Nilai parameter ini dalam format
'acs:kms:<RegionId>:<UserId>:key/<CmkId>'. RegionId menentukan ID wilayah, UserId menentukan ID pengguna, dan CmkId menentukan ID CMK. Anda dapat memperoleh ARN dari halaman Detail Kunci di Konsol KMS.role_arn: Wajib. Parameter ini menentukan ARN dari peran RAM yang memiliki izin pada KMS. Peran tersebut perlu diasumsikan oleh MaxCompute. Nilai parameter ini dalam format
'acs:ram:${<userAID>}:role/${<roleName>}'. userAID menentukan ID pengguna, dan roleName menentukan nama peran.key_type: Wajib. Parameter ini menentukan tipe algoritma dari kunci dalam set kunci yang baru dibuat. Nilai valid: AES-GCM-256, AES-SIV-CMAC-128, dan AES-SIV-CMAC-256.
description: Opsional. Parameter ini memberikan deskripsi dari kunci.
role_chain: Opsional. Parameter ini menentukan rantai peran untuk otorisasi pengguna. Nilai parameter ini dalam format
'acs:ram:<userAID>:role/<roleName2>,acs:ram:<userBID>:role/<roleName3>},...'. Anda dapat menggunakan rantai peran untuk memanggil set kunci terbungkus lintas akun Alibaba Cloud.
Nilai Pengembalian
Set kunci terbungkus tipe BINARY dikembalikan. Anda dapat menggunakan fungsi HEX untuk mengonversi set kunci terbungkus tipe BINARY menjadi set kunci tipe STRING sesuai kebutuhan bisnis Anda. Untuk informasi lebih lanjut tentang fungsi HEX, lihat HEX.
Contoh
Buat set kunci terbungkus.
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'));Hasil berikut dikembalikan:
+-----+ | _c0 | +-----+ | 613256354C576836656A59314D6D59344E7A6B7A624452754D6D3434627A49786443317A655859786358426F4E6A4D78434A373434582F54756C5A547A4E69337562786F4B3543412F616655573262786D345A41306B464C674A2F5758324F4E514E346746306F303236376D35335A6471797237366E57565A6836387A52687A4A673945784B6E677568794A376E6F4A68573677684B5A555A42786E4A383742536C4D46326A374F71474F4C414A6B665779694557394D58664876576E306C6D49777052746A77325643707A4259517277327944354343396C50586F31346A4351506253612F3044394C4C6E6E622F747A6B57316E4F564A6C5359354B35526130537565584F33507856773D | +-----+Buat set kunci terbungkus dan izinkan peran lain untuk memanggil set kunci terbungkus.
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'));Hasil berikut dikembalikan:
+-----+ | _c0 | +-----+ | 613256354C576836656A59314D6D59344E7A6B7A624452754D6D3434627A49786443317A655859786358426F4E6A4D784D59716D4C767954716B3562444779574C7A387965774966432F516B4A59616F57623648364A546A62434F7A7A42634F517A687A6E526F36543866714E4E63555546566874696C4A3947713556667A2F7851757A55686467504C517A2B6C433337485A535449744B53714E396B6639587666487A4D7957643842334D3179392F67423774726835437A556F786A74614571612F5A3543447668524A7731426566525647796A77574974476243475A4E594550714E767963532B333432743347396B714777626C54336F57706939706E437A667A4E4D6F4C63714F453D | +-----+
Referensi
Referensi | Deskripsi |
Menggambarkan cara menggunakan fungsi enkripsi dan dekripsi terkait set kunci. | |
Menggambarkan fungsi NEW_KEYSET. Fungsi ini digunakan untuk membuat set kunci berdasarkan tipe algoritma yang ditentukan. | |
Menggambarkan fungsi ADD_KEY_TO_KEYSET. Fungsi ini digunakan untuk menambahkan kunci ke set kunci dan mengonfigurasi kunci sebagai kunci utama. | |
Menggambarkan fungsi KEYSET_TO_JSON. Fungsi ini digunakan untuk mengonversi set kunci tipe BINARY menjadi string JSON yang dapat dibaca. Setelah konversi, Anda dapat melihat detail dari set kunci. | |
Menggambarkan fungsi KEYSET_FROM_JSON. Fungsi ini digunakan untuk mengonversi set kunci tipe JSON menjadi set kunci tipe BINARY. | |
Menggambarkan fungsi ROTATE_KEYSET. Fungsi ini memungkinkan sistem untuk secara otomatis menghasilkan kunci baru dan mengonfigurasi kunci baru sebagai kunci utama. | |
Menggambarkan fungsi ROTATE_WRAPPED_KEYSET. Fungsi ini digunakan untuk mendekripsi set kunci terenkripsi, menerapkan rotasi kunci, dan menggunakan kunci baru untuk mengenkripsi data. | |
Menggambarkan fungsi USE_WRAPPED_KEYSET. Fungsi ini digunakan untuk mengonversi set kunci terbungkus menjadi set kunci dasar yang digunakan sebagai parameter dalam fungsi enkripsi atau dekripsi. Anda juga dapat menggunakan fungsi USE_WRAPPED_KEYSET untuk memperoleh informasi tentang set kunci terbungkus dan menyimpan informasi tersebut untuk pemeliharaan set kunci berikutnya. | |
Menggambarkan fungsi ENHANCED_SYM_ENCRYPT. Fungsi ini digunakan untuk mengenkripsi data menggunakan set kunci yang ditentukan. | |
Menggambarkan fungsi ENHANCED_SYM_DECRYPT. Fungsi ini digunakan untuk mendekripsi data menggunakan set kunci yang ditentukan. |