全部产品
Search
文档中心

Resource Management:Bahasa Kebijakan Kontrol Akses

更新时间:Jul 06, 2025

Sebelum membuat atau memperbarui kebijakan kontrol akses kustom, Anda perlu memahami elemen-elemen dasar dari kebijakan kontrol akses. Elemen-elemen tersebut meliputi Effect, Action atau NotAction, Resource, dan Condition.

Elemen

Deskripsi

Effect

Menentukan apakah hasil pernyataan adalah izin eksplisit atau penolakan eksplisit. Nilai yang valid:

  • Mengizinkan

  • Tolak

Action atau NotAction

Menggambarkan satu atau lebih operasi API yang diizinkan atau ditolak. Anda dapat menentukan Action atau NotAction dalam sebuah kebijakan.

  • Action: Operasi API yang ditentukan dalam elemen ini diizinkan atau ditolak.

  • NotAction: Operasi API, kecuali yang ditentukan dalam elemen ini, diizinkan atau ditolak.

Resource

Menentukan satu atau lebih objek yang dicakup oleh pernyataan tersebut.

Condition

Menentukan kondisi yang diperlukan agar kebijakan berlaku.

Effect

Elemen Effect menentukan apakah hasil dari suatu pernyataan adalah izin eksplisit atau penolakan eksplisit. Elemen ini wajib.

Nilai yang valid: Allow dan Deny.

Catatan

Jika kebijakan RAM mencakup pernyataan Allow dan Deny, pernyataan Deny akan mengambil alih pernyataan Allow.

Contoh:

"Effect": "Allow"

Action/NotAction

Elemen Action menentukan satu atau lebih operasi API yang diizinkan atau ditolak. Elemen NotAction menentukan operasi yang dikecualikan ketika operasi diizinkan atau ditolak. Ini berarti bahwa, kecuali untuk operasi yang ditentukan oleh NotAction, semua operasi lainnya diizinkan atau ditolak. Hanya salah satu elemen ini yang dapat ditentukan dalam pernyataan kebijakan. Elemen ini wajib.

Nilai yang valid untuk elemen Action/NotAction: nama operasi API yang didefinisikan oleh layanan Alibaba Cloud.

Format elemen Action/NotAction: <ram-code>:<action-name>.

Dalam kebanyakan kasus, nilai elemen Action/NotAction tidak peka huruf besar-kecil. Namun, untuk menjaga perilaku yang konsisten, gunakan awalan operasi yang akurat <ram-code> dan nama operasi <action-name> sesuai dokumentasi otorisasi layanan Alibaba Cloud.

Contoh:

  • Contoh Action

    "Action": [
      "oss:ListBuckets",
      "ecs:Describe*",
      "rds:Describe*"
    ]
  • Contoh NotAction

    Contoh berikut mengizinkan semua operasi kecuali operasi RAM. Pernyataan kebijakan hanya mencantumkan operasi yang dikecualikan (ram:*) daripada semua operasi yang diizinkan, sehingga pernyataan menjadi lebih ringkas. Namun, ruang lingkup operasi yang diizinkan sangat luas. Gunakan pendekatan ini dengan hati-hati untuk memastikan bahwa kebijakan sesuai dengan harapan Anda.

    {
    	"Effect": "Allow",
    	"NotAction": "ram:*",
    	"Resource": "*"
    }

Resource

Elemen Resource menentukan satu atau lebih objek yang dicakup oleh pernyataan tersebut. Elemen ini wajib dan hanya tersedia untuk kebijakan berbasis identitas.

Nilai yang valid untuk elemen Resource: Nama Sumber Daya Alibaba Cloud (ARN) dari sumber daya.

Format elemen Resource: acs:<ram-code>:<region>:<account-id>:<relative-id>. Gunakan ARN sumber daya yang akurat sesuai dokumentasi otorisasi layanan Alibaba Cloud.

Elemen Resource mencakup bidang-bidang berikut:

  • acs: singkatan dari Alibaba Cloud Service, yang menunjukkan platform cloud publik Alibaba Cloud.

  • ram-code: kode RAM dari layanan Alibaba Cloud. Untuk informasi lebih lanjut, lihat kolom RAM Code di Layanan Alibaba Cloud yang mendukung RAM.

  • region: informasi wilayah. Parameter ini disetel ke tanda bintang (*) untuk sumber daya global. Sumber daya global dapat diakses tanpa perlu menentukan wilayah. Untuk informasi lebih lanjut, lihat Wilayah dan zona.

  • account-id: ID akun Alibaba Cloud. Contoh: 123456789012****.

  • relative-id: bagian deskripsi sumber daya yang terkait dengan layanan. Semantik dari bagian ini ditentukan oleh layanan Alibaba Cloud tertentu. Format elemen relative-id mirip dengan jalur file. Misalnya, format objek OSS adalah: relative-id = "mybucket/dir1/object1.jpg".

Contoh:

"Resource": [
  "acs:ecs:*:*:instance/inst-001",
  "acs:ecs:*:*:instance/inst-002",
  "acs:oss:*:*:mybucket",
  "acs:oss:*:*:mybucket/*"
]

Condition

Elemen Condition menentukan kondisi yang diperlukan agar kebijakan berlaku. Elemen ini opsional.

Elemen Condition dianggap sebagai blok kondisi, yang berisi satu atau lebih kondisi. Setiap kondisi terdiri dari operator kondisi, kunci kondisi, dan nilai kondisi.

条件块判断逻辑

Catatan

Elemen Condition bersifat opsional. Sistem tidak memeriksa apakah elemen Condition ditentukan. Jika Anda ingin menentukan nilai untuk elemen Condition, pastikan bahwa ejaan dan kapitalisasi benar.

Nama (key) dari kunci kondisi bersifat peka huruf besar-kecil. Apakah nilai kondisi (value) peka huruf besar-kecil tergantung pada operator kondisional yang digunakan. Misalnya, jika kunci kondisi bertipe string dan Anda menggunakan operator kondisional StringEquals, sistem melakukan pencocokan peka huruf besar-kecil dengan membandingkan nilai dalam permintaan dengan nilai kondisi. Jika kunci bertipe string dan Anda menggunakan operator kondisional StringEqualsIgnoreCase, sistem melakukan pencocokan non-peka huruf besar-kecil dengan membandingkan nilai dalam permintaan dengan nilai kondisi.

Informasi berikut menggambarkan elemen Condition secara rinci:

  • Logika

    • Anda dapat menentukan satu atau lebih nilai untuk kunci kondisi. Jika nilai dalam permintaan cocok dengan salah satu nilai yang ditentukan, kondisi terpenuhi.

    • Kondisi dapat memiliki beberapa kunci yang terlampir pada satu operator kondisional. Jenis kondisi ini hanya terpenuhi jika semua persyaratan untuk kunci dipenuhi.

    • Blok kondisi hanya terpenuhi jika semua kondisi terpenuhi.

  • Kategori operator kondisional

    Operator kondisional dapat diklasifikasikan ke dalam kategori berikut: string, angka, tanggal dan waktu, Boolean, dan alamat IP.

    Kategori operator kondisional

    Tipe yang didukung

    String

    • StringEquals

    • StringNotEquals

    • StringEqualsIgnoreCase

    • StringNotEqualsIgnoreCase

    • StringLike

    • StringNotLike

    Angka

    • NumericEquals

    • NumericNotEquals

    • NumericLessThan

    • NumericLessThanEquals

    • NumericGreaterThan

    • NumericGreaterThanEquals

    Tanggal dan waktu

    • DateEquals

    • DateNotEquals

    • DateLessThan

    • DateLessThanEquals

    • DateGreaterThan

    • DateGreaterThanEquals

    Boolean

    Bool

    Alamat IP

    • IpAddress

    • NotIpAddress

  • Kunci kondisi

    • Format kunci kondisi umum Alibaba Cloud: acs:<condition-key>.

      Kunci kondisi umum

      Tipe

      Deskripsi

      acs:CurrentTime

      Tanggal dan waktu

      Waktu saat permintaan diterima oleh server web.

      Catatan

      Tentukan waktu dalam standar ISO 8601. Waktu harus dalam UTC.

      Contohnya, pukul 20:00:00 pada tanggal 10 Januari 2023 dalam UTC+8 dapat dinyatakan sebagai 2023-01-10T20:00:00+08:00 atau 2023-01-10T12:00:00Z.

      acs:SecureTransport

      Boolean

      Menentukan apakah saluran aman digunakan untuk mengirim permintaan. Misalnya, permintaan dapat dikirim melalui HTTPS.

      acs:SourceIp

      Alamat IP

      Alamat IP klien yang mengirim permintaan.

      Catatan

      Nilai dari acs:SourceIp bisa berupa alamat IP tertentu atau blok CIDR. Jika nilainya adalah alamat IP tunggal, Anda harus menentukan alamat IP tertentu daripada blok CIDR. Misalnya, Anda harus menentukan 10.0.0.1 daripada 10.0.0.1/32.

      acs:MFAPresent

      Boolean

      Menentukan apakah otentikasi multi-faktor (MFA) digunakan selama login pengguna.

      Catatan

      Jika parameter MFA Required For Sign-in dalam pengaturan keamanan pengguna RAM disetel ke Only When Risky Sign-in Is Detected, kondisi acs:MFAPresent menjadi tidak valid. Untuk informasi lebih lanjut, lihat Kelola pengaturan keamanan pengguna RAM.

      acs:PrincipalARN

      String

      Identitas peminta. Kunci kondisi ini hanya dapat digunakan dalam kebijakan kontrol akses direktori sumber daya dan kebijakan kepercayaan peran RAM. Contohnya: acs:ram:*:*:role/*resourcedirectory*.

      Catatan

      Anda hanya dapat menentukan ARN untuk peran RAM tertentu. Nama hanya dapat berisi huruf kecil. Anda dapat melihat ARN peran RAM di halaman detail peran di konsol RAM.

      acs:PrincipalRDId

      String

      ID direktori sumber daya tempat akun Alibaba Cloud peminta berada. Kunci kondisi ini hanya dapat digunakan dalam kebijakan kepercayaan peran RAM dan kebijakan bucket OSS.

      acs:PrincipalRDPath

      String

      Path dalam direktori sumber daya tempat akun Alibaba Cloud peminta berada. Kunci kondisi ini hanya dapat digunakan dalam kebijakan kepercayaan peran RAM dan kebijakan bucket OSS.

      acs:RequestTag/<tag-key>

      String

      Tag yang dilewatkan dalam permintaan. <tag-key> menunjukkan kunci tag. Ganti <tag-key> dengan kunci tag sebenarnya. Untuk informasi tentang layanan Alibaba Cloud dan jenis sumber daya yang mendukung kunci kondisi ini, lihat informasi Resource Type Authorization di Layanan Alibaba Cloud yang mendukung tag.

      acs:ResourceTag/<tag-key>

      String

      Tag yang terikat pada sumber daya yang diminta. <tag-key> menunjukkan kunci tag. Ganti <tag-key> dengan kunci tag sebenarnya. Untuk informasi tentang layanan Alibaba Cloud dan jenis sumber daya yang mendukung kunci kondisi ini, lihat informasi Resource Type Authorization di Layanan Alibaba Cloud yang mendukung tag.

    • Format kunci kondisi tingkat layanan Alibaba Cloud: <ram-code>:<condition-key>.

      Contohnya, kunci kondisi OSS oss:Delimiter digunakan untuk mengelompokkan nama objek saat permintaan ListObjects dikirim.

      Untuk informasi lebih lanjut tentang kunci kondisi setiap layanan cloud, lihat dokumen otorisasi masing-masing layanan cloud.

  • Contoh

    Hubungan logis antara dua kondisi dalam pernyataan adalah DAN. Jika Anda ingin menetapkan hubungan logis antara kondisi menjadi ATAU, Anda harus menentukan kondisi secara terpisah dalam dua pernyataan.

    Contoh 1: Izinkan hanya pengguna RAM yang telah mengaktifkan MFA dan berasal dari alamat IP 203.0.113.2 untuk mengakses instance ECS.

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "ecs:*",
          "Resource": "*",
          "Condition": {
            "IpAddress": {
              "acs:SourceIp": [
                "203.0.113.2"
              ]
            },
            "Bool": {
              "acs:MFAPresent": [
                "true"
              ]
            }
          }
        }
      ]
    }

    Contoh 2: Izinkan pengguna RAM yang telah mengaktifkan MFA atau berasal dari alamat IP 203.0.113.2 untuk mengakses instance ECS.

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "ecs:*",
                "Resource": "*",
                "Condition": {
                    "IpAddress": {
                        "acs:SourceIp": [
                            "203.0.113.2"
                        ]
                    }
                }
            },
            {
                "Effect": "Allow",
                "Action": "ecs:*",
                "Resource": "*",
                "Condition": {
                    "Bool": {
                        "acs:MFAPresent": [
                            "true"
                        ]
                    }
                }
            }
        ]
    }

Referensi