All Products
Search
Document Center

ApsaraMQ for RocketMQ:Otorisasi RAM

Last Updated:Sep 21, 2026

Resource Access Management (RAM) adalah layanan Alibaba Cloud yang dirancang untuk manajemen identitas pengguna dan kontrol izin akses resource. Melalui RAM, Anda dapat menerapkan prinsip least privilege tanpa perlu membagikan kunci akun Alibaba Cloud Anda kepada pengguna lain. RAM menggunakan kebijakan izin untuk menentukan otorisasi. Topik ini menjelaskan struktur umum kebijakan RAM, serta elemen pernyataan kebijakan (Action, Resource, dan Condition) yang didefinisikan oleh ApsaraMQ untuk kebijakan izin RAM. Kode RAM (RamCode) untuk ApsaraMQ adalah mq , dan granularitas otorisasi yang didukung adalah RESOURCE .

Struktur umum kebijakan

Kebijakan izin menggunakan format JSON dengan struktur umum berikut:

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "<Effect>",
      "Action": "<Action>",
      "Resource": "<Resource>",
      "Condition": {
        "<Condition_operator>": {
          "<Condition_key>": [
            "<Condition_value>"
          ]
        }
      }
    }
  ]
}        

Berikut adalah penjelasan untuk setiap field dalam kebijakan

  • Version: Menentukan nomor versi kebijakan. Nilainya tetap 1.

  • Statement:

    • Effect: Menentukan hasil otorisasi. Nilai yang valid: Allow dan Deny.

    • Action: Menentukan satu atau beberapa operasi yang diizinkan atau ditolak.

    • Resource: Menentukan objek spesifik yang terpengaruh oleh operasi tersebut. Anda dapat menggunakan Alibaba Cloud Resource Names (ARNs) untuk mengidentifikasi resource tertentu.

    • Condition: Menentukan kondisi agar otorisasi berlaku. Field ini bersifat opsional.

      • Condition operator: Menentukan operator kondisional. Setiap jenis kondisi mendukung operator kondisional yang berbeda.

      • Condition_key: Menentukan condition key.

      • Condition_value: Menentukan nilai kondisi.

Action

Tabel berikut mencantumkan action yang didefinisikan oleh ApsaraMQ. Setiap kolom dalam tabel dijelaskan sebagai berikut:

  • Action: Dapat digunakan dalam elemen Action pada pernyataan kebijakan RAM untuk memberikan izin guna melakukan operasi tersebut.

  • API: API yang dipanggil untuk melakukan action tersebut.

  • Access level: Tingkat akses yang telah ditentukan untuk setiap API. Nilai yang valid: create, list, get, update, dan delete.

  • Resource type: Jenis resource yang mendukung otorisasi untuk melakukan action tersebut. Ini menunjukkan apakah action tersebut mendukung izin tingkat resource. Resource yang ditentukan harus kompatibel dengan action tersebut; jika tidak, kebijakan tidak akan berlaku.

    • Untuk API dengan izin tingkat resource, jenis resource yang diperlukan ditandai dengan tanda bintang (*). Tentukan ARN yang sesuai dalam elemen Resource pada kebijakan.

    • Untuk API tanpa izin tingkat resource, ini ditampilkan sebagai All Resources. Gunakan tanda bintang (*) dalam elemen Resource kebijakan.

  • Condition key: Ditentukan oleh layanan. Kunci ini memungkinkan kontrol yang lebih terperinci, yang berlaku baik untuk action saja maupun untuk action yang terkait dengan resource tertentu. Selain condition key spesifik layanan, Alibaba Cloud menyediakan serangkaian condition key umum yang berlaku di seluruh layanan yang terintegrasi dengan RAM. Untuk informasi lebih lanjut, lihat Common condition keys.

  • Dependent action: Action dependen yang diperlukan untuk menjalankan action tersebut. Agar action dapat dieksekusi dengan sukses, RAM user atau RAM role harus memiliki izin atas semua action dependen tersebut.

Action

API

Level akses

Tipe resource

Condition key

Action dependen

mq:UpdateGroupConsumer OnsGroupConsumerUpdate

Group

acs:mq:{#regionId}:{#accountId}:{#GroupName}

Group

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}

None

mq:OnsInstanceBaseInfo

mq:QueryTrendTopicInputTps OnsTrendTopicInputTps get

Topic

acs:mq:{#regionId}:{#accountId}:{#TopicName}

Topic

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}

None

mq:OnsInstanceBaseInfo

mq:QueryInstanceBaseInfo OnsInstanceBaseInfo get

*Instance

acs:mq:{#regionId}:{#accountId}:{#InstanceId}

None None
mq:QueryGroupSubDetail OnsGroupSubDetail get

Group

acs:mq:{#regionId}:{#accountId}:{#GroupName}

Group

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}

None

mq:OnsInstanceBaseInfo

mq:CreateGroup OnsGroupCreate create

*Instance

acs:mq:{#regionId}:{#accountId}:{#InstanceId}

None

mq:QueryInstanceBaseInfo

mq:QueryMessage OnsMessageGetByKey get

Topic

acs:mq:{#regionId}:{#accountId}:{#TopicName}

Topic

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}

None

mq:OnsInstanceBaseInfo

mq:ListTopic OnsTopicList list

Instance

acs:mq:{#regionId}:{#accountId}:{#InstanceId}

None

mq:QueryInstanceBaseInfo

mq:ResetConsumerOffset OnsConsumerResetOffset get

Topic

acs:mq:{#regionId}:{#accountId}:{#TopicName}

Topic

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}

None

mq:OnsInstanceBaseInfo

mq:UpdateInstance OnsInstanceUpdate

*Instance

acs:mq:{#regionId}:{#accountId}:{#InstanceId}

None

mq:QueryInstanceBaseInfo

mq:UntagResources UntagResources get

*All Resource

*

None

mq:QueryInstanceBaseInfo

mq:QueryInstanceBaseInfo OnsInstanceInServiceList list

Instance

acs:mq:{#regionId}:{#accountId}:{#InstanceId}

None None
mq:QueryTrace OnsTraceQueryByMsgId get

Topic

acs:mq:{#regionId}:{#accountId}:{#TopicName}

Topic

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}

None

mq:OnsInstanceBaseInfo

mq:SUB OnsMessagePush get

Topic

acs:mq:{#regionId}:{#accountId}:{#TopicName}

Topic

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}

None

mq:OnsInstanceBaseInfo

mq:DeleteGroup OnsGroupDelete delete

*Group

acs:mq:{#regionId}:{#accountId}:{#InstanceId}

*Group

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}

None

mq:QueryInstanceBaseInfo

mq:QueryMessage OnsMessageGetByMsgId get

Topic

acs:mq:{#regionId}:{#accountId}:{#TopicName}

Topic

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}

None

mq:OnsInstanceBaseInfo

mq:GetTraceResult OnsTraceGetResult get

*Topic

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}

*Topic

acs:mq:{#regionId}:{#accountId}:{#TopicName}

None

mq:QueryInstanceBaseInfo

mq:QueryConsumerConnection OnsConsumerGetConnection get

Group

acs:mq:{#regionId}:{#accountId}:{#GroupName}

Group

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}

None

mq:OnsInstanceBaseInfo

mq:QueryDLQMessage OnsDLQMessagePageQueryByGroupId get

Group

acs:mq:{#regionId}:{#accountId}:{#GroupName}

Group

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}

None

mq:OnsInstanceBaseInfo

mq:ListGroup OnsGroupList list

Group

acs:mq:{#regionId}:{#accountId}:{#InstanceId}

None

mq:QueryInstanceBaseInfo

mq:QueryTrendGroupOutputTps OnsTrendGroupOutputTps get

Group

acs:mq:{#regionId}:{#accountId}:{#GroupName}

Group

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}

None

mq:OnsInstanceBaseInfo

mq:QueryConsumerStatus OnsConsumerStatus get

Group

acs:mq:{#regionId}:{#accountId}:{#GroupName}

Group

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}

None

mq:OnsInstanceBaseInfo

mq:ResendDLQMessage OnsDLQMessageResendById get

Group

acs:mq:{#regionId}:{#accountId}:{#GroupName}

Group

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}

None

mq:OnsInstanceBaseInfo

mq:ListTagResources ListTagResources get

*All Resource

*

None

mq:QueryInstanceBaseInfo

mq:TagResources TagResources update

*All Resource

*

None

mq:QueryInstanceBaseInfo

mq:QueryMessage OnsMessagePageQueryByTopic get

Topic

acs:mq:{#regionId}:{#accountId}:{#TopicName}

Topic

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}

None

mq:OnsInstanceBaseInfo

mq:QueryConsumerAccumulate OnsConsumerAccumulate get

Group

acs:mq:{#regionId}:{#accountId}:{#GroupName}

Group

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}

None

mq:OnsInstanceBaseInfo

mq:QueryConsumerTimeSpan OnsConsumerTimeSpan get

Topic

acs:mq:{#regionId}:{#accountId}:{#TopicName}

Topic

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}

None

mq:OnsInstanceBaseInfo

mq:QueryMessageDetail OnsMessageDetail get

Topic

acs:mq:{#regionId}:{#accountId}:{#TopicName}

Topic

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}

None

mq:OnsInstanceBaseInfo

mq:CreateTopic OnsTopicCreate

*Topic

acs:mq:{#regionId}:{#accountId}:{#TopicName}

*Topic

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}

None

mq:QueryInstanceBaseInfo

mq:QueryMessageTrace OnsMessageTrace get

Topic

acs:mq:{#regionId}:{#accountId}:{#TopicName}

Topic

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}

None

mq:OnsInstanceBaseInfo

mq:DeleteInstance OnsInstanceDelete

*Instance

acs:mq:{#regionId}:{#accountId}:{#InstanceId}

None

mq:QueryInstanceBaseInfo

mq:DeleteTopic OnsTopicDelete

Topic

acs:mq:{#regionId}:{#accountId}:{#TopicName}

Topic

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}

None

mq:OnsInstanceBaseInfo

mq:QueryTopicSubDetail OnsTopicSubDetail get

Topic

acs:mq:{#regionId}:{#accountId}:{#TopicName}

Topic

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}

None

mq:OnsInstanceBaseInfo

mq:UpdateTopic OnsTopicUpdate

Topic

acs:mq:{#regionId}:{#accountId}:{#TopicName}

Topic

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}

None

mq:OnsInstanceBaseInfo

mq:QueryTrace OnsTraceQueryByMsgKey get

Topic

acs:mq:{#regionId}:{#accountId}:{#TopicName}

Topic

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}

None

mq:OnsInstanceBaseInfo

mq:QueryDLQMessage OnsDLQMessageGetById get

Group

acs:mq:{#regionId}:{#accountId}:{#GroupName}

Group

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}

None

mq:OnsInstanceBaseInfo

mq:CreateInstance OnsInstanceCreate create

*All Resource

*

None None
mq:QueryTopicStatus OnsTopicStatus get

Topic

acs:mq:{#regionId}:{#accountId}:{#TopicName}

Topic

acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}

None

mq:OnsInstanceBaseInfo

Resource

Tabel berikut mencantumkan resource yang ditentukan oleh ApsaraMQ. Tentukan resource tersebut dalam elemen Resource pada pernyataan kebijakan RAM untuk memberikan izin terhadap operasi tertentu. Resource tersebut diidentifikasi secara unik menggunakan ARN dengan format: acs:{#ramcode}:{#regionId}:{#accountId}:{#resourceType}:

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

  • {#ramcode}: Kode yang digunakan dalam RAM untuk menunjukkan layanan Alibaba Cloud.

  • {#regionId}: region ID. Jika resource mencakup semua wilayah, atur nilainya menjadi tanda bintang (*).

  • {#accountId}: ID akun Alibaba Cloud. Jika resource mencakup semua akun Alibaba Cloud, atur nilainya menjadi tanda bintang (*).

  • {#resourceType}: Identifier resource yang ditentukan oleh layanan. Mendukung struktur hierarkis, mirip dengan path file. Jika pernyataan mencakup resource global, atur nilainya menjadi tanda bintang (*).

Tipe resource

ARN

Group
  • acs:mq:{#regionId}:{#accountId}:{#GroupName}
  • acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#GroupName}
  • acs:mq:{#regionId}:{#accountId}:{#InstanceId}
Topic
  • acs:mq:{#regionId}:{#accountId}:{#TopicName}
  • acs:mq:{#regionId}:{#accountId}:{#InstanceId}%{#TopicName}
Instance
  • acs:mq:{#regionId}:{#accountId}:{#InstanceId}
  • acs:mq:{#regionId}:{#accountId}:*

Condition

ApsaraMQ tidak mendefinisikan condition key tingkat produk. Namun, Anda dapat menggunakan condition key umum Alibaba Cloud untuk kontrol akses. Untuk informasi lebih lanjut, lihat Common condition keys.

Cara membuat kebijakan RAM kustom?

Anda dapat membuat kebijakan kustom dan memberikannya kepada RAM user, RAM user group, atau RAM role. Untuk caranya, lihat: