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 云消息队列 RocketMQ 版 untuk kebijakan izin RAM. Kode RAM (RamCode) untuk 云消息队列 RocketMQ 版 adalah rocketmq , dan granularitas otorisasi yang didukung adalah 资源级 .
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 云消息队列 RocketMQ 版. Setiap kolom dalam tabel dijelaskan sebagai berikut:
Action: Dapat digunakan dalam elemen
Actionpada 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
Resourcepada kebijakan.Untuk API tanpa izin tingkat resource, ini ditampilkan sebagai All Resources. Gunakan tanda bintang (*) dalam elemen
Resourcekebijakan.
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 |
| rocketmq:CreateInstanceAcl | CreateInstanceAcl | create |
*Instance
|
None | None |
| rocketmq:ListInstanceAcl | ListInstanceAcl | list |
*Instance
|
None | None |
| rocketmq:UpdateTopic | UpdateTopic | update |
*Topic
|
None | None |
| rocketmq:ListMigrationOperations | ListMigrationOperations | list |
*Instance
|
None | None |
| rocketmq:ListDisasterRecoveryPlans | ListDisasterRecoveryPlans | get |
*全部资源
|
None | None |
| rocketmq:ResetConsumeOffset | ResetConsumeOffset | update |
*ConsumerGroup
|
None | None |
| rocketmq:UpdateDisasterRecoveryItem | UpdateDisasterRecoveryItem | update |
*DisasterRecoveryItem
|
None | None |
| rocketmq:GetConsumerStack | GetConsumerStack | get |
*ConsumerGroup
|
None | None |
| rocketmq:DeleteConsumerGroup | DeleteConsumerGroup | delete |
*ConsumerGroup
|
None | None |
| rocketmq:ListConsumerGroupSubscriptions | ListConsumerGroupSubscriptions | list |
*ConsumerGroup
|
None | None |
| rocketmq:FinishMigrationStage | FinishMigrationStage | update |
*Instance
|
None | None |
| rocketmq:StartDisasterRecoveryItem | StartDisasterRecoveryItem | update |
*Topic
|
None | None |
| rocketmq:ListTopics | ListTopics | list |
*Topic
|
None | None |
| rocketmq:ListInstanceIpWhitelist | ListInstanceIpWhitelist | list |
*Instance
|
None | None |
| rocketmq:ExecuteMigrationOperation | ExecuteMigrationOperation | update |
*Instance
|
None | None |
| rocketmq:UpdateDisasterRecoveryPlan | UpdateDisasterRecoveryPlan | update |
*Instance
|
None | None |
| rocketmq:GetConsumerGroup | GetConsumerGroup | get |
*ConsumerGroup
|
None | None |
| rocketmq:CreateTopic | CreateTopic | create |
*Topic
|
None | None |
| rocketmq:DeleteInstance | DeleteInstance | delete |
*Instance
|
None | None |
| rocketmq:UpdateInstanceAccount | UpdateInstanceAccount | update |
*Instance
|
None | None |
| rocketmq:UpdateInstance | UpdateInstance | update |
*Instance
|
None | None |
| rocketmq:GetDisasterRecoveryPlan | GetDisasterRecoveryPlan | get |
*Instance
|
None | None |
| rocketmq:AddDisasterRecoveryItem | AddDisasterRecoveryItem | update |
*Topic
|
None | None |
| rocketmq:DeleteDisasterRecoveryItem | DeleteDisasterRecoveryItem | update |
*Topic
|
None | None |
| rocketmq:ListDisasterRecoveryItems | ListDisasterRecoveryItems | get |
*Instance
|
None | None |
| rocketmq:DeleteInstanceAcl | DeleteInstanceAcl | delete |
*Instance
|
None | None |
| rocketmq:ListConsumerConnections | ListConsumerConnections | list |
*ConsumerGroup
|
None | None |
| rocketmq:UntagResources | UntagResources | update |
*全部资源
|
None | None |
| rocketmq:GetInstance | GetInstance | get |
*Instance
|
None | None |
| rocketmq:CreateDisasterRecoveryPlan | CreateDisasterRecoveryPlan | update |
*Instance
|
None | None |
| rocketmq:DeleteInstanceIpWhitelist | DeleteInstanceIpWhitelist | delete |
*Instance
|
None | None |
| rocketmq:DeleteDisasterRecoveryPlan | DeleteDisasterRecoveryPlan | update |
*Instance
|
None | None |
| rocketmq:GetInstanceIpWhitelist | GetInstanceIpWhitelist | get |
*IpWhitelist
|
None | None |
| rocketmq:GetTrace | GetTrace | get |
*Topic
|
None | None |
| rocketmq:GetConsumeTimespan | GetConsumeTimespan | get |
*ConsumerGroup
|
None | None |
| rocketmq:TagResources | TagResources | update |
*全部资源
|
None | None |
| rocketmq:ListDisasterRecoveryCheckpoints | ListDisasterRecoveryCheckpoints | list |
*全部资源
|
None | None |
| rocketmq:GetInstanceAcl | GetInstanceAcl | get |
*Acl
|
None | None |
| rocketmq:ListTagResources | ListTagResources | list |
*全部资源
|
None | None |
| rocketmq:StopDisasterRecoveryItem | StopDisasterRecoveryItem | update |
*Topic
|
None | None |
| rocketmq:UpdateConsumerGroup | UpdateConsumerGroup | update |
*ConsumerGroup
|
None | None |
| rocketmq:ListMetricMeta | ListMetricMeta | list |
*全部资源
|
None | None |
| rocketmq:ListTraces | ListTraces | get |
*Topic
|
None | None |
| rocketmq:GetTopic | GetTopic | get |
*Topic
|
None | None |
| rocketmq:DeleteInstanceAccount | DeleteInstanceAccount | delete |
*Instance
|
None | None |
| rocketmq:CreateInstanceIpWhitelist | CreateInstanceIpWhitelist | create |
*Instance
|
None | None |
| rocketmq:GetMessageDetail | GetMessageDetail | get |
*Topic
|
None | None |
| rocketmq:ListMessages | ListMessages | list |
*Topic
|
None | None |
| rocketmq:ListInstanceAccount | ListInstanceAccount | list |
*Instance
|
None | None |
| rocketmq:GetConsumerGroupSubscription | GetConsumerGroupSubscription | get |
*ConsumerGroup
|
None | None |
| rocketmq:DeleteTopic | DeleteTopic | delete |
*Topic
|
None | None |
| rocketmq:DeleteConsumerGroupSubscription | DeleteConsumerGroupSubscription | delete |
*ConsumerGroup
|
None | None |
| rocketmq:GetDisasterRecoveryItem | GetDisasterRecoveryItem | get |
*Topic
|
None | None |
| rocketmq:CreateInstanceAccount | CreateInstanceAccount | create |
*Instance
|
None | None |
| rocketmq:VerifySendMessage | VerifySendMessage | update |
*Topic
|
None | None |
| rocketmq:UpdateInstanceAcl | UpdateInstanceAcl | update |
*Instance
|
None | None |
| rocketmq:ChangeResourceGroup | ChangeResourceGroup | update |
*Instance
|
None | None |
| rocketmq:VerifyConsumeMessage | VerifyConsumeMessage | update |
*Topic
|
None | None |
| rocketmq:GetConsumerGroupLag | GetConsumerGroupLag | get |
*ConsumerGroup
|
None | None |
| rocketmq:ListMigrations | ListMigrations | list |
*全部资源
|
None | None |
| rocketmq:ListConsumerGroups | ListConsumerGroups | list |
*ConsumerGroup
|
None | None |
| rocketmq:GetInstanceAccount | GetInstanceAccount | get |
*Instance
|
None | None |
| rocketmq:SyncDisasterRecoveryCheckpoint | SyncDisasterRecoveryCheckpoint | update |
*全部资源
|
None | None |
| rocketmq:CreateConsumerGroup | CreateConsumerGroup | create |
*ConsumerGroup
|
None | None |
| rocketmq:ListInstances | ListInstances | list |
*Instance
|
None | None |
| rocketmq:CreateInstance | CreateInstance | create |
*Instance
|
None | None |
| rocketmq:ListTopicSubscriptions | ListTopicSubscriptions | list |
*Topic
|
None | None |
Resource
Tabel berikut mencantumkan resource yang ditentukan oleh 云消息队列 RocketMQ 版. 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 |
| Instance |
|
| Topic |
|
| ConsumerGroup |
|
| DisasterRecoveryItem |
|
| IpWhitelist |
|
| Acl |
|
Condition
Tabel berikut mencantumkan condition key tingkat produk yang didefinisikan oleh 云消息队列 RocketMQ 版. Anda juga dapat menggunakan Common condition keys dari Alibaba Cloud. Tentukan kunci-kunci ini dalam elemen Condition pada pernyataan kebijakan RAM untuk menetapkan aturan otorisasi yang lebih terperinci. Dalam condition key, tentukan nilai kondisi dalam elemen Condition_value pada kebijakan.
Setiap condition key memiliki tipe data tertentu, seperti string, number, Boolean, atau alamat IP. Tipe data tersebut menentukan operator kondisional mana yang dapat digunakan untuk membandingkan nilai permintaan dengan nilai kebijakan. Anda harus menentukan operator kondisional yang kompatibel dengan tipe data condition key tersebut. Operator yang tidak sesuai akan membuat kebijakan tidak berlaku. Lihat Condition operator untuk kombinasi yang valid.
Condition key |
Deskripsi |
Tipe data |
| rocketmq:InternetSpec | apakah akan mengaktifkan fitur akses Internet | String |
Cara membuat kebijakan RAM kustom?
Anda dapat membuat kebijakan kustom dan memberikannya kepada RAM user, RAM user group, atau RAM role. Untuk caranya, lihat: