All Products
Search
Document Center

Key Management Service:Ikhtisar SDK

Last Updated:Apr 23, 2026

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.

Penting

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

  • Memerlukan operasi control-plane (membuat kunci, kredensial, atau instans KMS).

  • Dideploy di luar VPC Alibaba Cloud.

  • Lingkungan non-produksi seperti pengujian internal.

Semua OpenAPI

Dedicated gateway

  • Dideploy dalam VPC Alibaba Cloud.

  • Operasi data-plane yang sering (enkripsi/dekripsi, pengambilan kredensial) dengan kebutuhan performa tinggi.

  • Kebutuhan keamanan tinggi terhadap data bisnis.

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

  • Mendukung semua jenis kredensial.

  • Mengambil kredensial hanya dengan satu baris kode.

  • Dilengkapi caching kredensial dan refresh otomatis bawaan.

Credential JDBC Client

  • Memerlukan Java 8 atau versi lebih baru.

  • Hanya mendukung kredensial RDS dan kredensial generik dengan format {\"AccountName\":\"\",\"AccountPassword\":\"\"}.

  • Gunakan untuk autentikasi database melalui JDBC, connection pools (c3p0, DBCP), atau framework database. Mendukung interval refresh kustom.

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

  • Performa pengambilan kredensial tidak kritis.

  • Dideploy di luar VPC Alibaba Cloud.

  • Lingkungan non-produksi seperti pengujian internal.

Dedicated gateway

  • Dideploy dalam VPC Alibaba Cloud.

  • Operasi pengambilan kredensial yang sering.

  • Kebutuhan keamanan tinggi terhadap data bisnis.

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 shared gateway (titik akhir layanan KMS): Alamat jaringan global untuk KMS, dapat diakses melalui internet publik atau jaringan VPC.

    • Format: kms.<region-id>.cryptoservice.kms.aliyuncs.com. Untuk ID wilayah, lihat Wilayah dan zona.

    • Contoh: Untuk China (Hangzhou), titik akhir publik adalah kms.cn-hangzhou.aliyuncs.com dan titik akhir VPC adalah kms-vpc.cn-hangzhou.aliyuncs.com.

  • 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.

    Penting

    Saat 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

Peringatan

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.

  1. Masuk ke Konsol RAM. Pada halaman Users, klik nama RAM user yang dituju.

  2. Pada tab Authentication, di bagian AccessKey, klik Create AccessKey dan ikuti petunjuk di layar.

  3. 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.

      Catatan

      Anda 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.

  1. 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).

  2. 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.

      Catatan

      Anda 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.

  3. Masuk ke Konsol ECS dan sambungkan peran RAM ke instans ECS.image

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.

  1. Buat pasangan AccessKey user

    1. Masuk ke Konsol RAM. Di panel navigasi kiri, pilih Identities > Users. Pada halaman Users, klik nama RAM user yang dituju.

    2. Sambungkan kebijakan sistem AliyunSTSAssumeRoleAccess atau kebijakan kustom yang mencakup aksi sts:AssumeRole ke RAM user.

    3. Pada tab Authentication, di bagian AccessKey, klik Create AccessKey dan ikuti petunjuk di layar.

  2. Buat dan otorisasi peran RAM:

    1. Di panel navigasi kiri, pilih Identities > Roles. Pada halaman Roles, klik Create Role. Untuk informasi lebih lanjut, lihat Membuat peran RAM.

    2. 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.

        Catatan

        Anda 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.

  3. Peroleh RamRoleArn dari peran RAM yang dituju. Untuk informasi lebih lanjut, lihat Melihat informasi peran RAM.

    1. Di panel navigasi kiri, pilih Identities > Roles. Pada halaman Roles, klik nama peran yang dituju.

    2. Pada halaman detail peran, temukan RamRoleArn di bagian ARN.

      Catatan

      RamRoleArn adalah Nama Sumber Daya Alibaba Cloud (ARN) dari peran RAM yang akan diasumsikan. Formatnya adalah acs:ram::$accountID:role/$roleName, dengan $accountID sebagai ID akun Alibaba Cloud dan $roleName sebagai 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.

  1. Masuk ke Konsol RAM untuk membuat RAM user atau RAM role. Untuk informasi lebih lanjut, lihat Membuat RAM user dan Membuat RAM role.

  2. Berikan izin AliyunSTSAssumeRoleAccess kepada RAM user atau RAM role. Untuk informasi lebih lanjut, lihat Memberikan izin kepada RAM user dan Memberikan izin kepada RAM role.

  3. 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.

      Catatan

      Anda 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.

  4. 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

  1. Buat penyedia OIDC

    1. Masuk ke Konsol RAM sebagai administrator RAM. Pada halaman SSO, klik tab Role-based SSO.

    2. Pada tab OIDC, klik Create IdP.

    3. Pada halaman Create IdP, konfigurasikan informasi penyedia. Untuk informasi lebih lanjut, lihat Mengelola penyedia OIDC.

  2. Peroleh dan simpan informasi identitas OIDC (ARN dan Client ID)

    1. Buka halaman SSO, lalu pada tab IdP, klik nama penyedia OIDC yang dituju.

    2. Pada halaman detail IdP, Anda dapat melihat ARN dan Client ID.

  3. Buat dan otorisasi peran RAM untuk penyedia OIDC

    1. Masuk ke Konsol RAM sebagai administrator RAM dan buka halaman Identities > Roles.

    2. Klik Create Role. Di pojok kanan atas halaman pembuatan, klik Switch to Policy Editor.

    3. Di editor kebijakan, tentukan penyedia OIDC. Pilih editor visual dan konfigurasikan parameter seperti dijelaskan di bawah.

      Catatan

      Untuk informasi tentang mode lainnya, lihat Membuat peran RAM untuk penyedia OIDC.

      1. Di bagian Select Trusted Entity, pilih IdP.

      2. Di bagian Edit Trust Policy, konfigurasikan parameter berikut.

        • IdP Type: Pilih OIDC.

        • IdP: Pilih penyedia OIDC yang telah Anda buat sebelumnya.

  4. 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.

      Catatan

      Kebijakan 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.

  5. Dapatkan Target OIDC Role ARN

    1. Pada halaman Identities > Roles, klik nama peran yang dituju.

    2. Pada halaman detail peran, temukan OIDC Role ARN di bagian ARN.

      Catatan

      Role ARN adalah ARN dari peran RAM yang akan diasumsikan. Formatnya adalah acs:ram::$accountID:role/$roleName, dengan $accountID sebagai ID akun Alibaba Cloud dan $roleName sebagai nama peran RAM.

  6. 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

  1. Masuk ke Konsol Key Management Service. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih Application Access > Multi-Cloud Access (formerly AAP).

  2. (Opsional) Buat aturan jaringan.

    Catatan

    Mengonfigurasi aturan jaringan untuk membatasi akses berdasarkan alamat IP sumber bersifat opsional. Namun, kami menyarankan untuk mengonfigurasinya demi keamanan yang lebih baik.

    1. Klik tab Network Access Rules lalu klik Create Network Access Rule.

    2. Di panel Create Network Access Rule, atur Network Type ke Public, masukkan Allowed Source IP Addresses, lalu klik OK.

  3. Buat kebijakan izin.

    1. Klik tab Policies lalu klik Create Policy.

    2. Di panel Create Policy, konfigurasikan parameter untuk shared gateway seperti dijelaskan di bawah, lalu klik OK.

      1. Scope: Shared KMS Gateway

      2. Accessible Resources: Pilih rahasia yang ingin diakses.

      3. (Opsional) Network Access Rules: Pilih aturan jaringan yang dibuat pada langkah sebelumnya.

  4. Buat titik akses aplikasi (AAP).

    1. Klik tab Application Access lalu klik Create AAP.

    2. 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

      Penting

      Kami 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.

    3. 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.

    1. Masuk ke Konsol Key Management Service. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih Application Access > Multi-Cloud Access (formerly AAP).

    2. 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.

    3. 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.

    1. Ikuti petunjuk Standard Create di Membuat titik akses aplikasi untuk membuat ClientKey guna mengakses dedicated gateway. Parameter utama dijelaskan di bawah:

      1. Saat mengonfigurasi aturan jaringan, pilih Private untuk jenis jaringan.

      2. Saat mengonfigurasi cakupan aturan izin, pilih KMS Instance ID yang sesuai.

    2. Setelah pembuatan, browser Anda secara otomatis mengunduh ClientKey, yang mencakup:

      • Credential (ClientKeyContent): File ini bernama clientKey_****.json secara default.

      • Credential password (ClientKeyPassword): File ini bernama clientKey_****_Password.txt secara default.