Tüm Ürünler
Search
Belge Merkezi

ApsaraMQ for RocketMQ:Custom policies for ApsaraMQ for RocketMQ

Son Güncelleme:Oct 04, 2026

ApsaraMQ for RocketMQ için önceden tanımlanmış sistem ilkeleri erişim kontrolü gereksinimlerinizi karşılamadığında, en az ayrıcalık ilkesine dayalı erişimi örnek, konu veya grup düzeyinde uygulamak için özel Resource Access Management (RAM) ilkeleri oluşturun.

Sistem ilkeleri ile özel ilkelerin karşılaştırılması

RAM ilkeleri iki kategoriye ayrılır:

Tür Oluşturan Düzenlenebilir Sürüm denetimi
Sistem ilkeleri Alibaba Cloud Hayır Hayır
Özel ilkeler Siz Evet Evet, RAM sürüm yönetimi aracılığıyla

Özel bir ilke oluşturduktan sonra, belirtilen izinleri vermek için bu ilkeyi bir RAM kullanıcısına, RAM kullanıcı grubuna veya RAM rolüne ekleyin. Herhangi bir asıl öğeye eklenmemiş özel bir ilkeyi doğrudan silebilirsiniz. Bir asıl öğeye eklenmiş özel bir ilkeyi silmek için önce ilkenin ekini kaldırın.

Eylemler ve kaynak kapsamı

Aşağıdaki tabloda, ApsaraMQ for RocketMQ özel ilkeleri için kullanılabilen eylemler ve her bir eylemin uygulandığı kaynak türleri listelenmiştir.

Eylem Açıklama Uygulanabilir kaynak türleri
mq:QueryInstanceBaseInfo Örnek ayrıntılarını sorgulayın Örnek
mq:PUB Bir konuya mesaj yayınlayın Konu
mq:SUB Bir konudan veya gruptan gelen mesajlara abone olun Konu, Grup
mq:* Tüm eylemler Tümü

Kaynak ARN biçimleri

ApsaraMQ for RocketMQ, örneğinizin ad alanı kullanıp kullanmadığına bağlı olarak iki kaynak kapsamlandırma modelini destekler. En genelden en dar olana doğru kapsamlandırma hiyerarşisi şu şekildedir: Örnek > Konu/Grup.

  • Ad alanları ile -- Konular ve gruplar bir örnek kapsamında tanımlanır. Örnek kimliği, konu ve grup ARN'nin bir parçasıdır.

  • Ad alanları olmadan -- Konular ve gruplar genel kapsamlıdır. ARN yalnızca konu veya grup adını içerir.

Kaynak ARN (ad alanı ile) ARN (ad alanı olmadan)
Örnek acs:mq:*:*:{instanceId} acs:mq:*:*:{instanceId}
Konu acs:mq:*:*:{instanceId}%{topic} acs:mq:*:*:{topic}
Grup acs:mq:*:*:{instanceId}%{groupId} acs:mq:*:*:{groupId}
Bir örnek üzerindeki tüm kaynaklar acs:mq:*:*:{instanceId}* Uygulanamaz
Önemli

Bir konu veya grup üzerinde izin vermeden önce, ilgili örnek üzerinde mq:QueryInstanceBaseInfo iznini verin.

Özel ilke oluşturma ve uygulama

  1. RAM konsolunda özel bir ilke oluşturun. Ayrıntılı adımlar için bkz. Özel ilke oluşturma.

  2. İlkeyi bir RAM kullanıcısına, RAM kullanıcı grubuna veya RAM rolüne ekleyin.

  3. Asıl öğenin yalnızca amaçlanan kaynaklara erişebildiğini doğrulayın.

Özel bir ilke kullanmak için işinizin izin yönetimi gereksinimlerini ve ApsaraMQ for RocketMQ yetkilendirme bilgilerini anlamanız gerekir. Eylemlerin ve kaynak tanımlarının tam listesi için bkz. RAM yetkilendirmesi.

İlke örnekleri

Önemli

Aşağıdaki JSON örneklerinde açıklama amacıyla // yorumları bulunur. Kodu kullanmadan önce tüm yorumları kaldırın. JSON satır içi yorumları desteklemez.

Belirli bir konu ve grupta yayınlama ve abonelik izinleri verme

Bu ilke, bir RAM kullanıcısına tek bir örnek üzerindeki belirli bir konuya mesaj yayınlama ve bu konudan mesaj alma ile belirli bir gruba abone olma izni verir.

Aşağıdaki yer tutucuları kendi değerlerinizle değiştirin:

Yer Tutucu Açıklama Örnek
{instanceId} RocketMQ örnek kimliği MQ_INST_abc123
{topic} Konu adı order-topic
{groupId} Tüketici grubu kimliği GID_order-consumer

Ad alanı içeren örnekler:

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "mq:QueryInstanceBaseInfo"
            ],
            "Resource": [
                "acs:mq:*:*:{instanceId}"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "mq:PUB",
                "mq:SUB"
            ],
            "Resource": [
                "acs:mq:*:*:{instanceId}%{topic}"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "mq:SUB"
            ],
            "Resource": [
                "acs:mq:*:*:{instanceId}%{groupId}"
            ]
        }
    ]
}

İlke üç ifade içerir:

  • İfade 1 -- Örnek üzerinde mq:QueryInstanceBaseInfo izni verir. Konu veya grup düzeyinde izinler verilmeden önce gereklidir.

  • İfade 2 -- {instanceId}%{topic} ARN biçimi kullanılarak örnek kapsamında belirli bir konu üzerinde mq:PUB ve mq:SUB izinleri verir.

  • İfade 3 -- Belirli bir grup üzerinde mq:SUB izni verir.

Ad alanı içermeyen örnekler:

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "mq:QueryInstanceBaseInfo"
            ],
            "Resource": [
                "acs:mq:*:*:{instanceId}"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "mq:PUB",
                "mq:SUB"
            ],
            "Resource": [
                "acs:mq:*:*:{topic}"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "mq:SUB"
            ],
            "Resource": [
                "acs:mq:*:*:{groupId}"
            ]
        }
    ]
}

Fark şudur: Konu ve grup ARN'leri örnek kimliği ön ekini içermez. Kaynak alanında acs:mq:*:*:{instanceId}%{topic} yerine acs:mq:*:*:{topic} kullanılır.

Bir örneğin tüm kaynaklarında tam izinler verme

Bu ilke, tek bir örnek içindeki her kaynağa (konular, gruplar) yönelik tüm izinleri verir. Yalnızca ad alanı içeren örnekler için geçerlidir.

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "mq:*"
            ],
            "Resource": [
                "acs:mq:*:*:{instanceId}*"
            ]
        }
    ]
}

{instanceId} sonrasında bulunan joker karakter * , o örnek üzerindeki tüm konuları ve gruplarla eşleşir. {instanceId} ifadesini kendi örnek kimliğinizle değiştirin.

İlgili bağlantılar