全部产品
Search
文档中心

Resource Access Management:Elemen kebijakan

更新时间:Nov 11, 2025

Kebijakan izin dalam Resource Access Management (RAM) menentukan izin tertentu dan terdiri dari elemen dasar berikut: Effect, Action atau NotAction, Resource, Condition, dan Principal.

Elemen

Deskripsi

Effect

Otorisasi dapat memiliki salah satu dari dua efek berikut:

  • Izinkan

  • Tolak

Action/NotAction

Aksi adalah operasi pada sumber daya tertentu. Dalam pernyataan kebijakan, Anda hanya dapat menentukan Action atau NotAction:

  • Action: menentukan operasi yang diizinkan atau ditolak.

  • NotAction: menentukan pengecualian terhadap operasi yang diizinkan atau ditolak. Artinya, semua operasi kecuali yang ditentukan dalam NotAction diizinkan atau ditolak.

Resource

Sumber daya adalah objek tertentu yang dapat diberi otorisasi.

Condition

Menentukan kondisi yang diperlukan agar kebijakan berlaku.

Principal

Menentukan pihak yang berwenang yang diizinkan atau ditolak mengakses sumber daya. Elemen ini hanya berlaku untuk kebijakan berbasis sumber daya, seperti kebijakan kepercayaan peran RAM.

Effect

Elemen `Effect` bersifat wajib dan menentukan apakah pernyataan tersebut memberikan izin eksplisit atau penolakan.

Nilai valid untuk elemen `Effect` adalah `Allow` dan `Deny`.

Catatan

Jika kebijakan izin berisi pernyataan `Allow` dan `Deny`, aturan prioritas penolakan (deny precedence rule) akan berlaku.

Kode berikut memberikan contoh:

"Effect": "Allow"

Action/NotAction

Elemen ini bersifat wajib dan menentukan operasi yang diizinkan atau ditolak. Anda dapat menggunakan `Action` atau `NotAction` dalam suatu pernyataan, tetapi tidak keduanya sekaligus. Elemen `Action` mencantumkan operasi yang diizinkan atau ditolak oleh kebijakan, sedangkan elemen `NotAction` menentukan operasi yang dikecualikan dari kebijakan. Artinya, semua operasi kecuali yang disebutkan dalam `NotAction` dipengaruhi oleh kebijakan tersebut.

Nilai elemen `Action` atau `NotAction` adalah nama operasi API yang didefinisikan oleh layanan Alibaba Cloud.

Format elemen `Action` atau `NotAction` adalah <ram-code>:<action-name>.

  • ram-code: kode yang digunakan dalam RAM untuk mengidentifikasi layanan Alibaba Cloud. Untuk informasi selengkapnya, lihat kode yang tercantum dalam kolom RAM Code di Layanan yang bekerja dengan RAM.

  • action-name: Nama operasi API terkait.

Nilai elemen `Action` atau `NotAction` umumnya tidak peka huruf besar/kecil. Namun, untuk memastikan perilaku yang konsisten, kami menyarankan Anda menggunakan awalan aksi <ram-code> dan nama aksi <action-name> persis seperti yang ditentukan dalam dokumentasi otorisasi layanan Alibaba Cloud terkait.

Kode berikut memberikan contoh:

  • Contoh tindakan

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

    Contoh berikut mengizinkan semua operasi kecuali operasi RAM. Alih-alih mencantumkan semua operasi yang diizinkan, kebijakan ini hanya mencantumkan pengecualian (`ram:*`), sehingga pernyataan kebijakan menjadi lebih ringkas. Namun, hal ini memberikan cakupan izin yang luas. Gunakan dengan hati-hati dan pastikan kebijakan tersebut memenuhi persyaratan keamanan Anda.

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

Resource

Elemen `Resource` bersifat wajib dalam kebijakan berbasis identitas dan menentukan satu atau beberapa objek yang diberi otorisasi.

Nilai elemen `Resource` adalah Nama Sumber Daya Alibaba Cloud (ARN) dari suatu sumber daya.

Format elemen `Resource` adalah acs:<ram-code>:<region>:<account-id>:<relative-id>. Gunakan ARN sumber daya persis seperti yang ditentukan dalam dokumentasi otorisasi layanan Alibaba Cloud terkait.

Daftar berikut menjelaskan format tersebut:

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

  • ram-code: kode yang mengidentifikasi layanan Alibaba Cloud dalam RAM. Untuk informasi selengkapnya, lihat kode yang tercantum dalam kolom RAM Code di Layanan yang bekerja dengan RAM.

  • region: Informasi wilayah. Untuk sumber daya global yang dapat diakses tanpa menentukan wilayah, atur bidang ini menjadi tanda bintang (*). Untuk informasi selengkapnya, lihat Wilayah dan zona.

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

  • relative-id: Bagian deskripsi sumber daya yang spesifik untuk layanan tersebut. Semantiknya ditentukan oleh layanan Alibaba Cloud. Bagian ini mendukung struktur mirip pohon seperti jalur file. Misalnya, untuk menentukan objek OSS, formatnya adalah relative-id = "mybucket/dir1/object1.jpg".

Kode berikut memberikan contoh:

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

Condition

Elemen `Condition` bersifat opsional dan menentukan kondisi di mana kebijakan berlaku.

Elemen `Condition` juga dikenal sebagai blok kondisi. Elemen ini terdiri dari satu atau beberapa klausa kondisi. Setiap klausa kondisi mencakup jenis operator kondisional, kunci kondisi, dan nilai kondisi.

Condition block evaluation logic

Catatan

Karena elemen `Condition` bersifat opsional, sistem tidak memeriksa keberadaannya. Jika Anda menggunakan elemen `Condition`, pastikan ejaan dan penggunaan huruf besar/kecil pada semua komponennya benar.

Kunci kondisi sangat peka terhadap huruf besar/kecil. Sensitivitas nilai kondisi terhadap huruf besar/kecil bergantung pada operator kondisional. Misalnya, untuk kunci kondisi string, operator StringEquals melakukan perbandingan yang peka huruf besar/kecil, sedangkan operator StringEqualsIgnoreCase melakukan perbandingan yang tidak peka huruf besar/kecil.

Daftar berikut menjelaskan elemen `Condition`:

  • Logika evaluasi

    • Kunci kondisi dapat memiliki satu atau beberapa nilai. Selama evaluasi, kondisi terpenuhi jika nilai kunci kondisi dalam permintaan cocok dengan salah satu nilai yang ditentukan dalam kebijakan (logika OR).

    • Klausa kondisi dapat memiliki beberapa kunci kondisi. Klausa kondisi terpenuhi hanya jika semua kunci kondisinya terpenuhi (logika AND).

    • Blok kondisi dapat memiliki beberapa klausa kondisi. Blok kondisi terpenuhi hanya jika semua klausa kondisinya terpenuhi (logika AND).

  • Jenis operator kondisional

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

  • Kunci kondisi

    • Format penamaan kunci kondisi global Alibaba Cloud adalah acs:<condition-key>.

      Kunci kondisi global

      Tipe

      Deskripsi

      acs:CurrentTime

      Tanggal dan waktu

      Waktu saat server web menerima permintaan.

      Catatan

      Waktu harus dalam UTC dan diformat berdasarkan standar ISO 8601.

      Misalnya, pukul 20:00:00 pada 10 Januari 2023 (UTC+8) dinyatakan sebagai 2023-01-10T20:00:00+08:00 atau 2023-01-10T12:00:00Z.

      acs:SecureTransport

      Boolean

      Menunjukkan apakah saluran aman digunakan untuk mengirim permintaan. Contoh: HTTPS.

      acs:SourceIp

      Alamat IP

      Alamat IP klien yang mengirim permintaan.

      Catatan

      Nilai acs:SourceIp dapat berupa alamat IP tertentu atau blok CIDR. Jangan menuliskan alamat IP tertentu dalam notasi CIDR. Misalnya, jangan menulis 10.0.0.1 sebagai 10.0.0.1/32.

      acs:MFAPresent

      Boolean

      Menunjukkan apakah MFA digunakan ketika pengguna masuk.

      Catatan

      Jika MFA For RAM User Logons diatur ke Required Only For Unusual Logon dalam pengaturan keamanan pengguna RAM, kunci kondisi acs:MFAPresent menjadi tidak berlaku. Untuk informasi selengkapnya, lihat Mengelola pengaturan keamanan pengguna RAM.

      acs:PrincipalARN

      String

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

      Catatan

      Saat ini, Anda hanya dapat menentukan ARN peran RAM, dan harus menggunakan 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 pemohon berada. Kunci kondisi ini hanya dapat digunakan dalam kebijakan kepercayaan peran RAM dan kebijakan bucket OSS.

      acs:PrincipalRDPath

      String

      Jalur akun Alibaba Cloud pemohon dalam direktori sumber daya. Kunci kondisi ini hanya dapat digunakan dalam kebijakan kepercayaan peran RAM dan kebijakan bucket OSS.

      acs:RequestTag/<tag-key>

      String

      Tag yang dikirim dalam permintaan. <tag-key> menunjukkan kunci tag. Ganti <tag-key> dengan kunci tag aktual. Untuk informasi selengkapnya tentang layanan Alibaba Cloud dan jenis sumber daya yang didukung, lihat Resource Type Authorization di Layanan 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 aktual. Untuk informasi selengkapnya tentang layanan Alibaba Cloud dan jenis sumber daya yang didukung, lihat informasi Resource Type Authorization di Layanan yang mendukung tag.

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

      Misalnya, kunci kondisi OSS oss:Delimiter adalah karakter yang digunakan untuk mengelompokkan nama objek dalam permintaan `ListObjects`.

      Untuk informasi tentang kunci kondisi untuk layanan Alibaba Cloud tertentu, lihat dokumentasi otorisasi layanan tersebut.

  • Contoh kondisi

    Kondisi dalam satu pernyataan dievaluasi menggunakan logika AND. Untuk mengevaluasi kondisi menggunakan logika OR, Anda harus menempatkannya dalam pernyataan terpisah.

    Contoh 1: Izinkan pengguna RAM mengakses instance ECS hanya jika mereka telah mengaktifkan MFA dan mengakses dari alamat IP 203.0.113.2.

    {
      "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 mengakses instance ECS jika mereka telah mengaktifkan MFA atau mengakses dari alamat IP 203.0.113.2.

    {
        "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"
                        ]
                    }
                }
            }
        ]
    }

Principal

Elemen `Principal` menentukan pihak yang berwenang yang diberikan atau ditolak izinnya. Elemen ini wajib dalam kebijakan berbasis sumber daya, seperti kebijakan kepercayaan peran RAM. Dalam kebijakan kepercayaan, elemen `Principal` menentukan entitas yang dapat mengasumsikan peran tersebut.

Catatan

Anda tidak dapat menggunakan elemen `Principal` dalam kebijakan berbasis identitas. Kebijakan berbasis identitas disambungkan ke identitas RAM, seperti pengguna RAM, kelompok pengguna, atau peran RAM. Dalam kasus ini, identitas RAM merupakan pihak yang berwenang secara implisit.

Dalam elemen `Principal`, Anda dapat menambahkan beberapa tipe pihak yang berwenang dan menentukan beberapa pihak untuk setiap tipe. Gunakan koma (,) untuk memisahkan beberapa tipe pihak yang berwenang. Jika suatu tipe pihak memiliki beberapa nilai, masukkan nilai-nilai tersebut dalam tanda kurung siku ([]) dan pisahkan dengan koma (,). Hubungan antara beberapa pihak yang berwenang mengikuti logika OR, artinya cukup salah satu pihak yang berwenang yang ditentukan dalam kebijakan diberi otorisasi.

Contoh entitas otorisasi:

"Principal": {
  "RAM": [
    "acs:ram::123456789012****:root",
    "acs:ram::987654321098****:root"
  ],
  "Service": "ecs.aliyuncs.com"
}

Pihak yang berwenang adalah entitas RAM terotentikasi. Tipe pihak yang berwenang yang tersedia adalah:

  • Akun Alibaba Cloud

    Anda dapat menentukan akun Alibaba Cloud sebagai pihak yang berwenang. Hal ini memberikan otorisasi kepada semua pengguna RAM dan peran RAM yang termasuk dalam akun yang ditentukan. Saat menentukan akun Alibaba Cloud, Anda harus menggunakan ARN-nya dalam format acs:ram::<account-id>:root. Kode berikut memberikan contoh:

    "Principal": {
        "RAM": "acs:ram::123456789012****:root"
    }
    Catatan

    Pengguna root dari akun Alibaba Cloud yang ditentukan tidak termasuk saat Anda menggunakan ARN akun sebagai pihak yang berwenang.

  • Pengguna RAM

    Anda dapat menentukan pengguna RAM sebagai pihak yang berwenang. Anda harus menggunakan ARN pengguna RAM dalam format acs:ram::<account-id>:user/<user-name>, di mana <user-name> adalah nama login pengguna RAM. Kode berikut memberikan contoh:

    "Principal": {
      "RAM": [
        "acs:ram::123456789012****:user/<user1-name>",
        "acs:ram::123456789012****:user/<user2-name>"
      ]
    }

    Anda tidak dapat menggunakan karakter wildcard (*) untuk pencocokan parsial saat menentukan pengguna RAM. Anda harus menentukan ARN lengkapnya.

    Penting

    Dalam kebijakan kepercayaan peran RAM, jika elemen `Principal` berisi ARN pengguna RAM, sistem akan mengonversi ARN ini menjadi ID unik (misalnya, `29695932303672****`) saat kebijakan disimpan. ID ini biasanya tidak terlihat dan hanya ditampilkan dalam kebijakan kepercayaan jika pengguna RAM tersebut dihapus. Jika hal ini terjadi, Anda dapat menghapus ID tersebut atau menggantinya dengan ARN pengguna RAM yang valid. Mekanisme ini membantu mengurangi risiko keamanan. Saat membuat atau memperbarui kebijakan kepercayaan, <user-name> tidak peka huruf besar/kecil karena sistem secara otomatis mengonversinya menjadi ARN standar.

  • Peran RAM

    Jika Anda menentukan peran RAM untuk elemen `Principal` dalam kebijakan, Anda harus menggunakan ARN peran RAM dalam format acs:ram::<account-id>:role/<role-name>. Dalam format ini, <role-name> adalah nama peran RAM. Contoh:

    "Principal": {
      "RAM": [
        "acs:ram::123456789012****:role/<role-name>"
      ]
    }

    ARN peran RAM tidak mendukung pencocokan wildcard dengan tanda bintang (*).

    Penting

    Dalam kebijakan kepercayaan peran RAM, jika elemen `Principal` berisi Nama Sumber Daya Alibaba Cloud (ARN) peran RAM lain, sistem akan mengonversi ARN tersebut menjadi ID saat kebijakan disimpan. Misalnya: 38915594982675****. ID ini biasanya tidak terlihat dan hanya muncul dalam kebijakan kepercayaan setelah peran RAM yang ditentukan dihapus. Dalam kasus ini, hapus ID tersebut atau ganti dengan ARN peran RAM yang valid. Hal ini membantu mengurangi risiko keamanan. Saat membuat atau memperbarui kebijakan kepercayaan, <role-name> tidak peka huruf besar/kecil. Sistem secara otomatis mengonversinya menjadi ARN standar.

  • Layanan Alibaba Cloud

    Anda dapat menentukan layanan Alibaba Cloud sebagai pihak yang berwenang. Anda harus menentukan nama prinsipal layanan, yaitu pengidentifikasi untuk layanan tersebut. Nama ini biasanya dalam format <service-name>.aliyuncs.com. Untuk nilai spesifik <service-name>, lihat dokumentasi layanan Alibaba Cloud yang akan mengasumsikan peran tersebut. Kode berikut memberikan contoh:

    "Principal": {
      "Service": [
        "ecs.aliyuncs.com"
      ]
    }
  • Penyedia identitas

    Anda dapat menentukan pengguna federasi dari penyedia identitas (IdP) sebagai pihak yang berwenang menggunakan ARN IdP. Alibaba Cloud mendukung Single Sign-On (SSO) berbasis Security Assertion Markup Language (SAML) 2.0 dan OpenID Connect (OIDC). Untuk SSO berbasis protokol SAML, ARN Penyedia Identitas SAML adalah acs:ram::<account-id>:saml-provider/<provider-name>. Untuk SSO berbasis protokol OIDC, ARN Penyedia Identitas OIDC adalah acs:ram::<account-id>:oidc-provider/<provider-name>. Nilai ARN dalam elemen `Principal` peka huruf besar/kecil, sehingga Anda harus menggunakan ARN IdP yang tepat.

    "Principal": {
      "Federated": [
        "acs:ram::123456789012****:saml-provider/<provider-name>"
      ]
    }