Microservices Engine (MSE) sistem ilkeleri gereksinimlerinizi karşılayamıyorsa en az ayrıcalık ilkesini uygulamak üzere özel ilkeler oluşturabilirsiniz. Özel ilkeler, izinler üzerinde ayrıntılı denetim uygulamanıza ve kaynak erişim güvenliğini artırmanıza olanak tanır. Bu konuda MSE için özel ilkelerin nasıl kullanılacağı açıklanmakta ve özel ilke örnekleri sunulmaktadır.
Özel ilke nedir?
Resource Access Management (RAM) ilkeleri sistem ilkeleri ve özel ilkeler olarak sınıflandırılır. İş gereksinimlerinize göre özel ilkeleri yönetebilirsiniz.
Bir özel ilke oluşturduktan sonra bu ilkeyi bir RAM kullanıcısına, RAM kullanıcı grubuna veya RAM rolüne eklemeniz gerekir. Böylece ilke içinde belirtilen izinler asıl kimliğe atanmış olur.
Herhangi bir asıl kimliğe eklenmemiş bir RAM ilkesini silebilirsiniz. İlke bir asıl kimliğe eklenmişse silme işleminden önce ilkeyi ilgili asıl kimlikten ayırmanız gerekir.
Özel ilkeler sürüm kontrolünü destekler. RAM tarafından sağlanan sürüm yönetimi mekanizmasını kullanarak özel ilke sürümlerini yönetebilirsiniz.
İlgili Konular
Görsel düzenleyici sekmesinde özel ilke oluşturma
Yönetici haklarına sahip bir RAM kullanıcısı olarak RAM konsolunda oturum açın.
Sol gezinme bölmesinde seçeneğini belirleyin.
Policies sayfasında Create Policy öğesine tıklayın.
Create Policy sayfasında Visual editor sekmesine tıklayın.
-
İlkeyi yapılandırın.
Effect bölümünde Allow veya Deny seçeneğini belirleyin.
-
Service bölümünde bir Alibaba Cloud hizmetini seçin.
NotHizmet bölümünde seçebileceğiniz Alibaba Cloud hizmetleri listelenir.
-
Actions bölümünde All action(s) veya Select action(s) seçeneğini belirleyin.
Sistem Hizmet bölümünde seçtiğiniz Alibaba Cloud hizmetine göre yapılandırılabilecek eylemleri görüntüler. Select action(s) seçeneğini belirlerseniz eylem seçmeniz gerekir.
-
Resources bölümünde All Resources veya Specified resource(s) seçeneğini belirleyin.
Sistem Eylem bölümünde seçtiğiniz eylemlere göre yapılandırılabilecek kaynakları görüntüler. Specified resource(s) seçeneğini belirlerseniz bir veya daha fazla Alibaba Cloud Kaynak Adı (ARN) yapılandırmak için Add resource öğesine tıklamanız gerekir. Ayrıca seçtiğiniz her eylem için tüm kaynakları seçmek amacıyla Match all öğesine de tıklayabilirsiniz.
NotBir eylem için gereken kaynak ARN'leri Required etiketiyle işaretlenir. Özel ilkenin beklendiği gibi etkili olması için Required etiketli kaynak ARN'lerini yapılandırmanızı önemle tavsiye ederiz.
-
Condition bölümünde koşulları yapılandırmak için Add Condition öğesine tıklayın.
Koşullar Alibaba Cloud genel koşulları ve hizmete özel koşullardan oluşur. Sistem seçtiğiniz Alibaba Cloud hizmeti ve eylemlere göre yapılandırılabilecek koşulları görüntüler. Yalnızca bir koşul anahtarı seçip Operatör ve Değer parametrelerini ayarlamanız yeterlidir.
Birden çok özel ilke ifadesi yapılandırmak için Add statement öğesine tıklayın ve önceki adımları tekrarlayın.
-
Özel ilke içeriğini kontrol edin ve optimize edin.
-
Temel optimizasyon
Sistem ilke ifadesini otomatik olarak optimize eder. Temel optimizasyon sırasında sistem aşağıdaki işlemleri gerçekleştirir:
Gereksiz koşulları siler.
Gereksiz dizileri siler.
-
(İsteğe bağlı) Gelişmiş optimizasyon
Gelişmiş optimizasyon gerçekleştirmek için Optional: advanced optimize üzerine gelin ve Execute öğesine tıklayın. Gelişmiş optimizasyon aşağıdaki görevleri içerir:
Eylemlerle uyumsuz kaynakları veya koşulları ayırır.
Kaynakları daraltır.
İlke ifadelerini yinelenenlerden arındırır veya birleştirir.
-
İlke Name ve Remarks bilgilerini girin.
OK öğesine tıklayın.
Microservices Registry için yaygın özel ilke örnekleri
-
Belirli örneklerdeki hizmetler için bir kullanıcıya salt okuma izni verin.
{ "Version": "1", "Statement": [ { "Action": [ "mse:QueryNacosNaming" ], "Resource": [ "acs:mse:*:*:instance/${instanceId1}", "acs:mse:*:*:instance/${instanceId2}" ], "Effect": "Allow" } ] } -
Belirli örneklerdeki hizmetler için bir kullanıcıya okuma ve güncelleme izni verin.
{ "Version": "1", "Statement": [ { "Action": [ "mse:QueryNacosNaming", "mse:UpdateNacosNaming" ], "Resource": [ "acs:mse:*:*:instance/${instanceId1}", "acs:mse:*:*:instance/${instanceId2}" ], "Effect": "Allow" } ] }Not${instanceId1}ve${instanceId2}kayıt defteri örneklerinin kimliklerini temsil eder. -
Bir örneğin belirli bir ad alanındaki hizmetler için bir kullanıcıya salt okuma izni verin.
{ "Statement": [ { "Effect": "Allow", "Action": "mse:QueryNacosNaming", "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}" } ], "Version": "1" } -
Bir örneğin belirli bir ad alanında bulunan
${group}grubundaki hizmetler için bir kullanıcıya okuma ve güncelleme izni verin.{ "Statement": [ { "Effect": "Allow", "Action": [ "mse:QueryNacosNaming", "mse:UpdateNacosNaming" ], "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}" } ], "Version": "1" } -
${group}grubundaki${serviceName}hizmeti için bir kullanıcıya salt okuma izni verin.{ "Statement": [ { "Effect": "Allow", "Action": "mse:QueryNacosNaming", "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}/naming/${serviceName}" } ], "Version": "1" } -
${group}grubundaki${serviceName}hizmeti için bir kullanıcıya okuma ve güncelleme izni verin.{ "Statement": [ { "Effect": "Allow", "Action": [ "mse:QueryNacosNaming", "mse:UpdateNacosNaming" ], "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}/naming/${serviceName}" } ], "Version": "1" }
Microservices Governance için yaygın özel ilke örnekleri
Tüm uygulamalara salt okuma erişimi
Bu ilkeyi uygulama durumunu ve ölçümlerini izlemesi gereken ancak herhangi bir yapılandırmayı değiştirmemesi gereken ekip üyelerine atayın.
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"mse:QueryNamespace",
"mse:GetApplicationListWithMetircs",
"mse:ListNamespaces",
"mse:GetEventFilterOptions",
"mse:ListEventRecords",
"mse:GetEventDetail",
"mse:FetchLogConfig",
"mse:QueryBusinessLocations",
"mse:GetApplicationInstanceList",
"mse:listGrayTag",
"mse:QueryServiceDetailWithMetrics",
"mse:GetEventDetail",
"mse:ListEventsPage",
"mse:ListEventsByType",
"mse:GetApplicationTagList"
],
"Resource": "acs:mse:*:*:*"
},
{
"Effect": "Allow",
"Action": "mse:GetApplicationList",
"Resource": "acs:mse:*:*:namespace/${ns}"
}
]
}
Belirli bir uygulamaya tam erişim
Bu ilkeyi kendi uygulamasını yöneten ancak başkalarının uygulamalarını değiştirmemesi gereken uygulama sahiplerine atayın. İlke tek bir uygulama için tam izinleri diğer her şeye yönelik salt okuma erişimiyle birleştirir.
İlke üç ifadeden oluşur:
İfade 1: Hedef uygulamaya kapsamlı tam izinler (
mse:*).İfade 2-3: Konsol gezintisi için tüm uygulamalara salt okuma erişimi.
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "mse:*",
"Resource": "acs:mse:*:*:namespace/${ns}/application/${appName}"
},
{
"Effect": "Allow",
"Action": [
"mse:QueryNamespace",
"mse:GetApplicationListWithMetircs",
"mse:ListNamespaces",
"mse:GetEventFilterOptions",
"mse:ListEventRecords",
"mse:GetEventDetail",
"mse:FetchLogConfig",
"mse:QueryBusinessLocations",
"mse:GetApplicationInstanceList",
"mse:listGrayTag",
"mse:QueryServiceDetailWithMetrics",
"mse:GetEventDetail",
"mse:ListEventsPage",
"mse:ListEventsByType",
"mse:GetApplicationTagList"
],
"Resource": "acs:mse:*:*:*"
},
{
"Effect": "Allow",
"Action": "mse:GetApplicationList",
"Resource": "acs:mse:*:*:namespace/${ns}"
}
]
}
Belirli bir ad alanına tam erişim
Bu ilkeyi test ortamındaki tüm uygulamaları yöneten ancak üretim kaynaklarına erişmemesi gereken testçilere atayın.
İlke üç ifadeden oluşur:
İfade 1: Hedef ad alanındaki tüm uygulamalar için tam izinler.
İfade 2: Uygulama listeleri trafik şeridi yapılandırmaları yetkilendirme ilkeleri ve hizmet listeleri dahil olmak üzere konsol genelindeki kaynaklara salt okuma erişimi.
İfade 3: Uygulama listeleme ve trafik şeridi yönetimi için ad alanı düzeyinde izinler.
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "mse:*",
"Resource": "acs:mse:*:*:namespace/${ns}/application/*"
},
{
"Effect": "Allow",
"Action": [
"mse:QueryNamespace",
"mse:GetApplicationListWithMetircs",
"mse:ListNamespaces",
"mse:GetEventFilterOptions",
"mse:ListEventRecords",
"mse:GetEventDetail",
"mse:FetchLogConfig",
"mse:QueryBusinessLocations",
"mse:GetApplicationInstanceList",
"mse:listGrayTag",
"mse:QueryServiceDetailWithMetrics",
"mse:GetEventDetail",
"mse:ListEventsPage",
"mse:ListEventsByType",
"mse:GetApplicationTagList",
"mse:QueryAllSwimmingLaneGroup",
"mse:QueryAllSwimmingLane",
"mse:ListAppBySwimmingLaneGroupTags",
"mse:ListAppBySwimmingLaneGroupTag",
"mse:QuerySwimmingLaneById",
"mse:GetTagsBySwimmingLaneGroupId",
"mse:ListSwimmingLaneGateway",
"mse:ListSwimmingLaneGatewayRoute",
"mse:ListAuthPolicy",
"mse:GetServiceList",
"mse:GetServiceListPage"
],
"Resource": "acs:mse:*:*:*"
},
{
"Effect": "Allow",
"Action": [
"mse:GetApplicationList",
"mse:CreateOrUpdateSwimmingLaneGroup",
"mse:CreateOrUpdateSwimmingLane",
"mse:DeleteSwimmingLaneGroup",
"mse:DeleteSwimmingLaneGroup",
"mse:DeleteSwimmingLane"
],
"Resource": "acs:mse:*:*:namespace/${ns}"
}
]
}
Cloud-native Gateway için ilke örnekleri
Bir kullanıcıya veya role tüm kaynaklar için izinler verme
Bir RAM kullanıcısına veya rolüne tüm cloud-native ağ geçitlerinde işlem izinleri vermek istiyorsanız aşağıdaki sistem ilkelerini ilgili RAM kullanıcısına veya rolüne ekleyebilirsiniz:
Salt okuma izni: AliyunMSEReadOnlyAccess
Okuma ve yazma izinleri: AliyunMSEFullAccess
Bir kullanıcıya veya role belirli ağ geçidi kaynakları için izinler verme
Bir RAM kullanıcısına veya rolüne belirli bir ağ geçidinde işlem izinleri vermek istiyorsanız ilgili RAM kullanıcısına veya rolüne kaynak düzeyinde izinler verebilirsiniz.
-
Örnek 1: gw-8090caa2a3ab447a8bc5fdf3**** adlı cloud-native ağ geçidi için bir RAM kullanıcısına salt okuma izni verin.
{ "Version": "1", "Statement": [ { "Action": [ "mse:Query*", "mse:List*", "mse:Get*", "mse:Select*", "mse:Pull*", "mse:GatewayBlackWhite*", "mse:GatewayHealthCheckList", "mse:GatewayQueryMonitor", "mse:UploadWasmFile" ], "Resource": "acs:mse:*:*:instance/gw-8090caa2a3ab447a8bc5fdf3********", "Effect": "Allow" }, { "Action": [ "mse:QueryDefaultAlertStatus", "mse:ListGatewayZone", "mse:ListUpgradableGatewayVersions", "mse:ListTagResources", "mse:ListGatewayIngressMigrateTask", "mse:ListEventRecords", "mse:GetEventFilterOptions", "mse:GetEventDetail", "mse:GetGatewaySelection", "mse:GetGatewayAlarms", "mse:GetGatewayMigrateNamespacedServices", "mse:GetGatewayIngressMigrateTaskDetail", "mse:GetPluginGuide", "mse:GetRegExpCheck", "mse:GetRegExpTest", "mse:CheckPluginLua" ], "Resource": "acs:mse:*:*:*", "Effect": "Allow" }, { "Action": [ "log:DescribeService", "log:ListProject", "log:GetProductDataCollection" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "arms:SearchContactGroup" ], "Resource": "*", "Effect": "Allow" } ] } -
Örnek 2: gw-8090caa2a3ab447a8bc5fdf3**** adlı cloud-native ağ geçidi için bir RAM kullanıcısına okuma ve yazma izinleri verin.
{ "Version": "1", "Statement": [ { "Action": [ "mse:*" ], "Resource": "acs:mse:*:*:instance/gw-8090caa2a3ab447a8bc5fdf3********", "Effect": "Allow" }, { "Action": [ "mse:QueryDefaultAlertStatus", "mse:CreateDefaultAlert", "mse:ListGatewayZone", "mse:ListUpgradableGatewayVersions", "mse:ListEventRecords", "mse:GetEventFilterOptions", "mse:GetEventDetail", "mse:GetGatewaySelection", "mse:GetGatewayAlarms", "mse:GetGatewayMigrateNamespacedServices", "mse:GetPluginGuide", "mse:GetRegExpCheck", "mse:GetRegExpTest", "mse:CheckPluginLua", "mse:*TagResources", "mse:*CustomPlugin", "mse:*GatewayIngressMigrateTask*" ], "Resource": "acs:mse:*:*:*", "Effect": "Allow" }, { "Action": [ "log:DescribeService", "log:ListProject", "log:GetProductDataCollection", "log:OpenProductDataCollection" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "arms:SearchContactGroup" ], "Resource": "*", "Effect": "Allow" } ] }
Kullanım notları
Yukarıdaki izinler yalnızca MSE konsolunda gerekli işlemleri gerçekleştirmenize olanak tanır. Cloud-native ağ geçitlerinin belirli yetenekleri diğer cloud hizmetlerine bağlıdır. RAM kullanıcınızın veya rolünüzün cloud-native ağ geçitlerinin tüm özelliklerini kullanabilmesi için diğer cloud hizmetlerinin izin yapılandırma belgelerine göre izinleri yapılandırabilirsiniz. Aşağıdaki tabloda cloud-native ağ geçitlerinin bağımlı olduğu cloud hizmetleri ile ilgili cloud-native ağ geçidi modülleri arasındaki eşlemeler açıklanmaktadır.
Alibaba Cloud hizmeti | Cloud-native ağ geçidi modülü | İlgili Konular |
Simple Log Service |
| |
ARMS |
|