RAM'de belirli izinleri tanımlamak için izin ilkesi kullanırsınız. İzin ilkesi; Etki, Eylem/NotAction, Kaynak, Koşul ve Sorumlu gibi temel öğelerden oluşur.
Öğe | Açıklama |
Etki | İlke ifadesinin erişime izin verip vermeyeceğini belirtir. Geçerli değerler şunlardır:
|
Eylem/NotAction | Belirli bir kaynak üzerinde gerçekleştirilen işlem. Bir ilke ifadesinde Eylem veya NotAction öğelerinden birini belirtmeniz gerekir:
|
Kaynak | İlkenin uygulandığı belirli nesne veya nesneler. |
Koşul | Yetkilendirmenin geçerli olduğu koşullar. |
Sorumlu | Bir kaynağa erişimine izin verilen veya erişimi reddedilen varlık. Bu öğe yalnızca RAM rolünün güven ilkesi gibi kaynak tabanlı ilkeler için geçerlidir. |
Etki
Etki öğesi, bir ilkenin erişime izin verip vermeyeceğini belirtir. Bu öğe zorunludur.
Etki öğesi için geçerli değerler Allow ve Deny'dir.
Bir izin ilkesi hem Allow hem de Deny içeriyorsa Deny öncelik kazanır.
Örnek:
"Effect": "Allow"
Eylem/NotAction
Bir ilke ifadesi Eylem veya NotAction öğelerinden birini içermelidir. Eylem, izin verilen veya reddedilen işlemleri belirtir. NotAction ise ilkenin dışında tutulan işlemleri belirtir.
Eylem/NotAction öğesi için geçerli değerler cloud hizmeti tarafından tanımlanan API işlem adlarıdır.
Eylem/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 içindeki RAM Code sütunu.action-name: İlgili API işleminin adı.
Eylem/NotAction öğesinin değeri genellikle büyük/küçük harfe duyarlı değildir. Ancak tutarlı davranış sağlamak için cloud hizmetinin yetkilendirme belgelerinde belirtilen tam <ram-code> ön ekini ve <action-name> değerini kullanın.
Örnekler:
-
Eylem örneği
"Action": [ "oss:ListBuckets", "ecs:Describe*", "rds:Describe*" ] -
Sıra bağımsızlığı
Eylem dizisindeki öğelerin sırası yetkilendirme sonucunu etkilemez. Her eylem 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'deki işlemler hariç tüm işlemlere izin verir. İlke tüm izin verilen işlemler yerine yalnızca dışlanan işlemi (ram:*) listeler; bu da ilke ifadesini daha kısa hale getirir. Ancak bu durum geniş izinler sağlar. Bu yöntemi dikkatli kullanın ve ilkenin beklentiniz doğrultusunda davrandığından emin olun.
{ "Effect": "Allow", "NotAction": "ram:*", "Resource": "*" }
Kaynak
Kaynak öğesi ilkenin uygulandığı bir veya daha fazla nesneyi açıklar. Bu öğe kimlik tabanlı ilkelerde kullanılır ve zorunludur.
Kaynak öğesinin değeri bir cloud hizmeti tarafından tanımlanan bir kaynağın ARN'sidir (Aliyun Resource Name).
Kaynak öğesinin biçimi acs:<ram-code>:<region>:<account-id>:<relative-id> şeklindedir. Cloud hizmetinin yetkilendirme belgelerinde belirtilen tam ARN'yi kullanın.
Biçim aşağıda açıklandığı gibidir:
acs: Alibaba Cloud service kısaltmasıdır. İsteğin Alibaba Cloud genel cloud platformunu hedeflediğini belirtir.ram-code: Cloud hizmeti için RAM kodu. Daha fazla bilgi için bkz. RAM'i destekleyen Alibaba Cloud hizmetleri içindeki RAM Code sütunu.region: Bölge bilgisi. Belirli bir bölge belirtilmeden 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 ID'si. Örneğin123456789012****.relative-id: Anlamı belirli cloud hizmeti tarafından tanımlanan kaynağı açıklayan ARN bölümü. Bu bölüm dosya yoluna benzer şekilde ağaç yapısını 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/*"
]
Koşul
Koşul öğesi bir ilkenin geçerli olması için karşılanması gereken koşulları belirtir. Bu öğe isteğe bağlıdır.
Koşul bloğu olarak da adlandırılan Koşul öğesi bir veya daha fazla koşul yan tümcesinden oluşur. Her yan tümce bir koşul operatörü bir koşul anahtarı ve bir veya daha fazla koşul değeri içerir.

Koşul öğesi isteğe bağlı olduğundan sistem varlığını doğrulamaz. Koşul belirtmek için Koşul öğesini kullanıyorsanı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 operatörüne bağlıdır. Örneğin dize türündeki bir koşul anahtarı için StringEquals operatörünü kullanırsanız ilkedeki değeri istekteki değerle eşleştirir ve eşleşme büyük/küçük harfe duyarlıdır. StringEqualsIgnoreCase operatörünü kullanırsanız ilkedeki değeri istekteki değerle eşleştirir ancak büyük/küçük harfi yoksayar.
Koşul öğesi aşağıdaki özelliklere sahiptir:
-
Değerlendirme mantığı
İstekteki anahtarın değeri ilkedeki değerlerden herhangi biriyle eşleşirse koşul karşılanır (mantıksal VEYA).
Bir koşul yan tümcesi birden çok koşul anahtarı içeriyorsa yan tümcenin karşılanması için tüm anahtarların eşleşmesi gerekir (mantıksal VE).
Tüm koşul bloğu yalnızca tüm yan tümceleri karşılandığında karşılanır (mantıksal VE).
-
Koşul operatörü türleri
Koşul operatörü türleri arasında Dize Sayı Tarih ve saat Boole ve IP adresi bulunur. Koşul operatörlerinin anlamları ve örnekleri için bkz. Koşul operatörleri.
-
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ığı zaman.
NotISO 8601 standart biçiminde UTC saati kullanın.
Örneğin Pekin saatiyle (UTC+8) 10 Ocak 2023'te 20:00:00
2023-01-10T20:00:00+08:00veya2023-01-10T12:00:00Zolarak temsil edilir.acs:SecureTransportBoole
İ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'i 10.0.0.1/32 olarak yazmayın.acs:MFAPresentBoole
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 etkinliğini yitirir. Daha fazla bilgi için bkz. Bir RAM kullanıcısının güvenlik ayarlarını yönetme.acs:PrincipalARNDize
İstek sorumlusunun kimliği. Bu 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'si desteklenir ve küçük harfle yazılmalıdır. Bir RAM rolünün ARN'sini RAM konsolundaki ayrıntılar sayfasında bulabilirsiniz.
acs:PrincipalRDIdDize
İstek sorumlusunun cloud hesabının ait olduğu Resource Directory'nin ID'si örneğin
rd-AA****. Bir Resource Directory ID'sini görüntülemek için bkz. Bir kaynak dizininin temel bilgilerini görüntüleme.Bu yalnızca RAM rollerinin güven ilkelerinde ve OSS Paket İlkelerinde kullanılabilir.
acs:PrincipalRDPathDize
İ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 bilgisini nasıl görüntüleyeceğiniz hakkında bilgi için bkz. Bir üyenin bilgilerini görüntüleme.Belirtilen bir RDPath altındaki tüm üye hesaplarla eşleşmek için
joker karakteriniStringLikekoşul operatörüyle birlikte kullanabilirsiniz. Örneğin"Condition": {"StringLike": {"acs:PrincipalRDPath": ["<RD-Id>/<Root-folder-Id>/<Sub-folder-Id>"]}}.Bu yalnızca RAM rollerinin güven ilkelerinde ve OSS Paket İlkelerinde kullanılabilir.
acs:RequestTag/<tag-key>Dize
İstekte bulunan etiketler. <tag-key> değerini gerçek etiket anahtarınızla değiştirin. Desteklenen cloud hizmetleri ve kaynak türleri için bkz. Etiketleri destekleyen Alibaba Cloud hizmetleri içindeki Authentication by Resource Type bilgisi.
acs:ResourceTag/<tag-key>Dize
İstenen kaynağa eklenen etiketler. <tag-key> değerini gerçek etiket anahtarınızla değiştirin. Desteklenen cloud hizmetleri ve kaynak türleri için bkz. Etiketleri destekleyen Alibaba Cloud hizmetleri içindeki Authentication by Resource Type bilgisi.
-
Hizmete özel koşul anahtarları şu biçimi kullanır:
<ram-code>:<condition-key>.Örneğin OSS koşul anahtarı
oss:DelimiterListObjects isteklerinde nesne adlarını bir karaktere göre gruplandırmak için kullanılır.Her cloud hizmetine özel koşul anahtarları için ilgili hizmetin yetkilendirme belgelerine bakın.
-
-
Koşul örnekleri
Tek bir Koşul bloğu içindeki koşul yan tümceleri (IpAddress ve Bool gibi) mantıksal VE ile değerlendirilir. Mantıksal VEYA oluşturmak için her koşulu ayrı bir ilke ifadesine yerleştirin.
Örnek 1: Bir RAM kullanıcısının MFA'yı etkinleştirmesi ve isteği 203.0.113.2 IP adresinden yapması durumunda yalnızca 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: Bir RAM kullanıcısının MFA'yı etkinleştirmesi veya isteği 203.0.113.2 IP adresinden yapması durumunda 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" ] } } } ] }
Sorumlu
Kaynak tabanlı ilkelerde zorunlu olan Sorumlu öğesi bir kaynağa erişimine izin verilen veya erişimi reddedilen varlığı belirtir.
Kimlik tabanlı bir ilke Sorumlu öğesini kullanamaz. Kimlik tabanlı ilke bir RAM kimliğine (RAM kullanıcısı kullanıcı grubu veya RAM rolü) eklenen bir izin ilkesidir. İlkenin eklendiği kimlik örtük sorumludur.
Sorumlu öğesinde birden çok sorumlu türü ekleyebilir ve her tür için birden çok sorumlu belirtebilirsiniz. Birden çok sorumlu türünü virgülle (,) ayırın. Bir sorumlu türü birden çok değer içeriyorsa bunları köşeli parantez ([ ]) içine alın ve virgülle (,) ayırın. Birden çok sorumlu arasında VEYA ilişkisi vardır; bu belirtilen tüm sorumlulara izin verildiği anlamına gelir.
Aşağıda bir Sorumlu öğesi örneği verilmiştir:
"Principal": {
"RAM": [
"acs:ram::123456789012****:root",
"acs:ram::987654321098****:root"
],
"Service": "ecs.aliyuncs.com"
}
Sorumlu kimliği doğrulanmış bir varlıktır. Aşağıdaki türlerden biri olabilir:
-
Alibaba Cloud hesabı
Bir Alibaba Cloud hesabını sorumlu olarak belirtebilirsiniz. Bu o hesaptaki tüm RAM kullanıcılarına ve RAM rollerine izin verir. Bir Alibaba Cloud hesabı belirttiğinizde ARN'sini (
acs:ram::<account-id>:root) kullanmanız gerekir. Aşağıda bir örnek verilmiştir:"Principal": { "RAM": "acs:ram::123456789012****:root" }NotHesap ARN'sini (...:root) sorumlu olarak belirtmek belirli bir kullanıcı kimliği değil tüm hesaba güven duyulduğu anlamına gelir. Ardından izinler o hesap içinde devredilebilir.
-
RAM kullanıcısı
Bir RAM kullanıcısını sorumlu olarak belirtebilirsiniz. RAM kullanıcısının ARN'sini (
acs:ram::<account-id>:user/<user-name>) belirtmeniz gerekir; burada<user-name>RAM kullanıcısının adı olmalıdır. Aşağıda bir örnek verilmiştir:"Principal": { "RAM": [ "acs:ram::123456789012****:user/<user1-name>", "acs:ram::123456789012****:user/<user2-name>" ] }Sorumlu öğesinde bir RAM kullanıcısı belirttiğinizde kısmi eşleşme için joker karakter (*) kullanamazsınız. RAM kullanıcısının tam adını belirtmeniz gerekir.
ÖnemliBir RAM rolü güven ilkesinde
Principalöğesi bir RAM kullanıcısının ARN'sini içeriyorsa güven ilkesini kaydettiğinizde sistem bu ARN'yi bir ID'ye (örneğin 29695932303672****) dönüştürür. Genellikle bu ID'yi görmezsiniz. Yalnızca belirtilen RAM kullanıcısı silindiğinde güven ilkesinde görünür. Böyle bir durumda ID'yi kaldırabilir veya geçerli bir RAM kullanıcısının ARN'siyle değiştirebilirsiniz. Bu mekanizma güvenlik risklerini azaltmaya yardımcı olur. Ayrıca bir güven ilkesi oluştururken veya güncellerken<user-name>değerinin büyük/küçük harf durumu konusunda endişelenmenize gerek yoktur; sistem bunu otomatik olarak standart bir ARN'ye dönüştürür. -
RAM rolü
Bir RAM rolünü sorumlu olarak belirtebilirsiniz. RAM rolünün ARN'sini (
acs:ram::<account-id>:role/<role-name>) belirtmeniz gerekir; burada<role-name>RAM rolünün adı olmalıdır. Aşağıda bir örnek verilmiştir:"Principal": { "RAM": [ "acs:ram::123456789012****:role/<role-name>" ] }Sorumlu öğesinde bir RAM rolü belirttiğinizde kısmi eşleşme için joker karakter (*) kullanamazsınız. RAM rolünün tam adını belirtmeniz gerekir.
ÖnemliBir RAM rolü güven ilkesinde
Principalöğesi bir RAM rolünün ARN'sini içeriyorsa güven ilkesini kaydettiğinizde sistem bu ARN'yi bir ID'ye (örneğin 38915594982675****) dönüştürür. Genellikle bu ID'nin farkında olmazsınız. Yalnızca belirtilen RAM rolü silindiğinde güven ilkesinde görüntülenir. Böyle bir durumda ID'yi silebilir veya geçerli bir RAM rolünün ARN'siyle değiştirebilirsiniz. Bu mekanizma güvenlik risklerini azaltmaya yardımcı olur. Ayrıca bir güven ilkesi oluştururken veya güncellerken<role-name>değerinin büyük/küçük harf duyarlılığı konusunda endişelenmenize gerek yoktur. Sistem bunu otomatik olarak standart bir ARN'ye dönüştürür. -
Alibaba Cloud hizmeti
Bir Alibaba Cloud hizmetini sorumlu olarak belirtebilirsiniz. Hizmet sorumlusu genellikle
<service-name>.aliyuncs.combiçimini kullanan bir hizmet tanımlayıcısıdır.<service-name>değeri için cloud hizmeti tarafından sağlanan tam hizmet adını kullanın. Aşağıda bir örnek verilmiştir:"Principal": { "Service": [ "ecs.aliyuncs.com" ] } -
Kimlik sağlayıcı
Bir kimlik sağlayıcıyı sorumlu olarak belirtebilirsiniz. Kimlik sağlayıcının ARN'sini belirtmeniz gerekir. Alibaba Cloud SAML 2.0 ve OIDC tabanlı tek oturum açma (SSO) özelliğini destekler. SAML protokolünü kullanan bir SSO
acs:ram::<account-id>:saml-provider/<provider-name>biçiminde bir ARN'ye sahip olan bir SAML kimlik sağlayıcısı gerektirir. OIDC protokolünü kullanan bir SSOacs:ram::<account-id>:oidc-provider/<provider-name>biçiminde bir ARN'ye sahip olan bir OIDC kimlik sağlayıcısı gerektirir. Sorumlu öğesindeki ARN değeri büyük/küçük harfe duyarlıdır. Sistem tarafından sağlanan kimlik sağlayıcı için standart ARN bilgilerini kullanın."Principal": { "Federated": [ "acs:ram::123456789012****:saml-provider/<provider-name>" ] }