Key Management Service (KMS) menyediakan tiga jenis SDK: Alibaba Cloud SDK, Credentials SDK, dan KMS Instance SDK (tidak direkomendasikan). Topik ini membandingkan kemampuan, metode autentikasi, API yang didukung, serta jenis gateway-nya untuk membantu Anda memilih SDK yang tepat sesuai kebutuhan.
Alur integrasi SDK
Alibaba Cloud SDK
Alibaba Cloud SDK menyediakan serangkaian pustaka untuk memanggil OpenAPI Alibaba Cloud. SDK ini mendukung API control-plane (mengelola kunci, kredensial, dan instans KMS) maupun API data-plane (operasi kriptografi dan pengambilan kredensial). Bahasa yang tersedia: Java, Python, C++, PHP, .NET (hanya C#), Go, TypeScript, dan Swift. Untuk informasi lebih lanjut, lihat Alibaba Cloud SDK.
API yang didukung
Gunakan Alibaba Cloud SDK untuk memanggil OpenAPI baik untuk operasi control-plane maupun data-plane. Untuk daftar lengkap API, lihat OpenAPI yang didukung oleh Alibaba Cloud SDK.
Operasi control-plane: Mengelola kunci default dan instans KMS, seperti membuat kunci atau kredensial, membuat instans KMS, dan mengubah tag kunci.
Operasi data-plane:
Operasi kriptografi: enkripsi/dekripsi simetris dan asimetris, enkripsi amplop, pembuatan kunci data, penandatanganan digital, dan verifikasi signature.
Pengambilan kredensial: memperoleh nilai kredensial yang disimpan di instans KMS.
Saat menggunakan Alibaba Cloud SDK untuk mengambil kredensial di lingkungan produksi, terapkan logika retry error dan caching kredensial guna menangani fluktuasi jaringan. Untuk strategi retry, lihat Retry permintaan dengan exponential backoff.
Jenis gateway yang didukung
Alibaba Cloud SDK mendukung shared gateway dan dedicated gateway. Operasi control-plane memerlukan shared gateway. Operasi data-plane mendukung keduanya.
Jenis Gateway | Skema Penggunaan yang Direkomendasikan | API yang Didukung |
Shared gateway | Semua OpenAPI | |
Dedicated gateway |
| Operasi kriptografi dan OpenAPI pengambilan kredensial |
Credentials SDK
Credentials SDK membungkus OpenAPI dan API instans untuk menyediakan caching kredensial dalam aplikasi serta refresh otomatis. SDK ini hanya mendukung pengambilan kredensial guna meningkatkan stabilitas bisnis dan mempermudah integrasi developer, tersedia dalam tiga varian: Credential Client, Credential JDBC Client, dan RAM Credential Plugin. Tersedia untuk Java (8+), Python, dan Go. Untuk informasi lebih lanjut, lihat Credentials SDK.
Jenis Credentials SDK
Jenis SDK | Deskripsi |
Credential Client |
|
Credential JDBC Client |
|
RAM Credential Plugin |
|
API yang didukung
Credentials SDK hanya mendukung operasi pengambilan kredensial. Untuk manajemen kredensial (control-plane), gunakan Alibaba Cloud SDK.
Jenis gateway yang didukung
Credentials SDK mengambil kredensial melalui shared gateway atau dedicated gateway.
Jenis Gateway | Skema Penggunaan yang Direkomendasikan |
Shared gateway | |
Dedicated gateway |
|
KMS instance SDK (tidak direkomendasikan)
KMS Instance SDK mengakses titik akhir dedicated gateway untuk operasi kriptografi dan pengambilan kredensial. Tersedia untuk Java (8+), PHP, Go, Python, dan .NET (hanya C#). Untuk detailnya, lihat KMS Instance SDK.
Titik akhir untuk jenis gateway
KMS menyediakan dua format titik akhir:
Titik akhir dedicated gateway (titik akhir instans KMS): Alamat jaringan instans KMS tertentu, hanya dapat diakses melalui jaringan pribadi.
Format:
<kms-instance-id>.cryptoservice.kms.aliyuncs.com.Contoh:
kst-hzz65f176a0ogplgq****.cryptoservice.kms.aliyuncs.com.
Otentikasi dan otorisasi
KMS mendukung dua metode otentikasi: otentikasi RAM dan otentikasi AAP (Application Access Point). Shared gateway mendukung kedua metode tersebut. Dedicated gateway hanya mendukung otentikasi AAP.
Otentikasi RAM: Menggunakan peran RAM, token STS, peran RAM ECS, AccessKey, dan lainnya. Untuk metode tambahan, lihat Mengelola kredensial akses.
PentingSaat mengakses kunci dan kredensial dalam suatu instans melalui dedicated gateway dengan otentikasi RAM, Anda harus mengonfigurasi sertifikat CA.
Otentikasi AAP (tidak direkomendasikan): Buat Application Access Point dan unduh file ClientKey, yang berisi Credential (ClientKeyContent) dan password kredensial (ClientKeyPassword).
Otentikasi RAM
AccessKey
Secara default, Akun Alibaba Cloud memiliki izin administrator untuk semua resource, yang tidak dapat diubah. Untuk memastikan keamanan resource, kami menyarankan agar Anda menggunakan RAM user untuk membuat pasangan AccessKey dan memberinya hanya izin yang diperlukan.
Masuk ke Konsol RAM. Pada halaman Users, klik nama RAM user yang dituju.
Pada tab Authentication, di bagian AccessKey, klik Create AccessKey dan ikuti petunjuk di layar.
Berikan izin kepada RAM user untuk mengakses KMS.
Metode 1: Konfigurasikan kebijakan berbasis identitas
Pada kolom Actions RAM user, klik Grant Permission untuk menyambungkan kebijakan izin sistem bawaan KMS ke RAM user. Untuk informasi lebih lanjut tentang kebijakan izin sistem KMS, lihat Kebijakan sistem untuk KMS.
CatatanAnda juga dapat membuat kebijakan izin kustom. Untuk informasi lebih lanjut, lihat Membuat kebijakan kustom.
Metode 2: Konfigurasikan kebijakan berbasis resource
KMS mendukung kebijakan berbasis resource yang memberikan izin akses untuk kunci dan rahasia tertentu. Anda dapat menggunakan kebijakan ini untuk mengontrol akun Alibaba Cloud, RAM user, dan RAM role mana yang dapat mengelola atau menggunakan kunci dan rahasia KMS. Untuk informasi lebih lanjut, lihat Kebijakan kunci dan Kebijakan rahasia.
ECS RAM Role
Peran RAM instans ECS memungkinkan Anda memperoleh kredensial akses temporary (token STS) dari dalam instans ECS untuk memanggil operasi API KMS, tanpa perlu mengonfigurasi pasangan AccessKey.
Untuk informasi lebih lanjut, lihat Peran RAM instans.
Masuk ke Konsol RAM dan buat peran RAM untuk layanan Alibaba Cloud tepercaya.
Jenis Entitas Tepercaya: Pilih Elastic Compute Service.
Entitas tepercaya: Pilih Elastic Compute Service (ECS).
Berikan izin kepada peran RAM untuk mengakses KMS.
Metode 1: Konfigurasikan kebijakan berbasis identitas
Pada kolom Actions peran RAM, klik Grant Permission untuk menyambungkan kebijakan izin sistem bawaan KMS ke peran RAM. Untuk informasi lebih lanjut tentang kebijakan izin sistem KMS, lihat Kebijakan sistem untuk KMS.
CatatanAnda juga dapat membuat kebijakan izin kustom. Untuk informasi lebih lanjut, lihat Membuat kebijakan kustom.
Metode 2: Konfigurasikan kebijakan berbasis resource
KMS mendukung kebijakan berbasis resource yang memberikan izin akses untuk kunci dan rahasia tertentu. Anda dapat menggunakan kebijakan ini untuk mengontrol akun Alibaba Cloud, RAM user, dan RAM role mana yang dapat mengelola atau menggunakan kunci dan rahasia KMS. Untuk informasi lebih lanjut, lihat Kebijakan kunci dan Kebijakan rahasia.
Masuk ke Konsol ECS dan sambungkan peran RAM ke instans ECS.

AccessKey + RamRoleArn
RAM user atau layanan cloud dapat mengasumsikan peran untuk memperoleh izin temporary (token STS) alih-alih menggunakan kunci jangka panjang, sehingga mengurangi risiko kebocoran kunci. Misalnya, dalam tugas pemrosesan data temporary, RAM user atau layanan cloud sementara mengasumsikan peran dengan RamRoleArn tertentu. Setelah tugas selesai, izin peran dicabut, sehingga meminimalkan risiko eksposur.
Buat pasangan AccessKey user
Masuk ke Konsol RAM. Di panel navigasi kiri, pilih . Pada halaman Users, klik nama RAM user yang dituju.
Sambungkan kebijakan sistem
AliyunSTSAssumeRoleAccessatau kebijakan kustom yang mencakup aksists:AssumeRoleke RAM user.Pada tab Authentication, di bagian AccessKey, klik Create AccessKey dan ikuti petunjuk di layar.
Buat dan otorisasi peran RAM:
Di panel navigasi kiri, pilih . Pada halaman Roles, klik Create Role. Untuk informasi lebih lanjut, lihat Membuat peran RAM.
Berikan izin kepada peran RAM untuk mengakses KMS.
Metode 1: Konfigurasikan kebijakan berbasis identitas
Pada kolom Actions peran RAM, klik Grant Permission untuk menyambungkan kebijakan izin sistem bawaan KMS ke peran RAM. Untuk informasi lebih lanjut tentang kebijakan izin sistem KMS, lihat Kebijakan sistem untuk KMS.
CatatanAnda juga dapat membuat kebijakan izin kustom. Untuk informasi lebih lanjut, lihat Membuat kebijakan kustom.
Metode 2: Konfigurasikan kebijakan berbasis resource
KMS mendukung kebijakan berbasis resource yang memberikan izin akses untuk kunci dan rahasia tertentu. Anda dapat menggunakan kebijakan ini untuk mengontrol akun Alibaba Cloud, RAM user, dan RAM role mana yang dapat mengelola atau menggunakan kunci dan rahasia KMS. Untuk informasi lebih lanjut, lihat Kebijakan kunci dan Kebijakan rahasia.
Peroleh RamRoleArn dari peran RAM yang dituju. Untuk informasi lebih lanjut, lihat Melihat informasi peran RAM.
Di panel navigasi kiri, pilih . Pada halaman Roles, klik nama peran yang dituju.
Pada halaman detail peran, temukan RamRoleArn di bagian ARN.
CatatanRamRoleArn adalah Nama Sumber Daya Alibaba Cloud (ARN) dari peran RAM yang akan diasumsikan. Formatnya adalah
acs:ram::$accountID:role/$roleName, dengan$accountIDsebagai ID akun Alibaba Cloud dan$roleNamesebagai nama peran RAM.
Token STS
Security Token Service (STS) menerbitkan kredensial akses temporary, yaitu token STS, kepada RAM user atau RAM role. Token ini memungkinkan akses ke KMS dengan izin tertentu selama periode validitas terbatas. Setelah masa berlaku habis, token secara otomatis menjadi tidak valid.
Masuk ke Konsol RAM untuk membuat RAM user atau RAM role. Untuk informasi lebih lanjut, lihat Membuat RAM user dan Membuat RAM role.
Berikan izin
AliyunSTSAssumeRoleAccesskepada RAM user atau RAM role. Untuk informasi lebih lanjut, lihat Memberikan izin kepada RAM user dan Memberikan izin kepada RAM role.Berikan izin kepada RAM user atau RAM role untuk mengakses KMS.
Metode 1: Konfigurasikan kebijakan berbasis identitas
Pada kolom Actions peran atau user RAM, klik Grant Permission untuk menyambungkan kebijakan izin sistem bawaan KMS. Untuk informasi lebih lanjut tentang kebijakan izin sistem KMS, lihat Kebijakan sistem untuk KMS.
CatatanAnda juga dapat membuat kebijakan izin kustom. Untuk informasi lebih lanjut, lihat Membuat kebijakan kustom.
Metode 2: Konfigurasikan kebijakan berbasis resource
KMS mendukung kebijakan berbasis resource yang memberikan izin akses untuk kunci dan rahasia tertentu. Anda dapat menggunakan kebijakan ini untuk mengontrol akun Alibaba Cloud, RAM user, dan RAM role mana yang dapat mengelola atau menggunakan kunci dan rahasia KMS. Untuk informasi lebih lanjut, lihat Kebijakan kunci dan Kebijakan rahasia.
Gunakan RAM user atau RAM role untuk memanggil operasi STS AssumeRole guna memperoleh kredensial akses STS temporary. Untuk informasi lebih lanjut, lihat AssumeRole.
OIDC Role ARN
Buat penyedia OIDC
Masuk ke Konsol RAM sebagai administrator RAM. Pada halaman SSO, klik tab Role-based SSO.
Pada tab OIDC, klik Create IdP.
Pada halaman Create IdP, konfigurasikan informasi penyedia. Untuk informasi lebih lanjut, lihat Mengelola penyedia OIDC.
Peroleh dan simpan informasi identitas OIDC (ARN dan Client ID)
Buka halaman SSO, lalu pada tab IdP, klik nama penyedia OIDC yang dituju.
Pada halaman detail IdP, Anda dapat melihat ARN dan Client ID.
Buat dan otorisasi peran RAM untuk penyedia OIDC
Masuk ke Konsol RAM sebagai administrator RAM dan buka halaman .
Klik Create Role. Di pojok kanan atas halaman pembuatan, klik Switch to Policy Editor.
Di editor kebijakan, tentukan penyedia OIDC. Pilih editor visual dan konfigurasikan parameter seperti dijelaskan di bawah.
CatatanUntuk informasi tentang mode lainnya, lihat Membuat peran RAM untuk penyedia OIDC.
Di bagian Select Trusted Entity, pilih IdP.
Di bagian Edit Trust Policy, konfigurasikan parameter berikut.
IdP Type: Pilih OIDC.
IdP: Pilih penyedia OIDC yang telah Anda buat sebelumnya.
Berikan izin kepada peran RAM OIDC untuk mengakses KMS
Metode 1: Konfigurasikan kebijakan berbasis identitas
Kembali ke halaman daftar Identities > Roles dan klik Grant Permission di kolom Actions peran OIDC yang dituju untuk langsung menyambungkan kebijakan izin sistem bawaan KMS ke peran RAM. Untuk informasi lebih lanjut tentang kebijakan izin sistem bawaan KMS, lihat Referensi Kebijakan Izin Sistem Key Management Service.
CatatanKebijakan izin kustom juga didukung. Untuk informasi lebih lanjut, lihat Membuat kebijakan izin kustom.
Metode 2: Konfigurasikan kebijakan berbasis resource
KMS mendukung kebijakan berbasis resource yang memberikan izin akses untuk kunci dan rahasia tertentu. Anda dapat menggunakan kebijakan ini untuk mengontrol akun Alibaba Cloud, RAM user, dan RAM role mana yang dapat mengelola atau menggunakan kunci dan rahasia KMS. Untuk informasi lebih lanjut, lihat Kebijakan kunci dan Kebijakan rahasia.
Dapatkan Target OIDC Role ARN
Pada halaman , klik nama peran yang dituju.
Pada halaman detail peran, temukan OIDC Role ARN di bagian ARN.
CatatanRole ARN adalah ARN dari peran RAM yang akan diasumsikan. Formatnya adalah
acs:ram::$accountID:role/$roleName, dengan$accountIDsebagai ID akun Alibaba Cloud dan$roleNamesebagai nama peran RAM.
Terbitkan dan simpan file token OIDC
Alibaba Cloud tidak mendukung login OIDC langsung dari konsol, tetapi Anda dapat menyelesaikan proses OIDC SSO secara terprogram. Memperoleh token OIDC melibatkan alur OAuth, umumnya melalui proses OAuth 2.0 standar dari penyedia identitas OIDC (IdP).
Contohnya: saat aplikasi berjalan di kluster ACK dengan RRSA diaktifkan, kluster secara otomatis membuat dan memasang file token OIDC service account yang sesuai untuk pod aplikasi.
Otentikasi AAP (tidak direkomendasikan)
Konfigurasi shared gateway
Masuk ke Konsol Key Management Service. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih .
(Opsional) Buat aturan jaringan.
CatatanMengonfigurasi aturan jaringan untuk membatasi akses berdasarkan alamat IP sumber bersifat opsional. Namun, kami menyarankan untuk mengonfigurasinya demi keamanan yang lebih baik.
Klik tab Network Access Rules lalu klik Create Network Access Rule.
Di panel Create Network Access Rule, atur Network Type ke Public, masukkan Allowed Source IP Addresses, lalu klik OK.
Buat kebijakan izin.
Klik tab Policies lalu klik Create Policy.
Di panel Create Policy, konfigurasikan parameter untuk shared gateway seperti dijelaskan di bawah, lalu klik OK.
Scope: Shared KMS Gateway
Accessible Resources: Pilih rahasia yang ingin diakses.
(Opsional) Network Access Rules: Pilih aturan jaringan yang dibuat pada langkah sebelumnya.
Buat titik akses aplikasi (AAP).
Klik tab Application Access lalu klik Create AAP.
Di panel Create AAP, atur Mode ke Standard Creation, lalu konfigurasikan parameter seperti dijelaskan di bawah.
Parameter
Deskripsi
Authentication Method
Pilih ClientKey.
Encryption Password
Masukkan string 8 hingga 64 karakter yang terdiri dari angka, huruf, dan karakter khusus:
~!@#$%^&*?_-.Validity Period
PentingKami menyarankan mengatur periode validitas selama satu tahun untuk mengurangi risiko kebocoran ClientKey. Pastikan untuk merotasi ClientKey sebelum masa berlaku habis guna menghindari gangguan layanan. Untuk informasi lebih lanjut, lihat Merotasi ClientKey.
Policies
Pilih kebijakan izin yang telah Anda buat pada langkah sebelumnya.
Klik OK. Browser secara otomatis mengunduh ClientKey. ClientKey mencakup file berikut:
Credential (ClientKeyContent): Nama file default adalah
clientKey_****.json.Credential password (ClientKeyPassword): Nama file default adalah
clientKey_****_Password.txt.
Konfigurasi dedicated gateway
Anda dapat membuat ClientKey menggunakan mode Quick Create atau Standard Create. Untuk informasi lebih lanjut tentang ClientKey, lihat Titik akses aplikasi dan Membuat titik akses aplikasi.
Metode 1: Quick Create
Metode ini praktis dan efisien, cocok untuk pengujian dan pengembangan cepat. Kredensial akses yang dibuat dengan cara ini memiliki akses penuh ke semua resource dalam instans KMS.
Masuk ke Konsol Key Management Service. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih .
Pada tab Application Access, klik Create AAP. Di panel Create AAP, konfigurasikan parameter.
Parameter
Deskripsi
Mode
Pilih Quick Creation.
Scope (KMS Instance)
Pilih instans KMS yang perlu diakses oleh aplikasi Anda.
Application Access Point Name
Masukkan nama untuk titik akses aplikasi.
Authentication Method
Nilai ini diatur ke ClientKey dan tidak dapat diubah.
Default Permission Policy
Nilainya adalah
key/*secret/*dan tidak dapat diubah. Artinya, aplikasi dapat mengakses semua kunci dan rahasia dalam instans KMS yang ditentukan.Klik OK. Browser secara otomatis mengunduh ClientKey. ClientKey mencakup file berikut:
Credential (ClientKeyContent): Nama file default adalah
clientKey_****.json.Credential password (ClientKeyPassword): Nama file default adalah
clientKey_****_Password.txt.
Metode 2: Standard Create
Jika Anda perlu mengonfigurasi izin akses detail halus untuk resource, kami menyarankan menggunakan metode Standard Create.
Ikuti petunjuk Standard Create di Membuat titik akses aplikasi untuk membuat ClientKey guna mengakses dedicated gateway. Parameter utama dijelaskan di bawah:
Saat mengonfigurasi aturan jaringan, pilih Private untuk jenis jaringan.
Saat mengonfigurasi cakupan aturan izin, pilih KMS Instance ID yang sesuai.
Setelah pembuatan, browser Anda secara otomatis mengunduh ClientKey, yang mencakup:
Credential (ClientKeyContent): File ini bernama
clientKey_****.jsonsecara default.Credential password (ClientKeyPassword): File ini bernama
clientKey_****_Password.txtsecara default.