All Products
Search
Document Center

Resource Access Management:Mengelola kredensial layanan (Kunci API)

Last Updated:Jul 04, 2026

Kunci API, juga dikenal sebagai Service Credential dalam OpenAPI (ServiceCredential), adalah jenis kredensial yang dikeluarkan oleh Resource Access Management (RAM) untuk mengakses layanan cloud tertentu. Kredensial ini digunakan secara eksklusif untuk melakukan panggilan API ke layanan tersebut. Topik ini menjelaskan Kunci API dan cara mengelola siklus hidupnya.

Saat melakukan panggilan programatik ke OpenAPI layanan cloud tertentu, Anda dapat menggunakan Kunci API untuk autentikasi. Setiap Kunci API terikat pada satu layanan cloud saat dibuat dan hanya dapat digunakan untuk memanggil API layanan tersebut. Desain ini mempersempit cakupan keamanan, sehingga menjadi alternatif yang lebih aman dibandingkan AccessKey.

Fitur utama

  • Isolasi tingkat layanan: Setiap Kunci API terikat pada satu layanan cloud (ditentukan oleh ServiceName-nya) saat pembuatan. Kunci ini hanya dapat digunakan untuk memanggil API layanan tersebut dan tidak dapat digunakan untuk panggilan lintas layanan. Anda tidak dapat memperluas cakupannya melalui kebijakan izin.

  • Cakupan izin yang diminimalkan: Izin efektif dari Kunci API merupakan irisan antara izin Pengguna RAM yang terkait dan cakupan layanan cloud yang terikat. Meskipun Pengguna RAM memiliki izin untuk beberapa layanan, Kunci API tetap dibatasi hanya pada layanan yang ditentukan.

  • Dibatasi hanya untuk Pengguna RAM: Hanya Pengguna RAM yang dapat membuat Kunci API. Akun Alibaba Cloud (akun root) tidak dapat membuatnya. Praktik ini membantu mengurangi potensi dampak kebocoran kredensial.

  • Konvensi penamaan: ServiceCredential adalah istilah yang digunakan dalam OpenAPI dan SDK, sedangkan konsol menggunakan istilah yang lebih ramah pengguna, yaitu API Key. Kedua istilah tersebut merujuk pada resource yang sama.

Kunci API vs. AccessKey

Baik Kunci API maupun AccessKey merupakan kredensial jangka panjang untuk Pengguna RAM. Namun, keduanya berbeda dalam cakupan layanan, metode penerbitan, dan kasus penggunaan.

Fitur

API Key

AccessKey

Cakupan layanan

Terikat pada satu layanan cloud saat dibuat dan hanya dapat memanggil OpenAPI layanan tersebut.

Tidak dibatasi oleh layanan. Dapat memanggil layanan cloud apa pun yang diizinkan untuk diakses oleh Pengguna RAM.

Model izin

Izin efektif merupakan irisan antara izin Pengguna RAM dan cakupan layanan cloud yang terikat.

Mewarisi sepenuhnya semua izin yang diberikan kepada Pengguna RAM.

Identitas yang didukung

Hanya Pengguna RAM yang dapat membuatnya. Akun Alibaba Cloud (akun root) tidak didukung.

Baik Akun Alibaba Cloud maupun Pengguna RAM dapat membuatnya.

Kuota

Dua per Pengguna RAM per layanan cloud. Kuota ini bersifat tetap.

Dua per identitas.

Periode kedaluwarsa

Kedaluwarsa dapat diatur dari 1 hingga 36.600 hari atau diatur agar tidak pernah kedaluwarsa. Kunci yang kedaluwarsa dinonaktifkan secara permanen dan tidak dapat dipulihkan.

Validitas jangka panjang tanpa mekanisme kedaluwarsa bawaan.

Kasus penggunaan umum

Memanggil model AI, integrasi dengan platform pihak ketiga atau alat developer, serta skenario yang memerlukan isolasi kredensial tingkat layanan.

Panggilan OpenAPI/SDK umum, orkestrasi lintas layanan, dan otomatisasi CI/CD.

Status siklus hidup

Kunci API dapat berada dalam salah satu dari tiga status berikut selama siklus hidupnya:

  • Active: Kredensial dapat digunakan untuk memanggil OpenAPI layanan cloud yang terikat. Ini adalah status default saat pembuatan.

  • Inactive: Kredensial dinonaktifkan sementara. Anda dapat mengaktifkannya kembali ke status Active. Kunci harus berada dalam status inactive sebelum Anda dapat menghapusnya.

  • Expired: Sistem secara otomatis mengubah status kunci menjadi Expired saat waktu kedaluwarsanya tercapai. Kredensial menjadi tidak valid secara permanen dan tidak dapat dipulihkan. Anda harus membuat kunci baru.

Kuota dan kedaluwarsa

  • Kuota: Setiap Pengguna RAM dapat membuat maksimal dua Kunci API per layanan cloud, termasuk kunci Active dan Inactive. Kuota ini bersifat tetap. Kunci yang kedaluwarsa tetap dihitung dalam kuota ini; kunci yang dihapus tidak dihitung.

  • Unit periode kedaluwarsa: Hari.

  • Rentang nilai: Konsol menyediakan opsi preset untuk 1, 7, 30, dan 90 hari, atau Anda dapat mengatur kunci agar tidak pernah kedaluwarsa. Nilai kustom juga didukung.

  • Default OpenAPI: Jika Anda menghilangkan parameter CredentialAgeDays saat memanggil operasi CreateServiceCredential, kunci akan diatur agar tidak pernah kedaluwarsa.

  • Kedaluwarsa bersifat final: Saat kunci kedaluwarsa, statusnya berubah menjadi Expired, dan kredensial menjadi tidak valid secara permanen. Kunci tersebut tidak dapat diaktifkan kembali. Anda harus menghapus kunci yang kedaluwarsa dan membuat kunci baru.

Penting

Sebagai praktik keamanan terbaik, atur periode kedaluwarsa yang wajar untuk Kunci API berdasarkan siklus hidup aplikasi Anda, alih-alih membuat kunci yang tidak pernah kedaluwarsa. Rotasi kredensial dalam aplikasi Anda sebelum masa berlakunya habis untuk menghindari gangguan bisnis.

Layanan cloud yang didukung

Di Konsol RAM, buka halaman User Details > tab Credential Management > bagian API Keys, lalu klik Create API Key. Daftar drop-down Cloud Service menampilkan layanan yang tersedia untuk akun Anda. Lihat dokumentasi layanan tertentu untuk daftar API yang didukung.

Pengelolaan mandiri untuk Pengguna RAM

Akun Alibaba Cloud atau administrator RAM dengan izin yang cukup dapat menggunakan pengaturan AllowUserToManageServiceCredential dalam pengaturan keamanan RAM untuk mengontrol apakah Pengguna RAM dapat mengelola Kunci API mereka sendiri. Pengaturan ini memiliki dua status berikut:

  • Izinkan pengelolaan mandiri: Pengguna RAM dapat login ke konsol atau memanggil OpenAPI untuk membuat, memperbarui, atau menghapus Kunci API mereka sendiri, asalkan tindakan tersebut tidak secara eksplisit dilarang oleh administrator melalui kebijakan izin (yaitu, tidak ada kebijakan Deny yang eksplisit).

  • Pengelolaan mandiri tidak diizinkan: Pengguna RAM tidak dapat mengelola Kunci API mereka sendiri. Kunci tersebut harus dibuat dan dikelola oleh administrator yang memiliki izin seperti ram:CreateServiceCredential.

Metode otorisasi

Anda dapat memilih salah satu dari tiga metode berikut untuk memberikan izin sesuai dengan kebutuhan keamanan dan tata kelola Anda:

  • Berikan kebijakan sistem kepada administrator RAM (Manajemen Terpusat): Sambungkan kebijakan sistem AliyunRAMFullAccess ke administrator Anda, sehingga mereka dapat membuat dan mengelola Kunci API untuk semua pengguna. Kebijakan ini memberikan akses administratif penuh ke RAM dan cocok untuk lingkungan di mana tim khusus mengelola semua kredensial Pengguna RAM.

  • Aktifkan pengaturan pengelolaan mandiri global (Tidak Direkomendasikan untuk lingkungan produksi): Setelah Anda mengaktifkan AllowUserToManageServiceCredential dalam pengaturan keamanan RAM, semua Pengguna RAM dapat mengelola Kunci API mereka sendiri kecuali secara eksplisit dibatasi oleh kebijakan Deny. Opsi ini memberikan fleksibilitas bagi tim tetapi memberikan izin yang luas. Kami merekomendasikan penggunaannya hanya di lingkungan pengujian atau sandbox yang terkendali.

  • Sambungkan kebijakan kustom (Direkomendasikan): Nonaktifkan pengaturan pengelolaan mandiri global dan sambungkan kebijakan kustom hanya ke Pengguna RAM tertentu yang perlu mengelola Kunci API mereka sendiri. Batasi Resource hanya ke identitas pengguna tersebut. Jika diperlukan, Anda dapat menambahkan kondisi ram:ServiceCredentialServiceName untuk membatasi izin lebih lanjut ke layanan cloud tertentu. Metode ini memungkinkan Anda memberikan izin yang tepat kepada pengguna individual tanpa mengaktifkan pengelolaan mandiri untuk seluruh akun.

Peringatan

Saat pengaturan global AllowUserToManageServiceCredential diaktifkan, semua Pengguna RAM dapat mengelola Kunci API mereka sendiri (termasuk operasi membuat, mengaktifkan, menonaktifkan, dan menghapus) kecuali administrator melampirkan kebijakan izin yang melarang tindakan tersebut. Untuk lingkungan produksi, kami sangat menyarankan agar pengaturan ini tetap dinonaktifkan dan menggunakan kebijakan kustom untuk memberikan izin secara selektif.

Contoh kebijakan kustom

Kebijakan contoh berikut membatasi Resource hanya ke identitas Pengguna RAM itu sendiri. Setelah disambungkan ke Pengguna RAM, kebijakan ini memungkinkan mereka melakukan tindakan yang ditentukan pada akun mereka sendiri. Sebelum menggunakan kebijakan, ganti ACCOUNT_ID dengan ID akun Anda (yang dapat Anda temukan di Alibaba Cloud Account Center) dan ganti USER_NAME dengan nama login Pengguna RAM yang dituju (tanpa akhiran @).

Buat Kunci API

Kebijakan ini memungkinkan pengguna membuat dan menampilkan daftar Kunci API mereka sendiri, tetapi tidak mengizinkan mereka memodifikasi atau menghapus kunci. Ini cocok untuk memberikan izin minimal sesuai prinsip hak istimewa minimal.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ram:CreateServiceCredential",
        "ram:ListServiceCredentials"
      ],
      "Resource": "acs:ram:*:ACCOUNT_ID:user/USER_NAME"
    }
  ]
}

Manajemen siklus hidup penuh

Kebijakan ini memungkinkan pengguna melakukan semua operasi manajemen untuk Kunci API mereka sendiri, termasuk membuat, menampilkan daftar, mengganti nama, mengaktifkan, menonaktifkan, dan menghapusnya.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ram:CreateServiceCredential",
        "ram:ListServiceCredentials",
        "ram:GetServiceCredential",
        "ram:UpdateServiceCredential",
        "ram:DeleteServiceCredential"
      ],
      "Resource": "acs:ram:*:ACCOUNT_ID:user/USER_NAME"
    }
  ]
}

Manajemen spesifik layanan

Kebijakan ini memperluas izin manajemen penuh dengan menambahkan kondisi ram:ServiceCredentialServiceName. Kebijakan ini hanya mengizinkan pengguna mengelola Kunci API untuk layanan cloud tertentu (dalam contoh ini, ak.aliyuncs.com). Ini berguna untuk skenario otorisasi granular di mana manajemen kredensial didelegasikan berdasarkan layanan cloud.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ram:CreateServiceCredential",
        "ram:ListServiceCredentials",
        "ram:GetServiceCredential",
        "ram:UpdateServiceCredential",
        "ram:DeleteServiceCredential"
      ],
      "Resource": "acs:ram:*:ACCOUNT_ID:user/USER_NAME",
      "Condition": {
        "StringEquals": {
          "ram:ServiceCredentialServiceName": "ak.aliyuncs.com"
        }
      }
    }
  ]
}

Struktur data Kunci API

Setiap Kunci API terdiri dari bidang-bidang inti berikut. Nama bidang yang dikembalikan oleh OpenAPI diawali dengan ServiceCredential, sedangkan nama bidang di konsol lebih ramah pengguna.

Bidang OpenAPI

Bidang Konsol

Deskripsi

ServiceCredentialId

ID

ID unik yang dihasilkan sistem, diawali dengan SC. Gunakan ID ini untuk mereferensikan kunci dalam operasi manajemen seperti mengaktifkan, menonaktifkan, dan menghapus.

ServiceCredentialName

Name

Nama yang ramah pengguna untuk mengidentifikasi tujuan kunci. Konsol secara otomatis mengisi nama ini dengan format seperti {CloudServiceName}_apikey_{RandomCharacters}. Anda dapat mengubah nama ini setelah pembuatan.

ServiceName

Cloud Service

Identifikasi layanan cloud yang terikat, seperti ak.aliyuncs.com. Nilai ini ditetapkan saat pembuatan dan tidak dapat diubah.

ServiceCredentialSecret

API Key

Rahasia kredensial. Ditampilkan hanya sekali saat pembuatan dan tidak dapat diambil kembali melalui API atau konsol setelah itu.

CreateTime

Creation Time

Waktu pembuatan dalam UTC, diformat dalam ISO-8601. Konsol menampilkan nilai ini dalam zona waktu lokal Anda.

ExpirationTime

Expiration Time

Waktu saat kredensial kedaluwarsa dan statusnya berubah menjadi Expired. Nilainya null untuk kunci yang tidak pernah kedaluwarsa, yang ditampilkan sebagai "Never expires" di konsol.

Status

Status

Status kredensial. Nilai yang valid adalah Active, Inactive, dan Expired.

UserPrincipalName

User

Nama login Pengguna RAM (User Principal Name), seperti us**@account.onaliyun.com.

Rekomendasi keamanan

  • Tetapkan periode kedaluwarsa untuk Kunci API. Hindari mengatur kunci uji jangka pendek agar tidak pernah kedaluwarsa. Untuk kasus penggunaan lain, tetapkan periode kedaluwarsa yang sesuai, seperti 30 atau 90 hari, berdasarkan siklus penggunaan layanan, dan rotasi kunci sebelum masa berlakunya habis.

  • Segera salin rahasia Kunci API atau unduh file CSV setelah membuat kunci. Setelah Anda menutup jendela pop-up, Anda tidak dapat mengambil kembali rahasianya. Jika Anda kehilangan rahasia tersebut, Anda harus menghapus kunci dan membuat kunci baru.

  • Perlakukan Kunci API sebagai kredensial yang sangat sensitif. Jangan menyimpannya dalam teks biasa di repositori kode, file konfigurasi, atau log. Kami merekomendasikan penggunaan layanan manajemen rahasia atau mengenkripsinya dengan KMS sebelum penyimpanan.