Tüm Ürünler
Search
Belge Merkezi

Resource Management:Access control policy language

Son Güncelleme:Oct 10, 2026

Bir erişim kontrolü ilkesi aşağıdaki öğelerden oluşur: Effect, Action veya NotAction, Resource ve Condition.

Öğe

Açıklama

Effect

İlkenin açıkça izin mi yoksa açıkça reddetme mi sonucu doğuracağını belirtir. Geçerli değerler:

  • Allow

  • Deny

Action veya NotAction

İzin verilen veya reddedilen bir ya da daha fazla API işlemi. Bir ilke içinde Action veya NotAction öğesinden birini belirtin.

  • Action: Belirtilen API işlemlerine izin verilir veya bu işlemler reddedilir.

  • NotAction: Belirtilenler dışındaki tüm API işlemlerine izin verilir veya bu işlemler reddedilir.

Resource

İlkenin uygulandığı bir veya daha fazla nesne.

Condition

İlkenin etkili olabilmesi için gereken koşullar.

Effect

Effect öğesi, bir ilkenin erişime izin verip vermeyeceğini belirler. Bu öğe zorunludur.

Effect öğesi için geçerli değerler Allow ve Deny'dir.

Not

Bir izin ilkesi hem Allow hem de Deny içeriyorsa Deny önceliklidir.

Örnek:

"Effect": "Allow"

Action/NotAction

Bir ilke ifadesi Action veya NotAction öğelerinden birini içermelidir. Action, izin verilen veya reddedilen işlemleri belirtir. NotAction ise ilkeden muaf tutulan işlemleri tanımlar.

Action/NotAction öğesi için geçerli değerler, cloud hizmeti tarafından tanımlanan API işlem adlarıdır.

Action/NotAction öğesinin biçimi <ram-code>:<action-name> şeklindedir.

Action/NotAction öğesinin değeri genellikle büyük/küçük harfe duyarlı değildir. Ancak tutarlı davranış sağlamak amacıyla cloud hizmetinin yetkilendirme belgelerinde belirtilen <ram-code> ön ekini ve <action-name> değerini olduğu gibi kullanın.

Örnekler:

  • Action örneği

    "Action": [
      "oss:ListBuckets",
      "ecs:Describe*",
      "rds:Describe*"
    ]
  • Sıra bağımsızlığı

    Action dizisindeki öğelerin sırası yetkilendirme sonucunu etkilemez. Her işlem, dizideki konumundan bağımsız olarak ayrı ayrı değerlendirilir. Bu nedenle aşağıdaki iki gösterim eşdeğerdir:

    "Action": [
      "ecs:DescribeSecurityGroups",
      "ecs:DescribeInstances"
    ]
    "Action": [
      "ecs:DescribeInstances",
      "ecs:DescribeSecurityGroups"
    ]
  • NotAction örneği

    Aşağıdaki örnek, RAM dışındaki tüm işlemlere izin verir. İlke, izin verilen tüm işlemleri listelemek yerine yalnızca hariç tutulan işlemi (ram:*) belirtir; bu da ilke ifadesini daha kısa hale getirir. Ancak bu yaklaşım geniş kapsamlı izinler sağlar. Bu tür ilkeleri dikkatle kullanın ve beklenen davranışı sergilediklerinden emin olun.

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

Resource

Resource öğesi, ilkenin uygulandığı bir veya daha fazla nesneyi açıklar. Bu öğe kimlik tabanlı ilkelerde kullanılır ve zorunludur.

Resource öğesinin değeri, bir cloud hizmeti tarafından tanımlanan bir kaynağın ARN'idir (Aliyun Resource Name).

Resource öğesinin biçimi acs:<ram-code>:<region>:<account-id>:<relative-id> şeklindedir. Cloud hizmetinin yetkilendirme belgelerinde belirtilen ARN'i olduğu gibi kullanın.

Biçim aşağıdaki gibi açıklanır:

  • acs: Alibaba Cloud hizmetinin kısaltmasıdır. İsteğin Alibaba Cloud genel cloud platformunu hedeflediğini belirtir.

  • ram-code: Cloud hizmetinin RAM kodu. Daha fazla bilgi için bkz. RAM'i destekleyen Alibaba Cloud hizmetleri konusundaki RAM Code sütunu.

  • region: Bölge bilgisi. Bir bölge belirtmeden erişilebilen genel kaynaklar için yıldız işareti (*) kullanın. Daha fazla bilgi için bkz. Bölgeler ve kullanılabilirlik alanları.

  • account-id: Bir Alibaba Cloud hesabının kimliğidir. Örneğin, 123456789012****.

  • relative-id: ARN'in kaynağı tanımlayan ve semantiği belirli cloud hizmeti tarafından belirlenen kısmı. Bu kısım, bir dosya yoluna benzer şekilde ağaç benzeri bir yapıyı destekler. Örneğin, bir OSS nesnesini belirtmek için biçim relative-id = "mybucket/dir1/object1.jpg" şeklindedir.

Örnek:

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

Condition

Condition öğesi, bir ilkenin etkili olabilmesi için karşılanması gereken koşulları belirtir. Bu öğe isteğe bağlıdır.

Condition öğesi (koşul bloğu olarak da adlandırılır), bir veya daha fazla koşul cümlesinden oluşur. Her cümle bir koşul işlecini, bir koşul anahtarını ve bir veya daha fazla koşul değerini içerir.

条件块判断逻辑

Not

Condition öğesi isteğe bağlı olduğundan sistem bu öğenin varlığını doğrulamaz. Condition öğesini kullanarak koşullar belirtiyorsanız doğru yazım ve büyük/küçük harf kullanımından emin olun.

Bir koşul anahtarının adı (anahtar) büyük/küçük harfe duyarlıdır. Koşul değerinin (değer) büyük/küçük harfe duyarlı olup olmadığı kullandığınız koşul işlecine bağlıdır. Örneğin, dize türünde bir koşul anahtarı için StringEquals işlecini kullanırsanız ilkedeki değer istekteki değerle eşleşir ve bu eşleşme büyük/küçük harfe duyarlıdır. StringEqualsIgnoreCase işlecini kullanırsanız ilkedeki değer istekteki değerle eşleşir ancak büyük/küçük harf farkı göz ardı edilir.

Condition öğesi aşağıdaki özelliklere sahiptir:

  • Değerlendirme mantığı

    • İstekteki anahtar değeri, ilkedeki değerlerden herhangi biriyle eşleşirse koşul sağlanır (mantıksal OR).

    • Bir koşul cümlesi birden çok koşul anahtarı içeriyorsa cümlenin karşılanması için tüm anahtarların eşleşmesi gerekir (mantıksal AND).

    • Tüm koşul bloğunun karşılanması ancak tüm cümlelerin karşılanmasıyla mümkündür (mantıksal AND).

  • Koşul işleci türleri

    Koşul işleci türleri arasında String, Number, Date and time, Boolean ve IP address bulunur. Koşul işleçlerinin anlamları ve örnekleri için bkz. Koşul işleçleri.

  • Koşul anahtarları

    • Alibaba Cloud genel koşul anahtarları şu biçimi kullanır: acs:<condition-key>.

      Genel koşul anahtarı

      Tür

      Açıklama

      acs:CurrentTime

      Tarih ve saat

      Web sunucusunun isteği aldığı saat.

      Not

      UTC zamanını ISO 8601 standart biçiminde kullanın.

      Örneğin, Pekin saatiyle (UTC+8) 10 Ocak 2023 tarihinde saat 20:00, 2023-01-10T20:00:00+08:00 veya 2023-01-10T12:00:00Z olarak temsil edilir.

      acs:SecureTransport

      Boolean

      İsteğin HTTPS gibi güvenli bir kanal üzerinden gönderilip gönderilmediğini belirtir.

      acs:SourceIp

      IP adresi

      İsteğin gönderildiği istemci IP adresi.

      Not

      acs:SourceIp değeri belirli bir IP adresi veya CIDR bloğu olabilir. Belirli bir IP adresini CIDR biçiminde yazmayın. Örneğin, 10.0.0.1 adresini 10.0.0.1/32 olarak yazmayın.

      acs:MFAPresent

      Boolean

      Kullanıcının çok faktörlü kimlik doğrulama (MFA) ile oturum açıp açmadığını belirtir.

      Not

      RAM kullanıcısının güvenlik ayarlarında MFA for RAM user sign-in seçeneği Required Only for Unusual Logon olarak ayarlanmışsa acs:MFAPresent koşulu etkisiz hale gelir. Daha fazla bilgi için bkz. RAM kullanıcısının güvenlik ayarlarını yönetme.

      acs:PrincipalARN

      String

      İstek sorumlusunun kimliği. Bu anahtar yalnızca Resource Directory'nin kontrol ilkelerinde ve RAM rollerinin güven ilkelerinde kullanılabilir. Örneğin, acs:ram:::role/resourcedirectory.

      Not

      Şu anda yalnızca bir RAM rolünün ARN'i desteklenir ve küçük harfle yazılmalıdır. RAM konsolunda bir RAM rolünün ayrıntılar sayfasında ARN'i bulabilirsiniz.

      acs:PrincipalRDId

      String

      İstek sorumlusunun cloud hesabının ait olduğu Resource Directory'nin kimliğidir; örneğin rd-AA****. Bir Resource Directory kimliğini görüntülemek için bkz. Kaynak dizininin temel bilgilerini görüntüleme.

      Bu anahtar yalnızca RAM rollerinin güven ilkelerinde ve OSS Paket İlkelerinde kullanılabilir.

      acs:PrincipalRDPath

      String

      İstek sorumlusunun cloud hesabının Resource Directory'deki yolu. Biçim genellikle <RD-Id>/<Root-folder-Id>/<Sub-folder-Id>/<Member-account-Id> şeklindedir; örneğin rd-AA**/r-aQ/fd-caiJfl/199386846043**. Bir üye hesabın tam RDPath değerini nasıl görüntüleyeceğiniz hakkında bilgi için bkz. Üye bilgilerini görüntüleme.

      Belirli bir RDPath altındaki tüm üye hesaplarla eşleşmek için StringLike koşul işleciyle birlikte joker karakterini kullanabilirsiniz. Örneğin, "Condition": {"StringLike": {"acs:PrincipalRDPath": ["<RD-Id>/<Root-folder-Id>/<Sub-folder-Id>"]}}.

      Bu anahtar yalnızca RAM rollerinin güven ilkelerinde ve OSS Paket İlkelerinde kullanılabilir.

      acs:RequestTag/<tag-key>

      String

      İstekte bulunan etiketler. <tag-key> yerine gerçek etiket anahtarınızı yazın. Desteklenen cloud hizmetleri ve kaynak türleri için bkz. Etiketleri destekleyen Alibaba Cloud hizmetleri konusundaki Authentication by Resource Type bilgileri.

      acs:ResourceTag/<tag-key>

      String

      İstenen kaynağa eklenen etiketler. <tag-key> yerine gerçek etiket anahtarınızı yazın. Desteklenen cloud hizmetleri ve kaynak türleri için bkz. Etiketleri destekleyen Alibaba Cloud hizmetleri konusundaki Authentication by Resource Type bilgileri.

    • Hizmete özel koşul anahtarları şu biçimi kullanır: <ram-code>:<condition-key>.

      Örneğin, OSS koşul anahtarı oss:Delimiter, ListObjects isteklerinde nesne adlarını bir karaktere göre gruplamak için kullanılır.

      Her bir cloud hizmetine özel koşul anahtarları için ilgili hizmetin yetkilendirme belgelerine bakın.

  • Koşul örnekleri

    Tek bir Condition bloğu içindeki koşul cümleleri (örneğin IpAddress ve Bool) mantıksal AND ile değerlendirilir. Mantıksal OR oluşturmak için her koşulu ayrı bir ilke ifadesine yerleştirin.

    Örnek 1: RAM kullanıcısı MFA'yı etkinleştirmişse ve isteği 203.0.113.2 IP adresinden yapıyorsa ECS örneklerine erişmesine izin verin.

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

    Örnek 2: RAM kullanıcısı MFA'yı etkinleştirmişse veya isteği 203.0.113.2 IP adresinden yapıyorsa ECS örneklerine erişmesine izin verin.

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

Referanslar