全部产品
Search
文档中心

Key Management Service:Secret SDK

更新时间:Jul 06, 2025

Secret SDK adalah alat untuk mengenkapsulasi API Key Management Service (KMS) dan KMS Instance API, serta menyimpan cache dan memperbarui rahasia dalam aplikasi. Secret SDK menawarkan stabilitas layanan tinggi dan mudah diintegrasikan dengan aplikasi layanan bagi pengembang. Topik ini menjelaskan cara mengintegrasikan Secret SDK.

Ikhtisar Integrasi

Secret SDK hanya mendukung pengambilan rahasia selama operasi layanan terkait. Baik gateway bersama maupun gateway khusus dapat digunakan untuk akses.

Perbedaan antara Gateway Bersama dan Gateway Khusus

Secret SDK memungkinkan Anda memanggil KMS API dan KMS Instance API melalui gateway bersama atau gateway khusus untuk mengambil rahasia. Gateway bersama berlaku untuk seluruh jaringan KMS dan mendukung akses melalui Internet dan virtual private cloud (VPC). Gateway khusus berlaku untuk jaringan instance KMS tertentu dan hanya mendukung akses melalui jaringan pribadi.

Perbedaan

Gateway bersama

Gateway khusus

Skenario yang direkomendasikan

  • Persyaratan performa tidak tinggi untuk operasi pengambilan rahasia.

  • Beban kerja diterapkan di luar VPC Alibaba Cloud.

  • Akses dimulai ke KMS dari lingkungan non-produksi seperti lingkungan pengujian internal.

  • Beban kerja diterapkan pada VPC Alibaba Cloud.

  • Operasi pengambilan rahasia sering dipanggil.

  • Persyaratan keamanan data layanan tinggi.

Jaringan

Internet atau VPC

Jaringan pribadi KMS

Performa

Untuk performa enkripsi dan dekripsi data, permintaan per detik (QPS) adalah 1.000 saat menggunakan gateway bersama untuk mengakses KMS.

Performa bergantung pada performa komputasi instance KMS Anda. Sebagai contoh, performa komputasi bisa mencapai 1.000 atau 2.000 QPS.

Konfigurasi untuk inisialisasi klien

  • Endpoint: Sebagai contoh, endpoint gateway bersama dapat berupa kms.cn-hangzhou.aliyuncs.com. Untuk informasi lebih lanjut, lihat Endpoint gateway bersama (endpoint layanan KMS).

  • Sertifikat otoritas sertifikat (CA) instance KMS tidak diperlukan.

  • Endpoint: Endpoint gateway khusus berformat <YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com. Contohnya adalah kst-hzz65f176a0ogplgq****.cryptoservice.kms.aliyuncs.com.

  • Sertifikat CA instance KMS diperlukan.

API

GetSecretValue dari KMS API

GetSecretValue dari KMS Instance API

Otentikasi identitas

  • Otentikasi Resource Access Management (RAM): ARN dari peran RAM, peran RAM dari instance Elastic Compute Service (ECS), token Layanan Keamanan (STS), dan pasangan AccessKey.

  • Otentikasi titik akses aplikasi (AAP) (tidak direkomendasikan): kunci klien (konfigurasi gateway bersama).

Otentikasi AAP: kunci klien (konfigurasi gateway khusus).

Jenis-jenis Secret SDK

Jenis-jenis Secret SDK yang tersedia adalah klien rahasia, klien rahasia Java Database Connectivity (JDBC), dan plugin rahasia RAM. Anda dapat memanggil operasi GetSecretValue dari KMS API atau KMS Instance API untuk menanyakan nilai rahasia KMS melalui gateway bersama atau gateway khusus. Operasi GetSecretValue dari KMS Instance API tidak direkomendasikan. Jenis-jenis Secret SDK tersebut mendukung metode otentikasi dan API yang berbeda. Tabel berikut menjelaskan perbedaannya.

Tipe SDK

Penggunaan

Gateway dan metode otentikasi

Klien rahasia

  • Semua jenis rahasia didukung.

  • Klien rahasia mengenkapsulasi kemampuan untuk menyimpan cache dan memperbarui rahasia dalam aplikasi, memberikan stabilitas layanan yang lebih tinggi.

Gateway bersama:

  • Otentikasi RAM: ARN dari peran RAM, peran RAM dari instance ECS, token STS, dan pasangan AccessKey.

  • Otentikasi AAP (tidak direkomendasikan): kunci klien (konfigurasi gateway bersama).

Gateway khusus (tidak direkomendasikan):

  • Otentikasi AAP: kunci klien (konfigurasi gateway khusus).

Klien rahasia JDBC

  • Hanya Java yang didukung. Anda harus menggunakan Java 8 atau yang lebih baru.

  • Hanya rahasia ApsaraDB RDS dan rahasia generik yang nilainya dalam format {"AccountName":"<Nama pengguna akun database Anda>","AccountPassword":"<Kata sandi akun database Anda>"} yang didukung.

  • Jika Anda terhubung ke database menggunakan koneksi JDBC, kolam koneksi, atau framework database open source, Anda dapat menggunakan klien rahasia JDBC untuk menyelesaikan otentikasi identitas dan mengonfigurasi frekuensi penyegaran rahasia kustom. Kolam koneksi termasuk c3p0 dan Database Connection Pools (DBCP).

Gateway bersama:

  • Otentikasi RAM: ARN dari peran RAM, peran RAM dari instance ECS, token STS, dan pasangan AccessKey.

  • Otentikasi AAP (tidak direkomendasikan): kunci klien (konfigurasi gateway bersama).

Gateway khusus (tidak direkomendasikan):

Otentikasi AAP: kunci klien (konfigurasi gateway khusus).

Plugin rahasia RAM

  • Hanya rahasia RAM yang didukung.

  • SDK Alibaba Cloud yang Anda gunakan harus didukung oleh plugin rahasia RAM. Untuk informasi lebih lanjut, lihat SDK Alibaba Cloud yang Didukung.

Gateway bersama:

  • Otentikasi RAM: Peran RAM dari instance ECS.

  • Otentikasi AAP (tidak direkomendasikan): kunci klien (konfigurasi gateway bersama).

Gateway khusus (tidak direkomendasikan):

Otentikasi AAP: kunci klien (konfigurasi gateway khusus).

API yang Didukung

API

Deskripsi

Gateway bersama

Gateway khusus

GetSecretValue (KMS API)

Menanyakan nilai rahasia.

对

错

GetSecretValue (KMS Instance API)

Menanyakan nilai rahasia.

错

对

Endpoint

Endpoint gateway bersama (endpoint layanan KMS)

    Endpoint gateway khusus (endpoint instance KMS)

    Format endpoint adalah <YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com. Contohnya adalah kst-hzz65f176a0ogplgq****.cryptoservice.kms.aliyuncs.com.

    Catatan

    Ganti <YOUR_KMS_INSTANCE_ID> dengan ID instance KMS Anda.

    Otentikasi Identitas dan Otorisasi

    Secret SDK mendukung otentikasi RAM dan otentikasi AAP. Otentikasi AAP tidak direkomendasikan. Metode otentikasi RAM mencakup peran RAM, peran RAM dari instance ECS, token STS, dan pasangan AccessKey. Untuk otentikasi AAP, dua mode otentikasi konfigurasi gateway khusus dan konfigurasi gateway bersama disediakan untuk gateway yang berbeda.

    Penting
    • Otentikasi RAM hanya mendukung gateway bersama.

    • Gateway khusus hanya mendukung otentikasi AAP dalam mode konfigurasi gateway khusus.

    Metode otentikasi

    Tipe kredensial akses

    Tipe gateway

    Otentikasi RAM

    ARN dari peran RAM, peran RAM dari instance ECS, token STS, dan pasangan AccessKey

    Catatan

    Plugin rahasia RAM hanya mendukung peran RAM dari instance ECS.

    Gateway bersama

    Otentikasi AAP (tidak direkomendasikan)

    Kunci klien untuk konfigurasi gateway bersama dan kunci klien untuk konfigurasi gateway khusus

    Gateway bersama dan khusus

    Otentikasi RAM

    AccessKey

    Secara default, akun Alibaba Cloud berfungsi sebagai administrator dengan otoritas untuk mengelola semua sumber daya Alibaba Cloud terkait. Izin yang terkait dengan akun Alibaba Cloud tidak dapat diubah. Jika pasangan AccessKey terkait dengan akun Alibaba Cloud terganggu, sumber daya akun tersebut berisiko. Untuk keamanan yang lebih baik, kami tidak menyarankan membuat pasangan AccessKey untuk akun Alibaba Cloud. Sebaliknya, buat pengguna RAM dengan mode akses API diaktifkan dan hasilkan pasangan AccessKey untuk pengguna ini. Dengan memberikan pengguna RAM hanya izin yang diperlukan sesuai dengan prinsip hak istimewa minimal, mereka dapat melakukan operasi API untuk mengakses sumber daya Alibaba Cloud. Untuk informasi lebih lanjut, lihat Buat pasangan AccessKey.

    1. Masuk ke Konsol RAM menggunakan akun Alibaba Cloud, administrator RAM dengan kebijakan AliyunRAMFullAccess terlampir, atau pengguna RAM yang diberi izin untuk mengelola pasangan AccessKey.

    2. Di bilah navigasi kiri, pilih Identities > Users, dan klik pada pengguna RAM yang diinginkan.

    3. Di tab Authentication, klik Create AccessKey dan ikuti petunjuk untuk menyelesaikan pembuatan.

      image

    4. Berikan akses pengguna RAM ke KMS. Anda memiliki dua metode untuk menyelesaikan pemberian akses.

      • Metode 1: Melalui kebijakan berbasis identitas

        KMS menyediakan kebijakan izin yang ditentukan sistem yang dapat dilampirkan ke pengguna RAM. Untuk informasi lebih lanjut, lihat Kebijakan sistem untuk KMS. Anda juga dapat membuat kebijakan kustom.

      • Metode 2: Melalui kebijakan berbasis sumber daya

        KMS mendukung kebijakan berbasis sumber daya, yang memungkinkan Anda menetapkan izin akses untuk kunci dan rahasia. Ini memungkinkan Anda mengontrol akun Alibaba Cloud mana, pengguna RAM, dan peran RAM yang memiliki izin untuk mengelola atau menggunakan kunci dan rahasia KMS. Untuk informasi lebih lanjut, lihat Kebijakan kunci dan Kebijakan rahasia.

    Token STS

    Dengan menggunakan layanan STS, kredensial akses sementara dapat dikeluarkan untuk pengguna RAM atau peran RAM, sehingga mereka dapat mengakses KMS dengan izin yang ditentukan oleh kebijakan untuk periode validitas terbatas. Setelah periode kedaluwarsa, kredensial akan secara otomatis menjadi tidak valid.

    1. Masuk ke Konsol RAM menggunakan akun Alibaba Cloud atau pengguna RAM yang memiliki hak administratif.

    2. Buat pengguna RAM atau buat peran RAM.

    3. Berikan izin AliyunSTSAssumeRoleAccess kepada pengguna RAM atau Berikan izin AliyunSTSAssumeRoleAccess kepada peran RAM.

      image

    4. Berikan akses pengguna RAM ke KMS. Anda memiliki dua metode untuk menyelesaikan pemberian akses.

      • Metode 1: Melalui kebijakan berbasis identitas

        KMS menyediakan kebijakan izin yang ditentukan sistem yang dapat dilampirkan ke pengguna RAM. Untuk informasi lebih lanjut, lihat Kebijakan sistem untuk KMS. Anda juga dapat membuat kebijakan kustom.

      • Metode 2: Melalui kebijakan berbasis sumber daya

        KMS mendukung kebijakan berbasis sumber daya, yang memungkinkan Anda menetapkan izin akses untuk kunci dan rahasia. Ini memungkinkan Anda mengontrol akun Alibaba Cloud mana, pengguna RAM, dan peran RAM yang memiliki izin untuk mengelola atau menggunakan kunci dan rahasia KMS. Untuk informasi lebih lanjut, lihat Kebijakan kunci dan Kebijakan rahasia.

    1. Gunakan pengguna RAM atau peran RAM untuk memanggil antarmuka AssumeRole dari layanan STS untuk mendapatkan kredensial akses sementara.

    RamRoleArn

    Pengguna RAM atau layanan cloud dapat memperoleh izin sementara dengan mengasumsikan peran alih-alih menggunakan kunci akses jangka panjang secara langsung, sehingga mengurangi risiko kebocoran kunci. Sebagai contoh, dalam tugas pemrosesan data sementara, pengguna RAM atau layanan cloud dapat sementara mengasumsikan peran dengan RamRoleArn tertentu. RamRoleArn adalah informasi ARN dari peran RAM. Setelah tugas selesai, izin peran dicabut, lebih lanjut mengurangi risiko paparan.

    1. Masuk ke Konsol RAM menggunakan akun Alibaba Cloud atau peran RAM yang memiliki hak administratif.

    2. Buat peran RAM.

    3. Berikan akses peran RAM ke KMS. Anda memiliki dua metode untuk menyelesaikan pemberian akses.

      • Metode 1: Melalui kebijakan berbasis identitas

        KMS menyediakan kebijakan izin yang ditentukan sistem yang dapat dilampirkan ke pengguna RAM. Untuk informasi lebih lanjut, lihat Kebijakan sistem untuk KMS. Anda juga dapat membuat kebijakan kustom.

      • Metode 2: Melalui kebijakan berbasis sumber daya

        KMS mendukung kebijakan berbasis sumber daya, yang memungkinkan Anda menetapkan izin akses untuk kunci dan rahasia. Ini memungkinkan Anda mengontrol akun Alibaba Cloud mana dan peran RAM yang memiliki izin untuk mengelola atau menggunakan kunci dan rahasia KMS. Untuk informasi lebih lanjut, lihat Kebijakan kunci dan Kebijakan rahasia.

    4. Lihat RamRoleArn tentang peran RAM.

      RamRoleArn mengikuti format acs:ram::$accountID:role/$roleName, di mana $accountID adalah akun Alibaba Cloud dan $roleName adalah nama peran RAM.

      image

    Peran RAM Instance ECS

    Peran RAM instance ECS adalah peran layanan reguler yang dilampirkan pada instance ECS, dan entitas tepercaya dari peran RAM instance adalah ECS. Anda dapat menggunakan peran RAM instance untuk mendapatkan token Layanan Keamanan (STS) sebagai kredensial akses sementara dari dalam instance ECS tanpa perlu memberikan pasangan AccessKey. Kemudian, Anda dapat menggunakan kredensial akses sementara untuk memanggil operasi OpenAPI KMS.

    1. Masuk ke Konsol RAM, dan buat peran RAM instance yang Principal Type-nya adalah layanan cloud Alibaba Cloud.

      • Tipe Principal: Pilih Cloud Service.

      • Nama Principal: Pilih Elastic Compute Service / ECS.

    2. Berikan akses pengguna RAM ke KMS. Anda memiliki dua metode untuk menyelesaikan pemberian akses.

      • Metode 1: Melalui kebijakan berbasis identitas

        KMS menyediakan kebijakan izin yang ditentukan sistem yang dapat dilampirkan ke pengguna RAM. Untuk informasi lebih lanjut, lihat Kebijakan sistem untuk KMS. Anda juga dapat membuat kebijakan kustom.

      • Metode 2: Melalui kebijakan berbasis sumber daya

        KMS mendukung kebijakan berbasis sumber daya, yang memungkinkan Anda menetapkan izin akses untuk kunci dan rahasia. Ini memungkinkan Anda mengontrol akun Alibaba Cloud mana, pengguna RAM, dan peran RAM yang memiliki izin untuk mengelola atau menggunakan kunci dan rahasia KMS. Untuk informasi lebih lanjut, lihat Kebijakan kunci dan Kebijakan rahasia.

    3. Masuk ke Konsol ECS, dan lampirkan peran RAM instance ke instance ECS. image

    Otentikasi AAP (tidak direkomendasikan)

    Konfigurasi gateway bersama

    1. Masuk ke Konsol KMS. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih Application Access > AAPs.

    2. Opsional. Buat aturan akses jaringan.

      Catatan

      Jika Anda tidak perlu mengontrol akses berdasarkan alamat IP sumber, Anda tidak perlu mengonfigurasi aturan akses jaringan. Untuk tujuan keamanan, kami sarankan Anda mengonfigurasi aturan akses jaringan.

      1. Klik tab Network Access Rules. Pada tab tersebut, klik Create Network Access Rule.

      2. Di panel Create Network Access Rule, setel Network Type ke Public, konfigurasikan parameter Allowed Source IP Addresses, lalu klik OK.

      image

    3. Buat kebijakan.

      1. Di tab Policies, klik Create Policy.

      2. Di panel Buat Kebijakan Izin, konfigurasikan parameter dan klik OK. Daftar berikut menjelaskan parameter.

        1. Scope: Pilih Shared KMS Gateway.

        2. Accessible Resources: Pilih rahasia yang ingin Anda akses.

        3. Network Access Rules (opsional): Pilih aturan akses jaringan yang Anda buat di Langkah 2.

      image

    4. Buat AAP.

      1. Pada tab Application Access, klik Create AAP.

      2. Di panel Create AAP, setel Mode ke Standard Creation dan konfigurasikan parameter lainnya. Tabel berikut menjelaskan parameter.

        Parameter

        Deskripsi

        Authentication Method

        Pilih ClientKey.

        Encryption Password

        Tetapkan kata sandi. Kata sandi dapat terdiri dari 8 hingga 64 karakter dan harus mencakup huruf besar, huruf kecil, angka, dan setidaknya satu dari karakter khusus berikut: ~!@#$%^&*?_-.

        Validity Period

        Penting

        Kami sarankan Anda mengonfigurasi periode validitas satu tahun untuk mengurangi risiko kebocoran kunci klien. Pastikan bahwa kunci klien diganti sebelum kedaluwarsa untuk mencegah kegagalan login KMS. Untuk informasi lebih lanjut, lihat Ubah kunci klien.

        Policies

        Pilih kebijakan yang Anda buat di Langkah 3.

      3. Klik OK. Browser secara otomatis mengunduh kunci klien yang dibuat.

        Kunci klien berisi Application Access Secret(ClientKeyContent) dan Password. Secara default, Application Access Secret(ClientKeyContent) disimpan dalam file bernama dalam format clientKey_****.json. Secara default, Password disimpan dalam file bernama dalam format clientKey_****_Password.txt.

    Konfigurasi gateway khusus

    1. Masuk ke Konsol KMS. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, pilih Application Access > AAPs.

    2. Di tab Application Access, klik Create AAP.

    3. Di panel Create AAP, setel Mode ke Quick Creation dan pilih instance KMS yang perlu diakses aplikasi untuk parameter Scope (KMS Instance).

    4. Klik OK. Browser secara otomatis mengunduh kunci klien yang dibuat.

      Kunci klien berisi Application Access Secret(ClientKeyContent) dan Password. Secara default, Application Access Secret(ClientKeyContent) disimpan dalam file bernama dalam format clientKey_****.json. Secara default, Password disimpan dalam file bernama dalam format clientKey_****_Password.txt.

    Untuk informasi lebih lanjut tentang otentikasi AAP, lihat Buat AAP.

    Bahasa pemrograman yang didukung

    Tabel berikut menjelaskan bahasa pemrograman yang didukung.

    Secret SDK

    Bahasa pemrograman yang didukung

    Klien rahasia

    Java (Java 8 dan yang lebih baru), Python, dan Go

    Klien rahasia JDBC

    Java (Java 8 dan yang lebih baru)

    Plugin rahasia RAM

    Java (Java 8 dan yang lebih baru), Python, dan Go