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:
|
|
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.
|
|
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.
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.
ram-code: Cloud hizmetinin RAM kodu. Daha fazla bilgi için bkz. RAM'i destekleyen Alibaba Cloud hizmetleri konusundaki RAM Code sütunu.action-name: İlgili API işleminin adı.
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çimrelative-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.

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:CurrentTimeTarih ve saat
Web sunucusunun isteği aldığı saat.
NotUTC 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:00veya2023-01-10T12:00:00Zolarak temsil edilir.acs:SecureTransportBoolean
İsteğin HTTPS gibi güvenli bir kanal üzerinden gönderilip gönderilmediğini belirtir.
acs:SourceIpIP adresi
İsteğin gönderildiği istemci IP adresi.
Notacs:SourceIpdeğ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:MFAPresentBoolean
Kullanıcının çok faktörlü kimlik doğrulama (MFA) ile oturum açıp açmadığını belirtir.
NotRAM 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:MFAPresentkoşulu etkisiz hale gelir. Daha fazla bilgi için bkz. RAM kullanıcısının güvenlik ayarlarını yönetme.acs:PrincipalARNString
İ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:PrincipalRDIdString
İ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:PrincipalRDPathString
İ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ğinrd-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
StringLikekoşul işleciyle birliktejoker 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
Erişim kontrolü ilkeleri, RAM izin ilkelerine benzer bir söz dizimi ve yapı izler. Bkz. İlke yapısı ve söz dizimi.