Enterprise Distributed Application Service (EDAS) içinde yönetilen uygulamalar, farklı ekipler ve üyeler tarafından geliştirilip bakımı yapılan birden çok hizmet veya alt sistem içerebilir. EDAS, kimin hangi kaynaklar üzerinde hangi işlemleri yapabileceğini kontrol eden iki izin modeli sunar. Bu sayede uygulamaları, kaynakları ve verileri izole edebilir ve erişim kontrolü uygulayabilirsiniz.
İzin modelleri
EDAS aşağıdaki iki izin modelini destekler:
Resource Access Management (RAM) ilkeleri (önerilen): İnce taneli, ilke tabanlı erişim kontrolü sağlar. Her ilke, bir kullanıcının belirli kaynaklar üzerinde gerçekleştirebileceği özel eylemleri tanımlar. RAM ilkeleri en az ayrıcalık ilkesine uyar; joker karakterleri, koşullu ifadeleri ve birden çok ilkenin birleştirilmesini destekler.
EDAS tarafından tanımlanan izinler (eski): Kaba taneli, rol tabanlı erişim kontrolü sunar. İzinler, işlemler ve kaynakları birlikte gruplandırır; bu nedenle hangi işlemlerin hangi kaynaklara uygulanacağını bağımsız olarak kontrol edemezsiniz.
EDAS ve diğer Alibaba Cloud hizmetlerinin izinlerini tek bir sistemde yönetmek için RAM kullanmanızı öneririz. RAM tabanlı erişim kontrolünü ayarlama hakkında ayrıntılı bilgi için bkz. Genel Bakış.
Kuruluşunuz hala EDAS tarafından tanımlanan izinleri kullanıyorsa bkz. EDAS tarafından tanımlanan izinleri yönetme (önerilmez).
Erişimin değerlendirilmesi
Her iki izin modeli de birlikte bulunduğunda EDAS erişimi şu şekilde değerlendirir:
RAM kullanıcıları her zaman RAM ilkelerine tabidir. EDAS tarafından tanımlanan izinler uygulanmaz.
**AliyunEDASFullAccess ilkesine sahip alt hesaplar**, EDAS tarafından tanımlanan izinler yerine RAM ilkelerine tabidir.
EDAS tarafından tanımlanan izinlere sahip alt hesaplar, RAM kullanıcılarına geçiş yapana kadar EDAS tarafından tanımlanan izinleri kullanmaya devam eder.
EDAS tarafından tanımlanan izinlerle yönetilen alt hesapları RAM kullanıcılarına geçirmenizi öneririz. Geçiş yordamı için bkz. EDAS tarafından tanımlanan izinleri RAM ilkeleriyle değiştirme.
Bir alt hesaba verilen EDAS tarafından tanımlanan izinleri yönetmek için EDAS konsolunda oturum açın ve alt hesabın erişmesine izin verilen veya verilmeyen kaynakları belirtin. EDAS tarafından tanımlanan izinleri RAM ilkeleriyle değiştirdikten sonra alt hesaplara EDAS tarafından tanımlanan izinler atayamazsınız. Alt hesaplar RAM kullanıcılarına dönüştürülür. RAM kullanıcılarına EDAS üzerindeki izinleri RAM konsolundan vermelisiniz.
RAM ilkelerinin EDAS tarafından tanımlanan izinlerden daha iyi olmasının nedenleri
Daha ince taneli erişim kontrolü
EDAS tarafından tanımlanan izinlerde APP1 ve APP2 için dağıtma ve durdurma izinleri vermek, alt hesabın her iki uygulamayı da dağıtabileceği ve durdurabileceği anlamına gelir. Hangi işlemlerin hangi uygulamalara uygulanacağını ayıramazsınız.
RAM ilkeleri, işlemleri kaynaklardan ayırır. Örneğin, tek bir RAM kullanıcısı şunları alabilir:
APP1 ve APP2 için dağıtma izinleri
APP2 ve APP3 için durdurma izinleri
Bu durumda RAM kullanıcısı APP1 ve APP2'yi dağıtabilir ancak APP3'ü dağıtamaz. RAM kullanıcısı APP2 ve APP3'ü durdurabilir ancak APP1'i durduramaz.
| **EDAS tarafından tanımlanan izin** | **RAM ilkesi** |
|---|---|
![]() |
![]() |
| İzinler, işlemleri ve kaynakları birlikte gruplandırır. APP1 ve APP2 için dağıtma ve durdurma izinlerine sahip bir alt hesap, her iki işlemi de her iki uygulama üzerinde gerçekleştirebilir. | Her ilke deyimi, belirli işlemleri belirli kaynaklara bağlar. Dağıtma izinleri ve durdurma izinleri farklı uygulama kümelerini hedefler. |
Esnek ilke sözdizimi
RAM ilkeleri, EDAS tarafından tanımlanan izinlerde bulunmayan aşağıdaki özellikleri destekler:
Birden çok kaynağı aynı anda eşleştirmek için kaynak tanımlayıcılarında joker karakterler
Hassas kontrol sağlamak amacıyla tek bir ilke içinde Allow ve Deny deyimleri
Tek bir RAM kullanıcısına eklenen birden çok ilke
Bir ilkeyi tanımlamak için koşullu ifadeler
Örnek: Biri hariç tüm uygulamaları görüntüleme
Aşağıdaki ilke, bir RAM kullanıcısının ID'si 12345678 olan ve cn-beijing bölgesinde bulunan uygulama hariç tüm EDAS uygulamalarını görüntülemesine olanak tanır:
{
"Statement": [
{
"Action": [
"edas:ReadApplication"
],
"Effect": "Allow",
"Resource": ["acs:edas:*:*:namespace/*/application/*"]
},
{
"Action": [
"edas:ReadApplication"
],
"Effect": "Deny",
"Resource": ["acs:edas:cn-beijing:*:namespace/*/application/12345678"]
}
],
"Version": "1"
}
Bu ilke iki deyim içerir:
İlk deyim, etkiyi
Allowolarak ayarlar ve kaynak yolunda tüm ad alanlarındaki tüm uygulamaları eşleştirmek için bir joker karakter (*) kullanır. RAM kullanıcısı herhangi bir EDAS uygulamasını görüntüleyebilir.İkinci deyim,
cn-beijingbölgesindeki12345678uygulaması için etkiyiDenyolarak ayarlar.DenyifadesiAllowifadesinden öncelikli olduğu için RAM kullanıcısı bu uygulamayı görüntüleyemez.
Birleşik sonuç: RAM kullanıcısı 12345678 uygulaması hariç tüm uygulamaları görüntüleyebilir.
Koşullu ifadeler dahil olmak üzere tam ilke sözdizimi referansı için bkz. İlkelere Genel Bakış.
İzin eşleme referansı
EDAS tarafından tanımlanan izinler, RAM ilkelerine eşdeğer değildir ve doğrudan dönüştürülemez. Ancak EDAS tarafından tanımlanan izinleri RAM ilkeleriyle değiştirdiğinizde EDAS çoğu izni otomatik olarak devralabilir. Varsayılan olarak, bir alt hesabın EDAS kaynakları (uygulamalar ve kümeler gibi) üzerinde belirli bir işlemi gerçekleştirip gerçekleştiremeyeceğini tanımlayan izinler, ilgili RAM kullanıcısına aktarılır.
EDAS kaynakları hiyerarşik bir yapıda düzenlenir: ad alanı > küme/uygulama. RAM ilkelerindeki kaynak yolu bu hiyerarşiyi yansıtır. Örneğin, acs:edas:*:*:namespace/*/application/${applicationId} ifadesi herhangi bir ad alanındaki belirli bir uygulamayı hedefler.
Aşağıdaki tabloda her bir EDAS tarafından tanımlanan izin, RAM ilkesi karşılığıyla eşlenmiştir:
| EDAS tarafından tanımlanan izin | RAM eylemi | RAM kaynağı |
|---|---|---|
| Süper Yönetici (tam izinler) | edas:* | acs:edas:\:\:\* |
| Acting Alibaba Cloud account | edas:ManageSystem | acs:edas:\:\:\* |
| Sistem yönetimi - İşlem günlüklerini görüntüleme | edas:ReadOperationLog | acs:edas:\:\:\* |
| Uygulama yönetimi - Mikroservis ad alanlarını değiştirme | edas:ManageNamespace | acs:edas:\:\:namespace/${namespaceId} |
| Uygulama yönetimi - Mikroservis ad alanlarını sorgulama | edas:ReadNamespace | acs:edas:\:\:namespace/${namespaceId} |
| Kaynak yönetimi - Küme oluşturma | edas:CreateCluster | acs:edas:\:\:namespace/\* |
| Kaynak yönetimi - Kümeleri görüntüleme | edas:ReadCluster | acs:edas:\:\:namespace/\*/cluster/${clusterId} |
| Kaynak yönetimi - Kümeleri yönetme ve silme | edas:ReadCluster, edas:ManageCluster | acs:edas:\:\:namespace/\*/cluster/${clusterId} |
| Uygulama yönetimi - Uygulama oluşturma | edas:CreateApplication | acs:edas:\:\:namespace/\* |
| Uygulama yönetimi - Uygulamaları dağıtma, başlatma, yatay ölçeklendirme ve silme | edas:ManageApplication, edas:ReadApplication | acs:edas:\:\:namespace/\*/application/${applicationId} |
| Uygulama yönetimi - Uygulama bilgilerini görüntüleme | edas:ReadApplication | acs:edas:\:\:namespace/\*/application/${applicationId} |
| Uygulama yönetimi - Konteynerleri yapılandırma ve Java Sanal Makinesi (JVM) parametrelerini ayarlama | edas:ConfigApplication, edas:ReadApplication | acs:edas:\:\:namespace/\*/application/${applicationId} |
| Uygulama yönetimi - Günlük dizinlerini ayarlama | edas:ManageAppLog, edas:ReadApplication | acs:edas:\:\:namespace/\*/application/${applicationId} |
| Elastic Compute Service (ECS) kaynakları satın alma | edas:ECSPurchase | acs:edas:\:\:\* |
| Server Load Balancer (SLB) kaynakları satın alma | edas:SLBPurchase | acs:edas:\:\:\* |
| Log Service kaynakları satın alma | edas:SLSPurchase | acs:edas:\:\:\* |

