All Products
Search
Document Center

Alibaba Cloud CLI:Kebijakan keamanan

Last Updated:Jun 10, 2026

Kebijakan keamanan merupakan mekanisme perlindungan sisi klien untuk operasi Alibaba Cloud CLI. Saat diaktifkan, CLI mengevaluasi setiap operasi terhadap aturan yang dikonfigurasi sebelum menjalankan perintah, lalu mengizinkan atau menolak operasi tersebut, atau meminta konfirmasi manual sebelum eksekusi.

Ikhtisar

Kebijakan keamanan mendefinisikan serangkaian aturan. Setiap aturan terdiri dari pola (kriteria pencocokan) dan aksi (jenis respons):

  • allow (izinkan): Secara eksplisit mengizinkan operasi dan melewati evaluasi aturan selanjutnya. Tempatkan aturan allow sebelum aturan deny atau confirm yang lebih luas untuk membuat pengecualian bagi operasi tertentu.

  • deny (blokir): Memblokir operasi sepenuhnya. CLI menolak perintah dan tidak mengirim permintaan API.

  • confirm (butuh persetujuan): Di terminal interaktif, CLI akan meminta Anda mengetik yes sebelum melanjutkan. Di lingkungan non-interaktif, CLI mengembalikan error beserta instruksi untuk pemanggil.

Kebijakan keamanan berlaku untuk panggilan OpenAPI (RPC dan RESTful) maupun perintah plugin. Kebijakan ini berfungsi sebagai lapisan perlindungan global sisi klien yang melengkapi kontrol akses sisi server (RAM), tetapi tidak menggantikan kebijakan izin RAM.

Skenario

  • Batas pengaman AI agent: Ketika AI agent menggunakan CLI untuk mengelola sumber daya cloud, kebijakan keamanan dapat mencegat operasi destruktif (seperti operasi hapus) dan meminta konfirmasi manusia atau memblokirnya sepenuhnya. Ini menerapkan mekanisme human-in-the-loop (HITL) untuk skenario AI agent.

  • Pengaman operasional: Konfigurasikan aturan default untuk lingkungan CLI tim guna mencegah eksekusi tidak disengaja atas operasi destruktif seperti menghapus sumber daya atau menghentikan instans.

Prasyarat

  • Alibaba Cloud CLI v3.3.14 atau versi lebih baru telah terinstal. Jalankan perintah berikut untuk memeriksa versi saat ini:

    aliyun version
  • Kredensial CLI telah dikonfigurasi. Jika Anda belum mengonfigurasi kredensial, jalankan perintah berikut:

    aliyun configure

Mengelola kebijakan keamanan

Kebijakan keamanan dikelola melalui keluarga perintah aliyun configure safety-policy.

Lihat kebijakan saat ini

Jalankan perintah berikut untuk melihat konfigurasi lengkap kebijakan keamanan dalam format JSON:

aliyun configure safety-policy show

Contoh output:

{
  "enabled": false,
  "rules": []
}

Aktifkan dan nonaktifkan

# Aktifkan kebijakan keamanan
aliyun configure safety-policy enable

# Nonaktifkan kebijakan keamanan
aliyun configure safety-policy disable

Jalankan aliyun configure safety-policy show untuk memverifikasi bahwa bidang enabled bernilai true.

Tambahkan aturan

Sintaks perintah:

aliyun configure safety-policy add --pattern <pattern> --action <deny|confirm>

Contoh: Blokir semua operasi hapus di seluruh produk:

aliyun configure safety-policy add --pattern '*:Delete*' --action deny

Contoh: Minta konfirmasi manusia untuk operasi pembaruan ECS:

aliyun configure safety-policy add --pattern 'ecs:Update*' --action confirm

Jalankan aliyun configure safety-policy list untuk memverifikasi bahwa aturan telah ditambahkan.

Catatan

Jika Anda menambahkan aturan dengan pola yang sudah ada, CLI akan memperbarui aksi untuk pola tersebut alih-alih membuat entri duplikat.

Catatan

Subperintah add hanya menerima nilai aksi deny, confirm, dan forbid. Untuk mengonfigurasi aturan allow, atur variabel lingkungan ALIBABA_CLOUD_SAFETY_POLICY_RULES atau edit langsung file konfigurasi.

Hapus aturan

Tentukan pola yang tepat untuk menghapus aturan:

aliyun configure safety-policy remove --pattern '*:Delete*'

Daftar aturan

Jalankan perintah berikut untuk melihat semua aturan dalam daftar terformat:

aliyun configure safety-policy list

Contoh output:

Safety policy: enabled
Config file: /home/user/.aliyun/safety-policy.json

Rules:
  1. *:Delete* -> deny
  2. ecs:Update* -> confirm

Sintaks aturan

Format pola

Parameter --pattern menggunakan format {product}:{operation} dan mendukung wildcard * (mencocokkan urutan karakter apa pun). Pencocokan pola tidak membedakan huruf besar/kecil, artinya *:Delete*, *:DELETE*, dan *:delete* semuanya mencocokkan operasi yang sama.

CLI menyusun pengenal perintah berbeda tergantung gaya API:

Gaya API

Format pola

Contoh

RPC

{product}:{ApiName}

ecs:DeleteInstance

RESTful

{product}:{HTTP_METHOD}/path

cs:DELETE/clusters

Plugin

{product}:{subcommand}

fc:delete-function

Contoh pola umum:

Pola

Kecocokan

*:Delete*

Semua operasi yang mengandung "Delete" di seluruh produk (tidak membedakan huruf besar/kecil)

ecs:delete-instance

Hanya operasi delete-instance ECS

ecs:Update*

Semua operasi ECS yang dimulai dengan "Update"

*:*

Semua operasi di seluruh produk

Catatan

Saat menjalankan perintah di shell, bungkus nilai pola dengan tanda petik tunggal (misalnya, '*:Delete*') untuk mencegah shell melakukan ekspansi wildcard *.

Nilai aksi

Aksi

Perilaku

allow

Secara eksplisit mengizinkan operasi. Dalam sistem aturan first-match-wins, tempatkan aturan allow sebelum aturan deny atau confirm yang lebih luas untuk membuat pengecualian bagi operasi tertentu.

deny

Memblokir operasi dan mengembalikan error. CLI tidak mengirim permintaan API.

confirm

Meminta konfirmasi di terminal interaktif. Pengguna harus mengetik yes untuk melanjutkan.

forbid adalah alias untuk confirm. Keduanya menghasilkan perilaku waktu proses yang identik.

Jika tidak ada aturan yang cocok dengan operasi saat ini, perilaku default-nya adalah mengizinkan eksekusi (implicit allow). Aturan allow eksplisit terutama digunakan untuk membuat pengecualian daftar-putih sebelum aturan deny atau confirm yang lebih luas.

Urutan evaluasi aturan

Aturan dievaluasi dari atas ke bawah sesuai urutan yang dikonfigurasi, menggunakan strategi first-match-wins: aturan pertama yang cocok akan diterapkan dan aturan berikutnya tidak diperiksa. Jika tidak ada aturan yang cocok, perilaku default-nya adalah mengizinkan eksekusi.

Sebagai contoh, diberikan dua aturan berikut:

  1. ecs:Delete* → confirm

  2. *:Delete* → deny

Saat Anda menjalankan aliyun ecs delete-instance, aturan pertama (ecs:Delete*) cocok, dan aksi confirm diterapkan — bukan aksi deny dari aturan kedua.

Menggunakan allow untuk membuat pengecualian:

  1. ecs:Describe* → allow

  2. ecs:* → deny

Menjalankan aliyun ecs DescribeInstances cocok dengan aturan allow pertama dan operasi berjalan normal. Menjalankan aliyun ecs DeleteInstance cocok dengan aturan kedua dan diblokir.

Penting

Urutan aturan sangat penting. Saat menambahkan aturan, pastikan aturan yang lebih spesifik muncul sebelum aturan yang lebih umum.

Mode non-interaktif dan skenario AI agent

Flag --yes

Saat Anda menentukan flag --yes (atau -y), aturan confirm secara otomatis dilewati (dianggap disetujui). Aturan deny tidak terpengaruh dan tetap memblokir eksekusi.

# aturan confirm dilewati, operasi langsung dijalankan
aliyun ecs update-instance --InstanceId i-bp1xxxxx --yes

# aturan deny tidak terpengaruh, operasi tetap diblokir
aliyun ecs delete-instance --InstanceId i-bp1xxxxx --yes
# Output: ERROR: operation blocked by safety policy: ecs delete-instance (rule: *:Delete*)

Anda juga dapat mengatur variabel lingkungan ALIBABA_CLOUD_SAFETY_SKIP_CONFIRM ke nilai true untuk menyetujui otomatis semua aturan confirm selama satu sesi, yang setara dengan memberikan flag --yes pada setiap perintah:

export ALIBABA_CLOUD_SAFETY_SKIP_CONFIRM=true
Peringatan

Baik --yes maupun ALIBABA_CLOUD_SAFETY_SKIP_CONFIRM tidak dapat melewati aturan deny. Operasi yang cocok dengan aturan deny selalu diblokir, terlepas dari flag atau variabel lingkungan apa pun.

Perilaku terminal non-interaktif

CLI mendeteksi apakah input standar merupakan perangkat terminal untuk menentukan lingkungan saat ini. Di lingkungan non-interaktif (seperti skrip, pipeline CI/CD, dan waktu proses AI agent), jika suatu operasi cocok dengan aturan confirm dan flag --yes tidak ditentukan, CLI mengembalikan error berikut:

Safety policy requires confirmation for: ecs update-instance
This operation cannot run in non-interactive mode without explicit approval. If you are an agent, ask the user whether this operation is allowed; after they confirm (e.g. reply yes), re-run the same command with --yes.

Alur kerja AI agent yang direkomendasikan

Saat AI agent mengelola sumber daya cloud melalui CLI, ikuti langkah-langkah berikut untuk mengonfigurasi dan menggunakan kebijakan keamanan:

  1. Konfigurasikan kebijakan keamanan: Tetapkan deny untuk operasi yang benar-benar dilarang, dan confirm untuk operasi yang memerlukan persetujuan.

  2. Tangani prompt konfirmasi: Saat agent menghadapi blokir confirm, tampilkan detail operasi kepada pengguna dan minta persetujuan.

  3. Jalankan ulang dengan persetujuan: Setelah pengguna menyetujui, agent menjalankan ulang perintah dengan flag --yes.

Contoh konfigurasi: Blokir operasi hapus dan minta konfirmasi manusia untuk operasi pembaruan:

aliyun configure safety-policy enable
aliyun configure safety-policy add --pattern '*:Delete*' --action deny
aliyun configure safety-policy add --pattern '*:Update*' --action confirm

Variabel lingkungan

Selain konfigurasi melalui baris perintah, Anda dapat mengontrol kebijakan keamanan melalui variabel lingkungan. Variabel lingkungan memiliki prioritas lebih tinggi daripada file konfigurasi.

Variabel lingkungan

Deskripsi

Contoh

ALIBABA_CLOUD_SAFETY_POLICY_ENABLED

Menimpa nilai enabled dalam file konfigurasi. Menerima nilai true, false, 1, 0.

export ALIBABA_CLOUD_SAFETY_POLICY_ENABLED=true

ALIBABA_CLOUD_SAFETY_POLICY_RULES

Menimpa daftar aturan dalam file konfigurasi. Gunakan format pattern=action, dengan beberapa aturan dipisahkan koma. Saat diatur, aturan dalam file konfigurasi sepenuhnya diganti (tidak digabung). Atur ke string kosong untuk menghapus semua aturan. Jika format tidak valid, aturan berbasis file tetap dipertahankan.

export ALIBABA_CLOUD_SAFETY_POLICY_RULES="ecs:Describe*=allow,*:Delete*=deny,ecs:Update*=confirm"

ALIBABA_CLOUD_SAFETY_SKIP_CONFIRM

Atur ke 1 atau true untuk melewati prompt konfirmasi, setara dengan --yes.

export ALIBABA_CLOUD_SAFETY_SKIP_CONFIRM=1

Penting

Saat variabel lingkungan ALIBABA_CLOUD_SAFETY_POLICY_RULES diatur, aturan dalam file konfigurasi sepenuhnya diganti, bukan digabung.

File konfigurasi

Konfigurasi kebijakan keamanan disimpan di ~/.aliyun/safety-policy.json. Jika Anda menentukan opsi --config-path, file safety-policy.json berada di direktori kustom yang ditentukan.

Contoh format file:

{
  "enabled": true,
  "rules": [
    {
      "pattern": "ecs:Describe*",
      "action": "allow"
    },
    {
      "pattern": "*:Delete*",
      "action": "deny"
    },
    {
      "pattern": "ecs:Update*",
      "action": "confirm"
    }
  ]
}
  • Jika file konfigurasi tidak ada, kebijakan keamanan dinonaktifkan secara default dan daftar aturan kosong. File ini dibuat otomatis saat Anda pertama kali menjalankan subperintah enable atau add.

Catatan

Kebijakan keamanan menggunakan desain fail-open: jika file konfigurasi tidak dapat dimuat (misalnya karena korupsi), CLI melewati pemeriksaan keamanan dan tidak memblokir eksekusi perintah.