Azure Operatörü Nexus Kubernetes kümelerinde rol tabanlı erişim denetimi
Bu makalede, Microsoft Entra Id kullanarak Nexus Kubernetes kümelerine erişimi yönetme hakkında kapsamlı bir kılavuz sağlanır. Özellikle, kullanıcılara kuruluşunuzdaki rollerine veya sorumluluklarına göre izinler vermenizi sağlayan rol tabanlı erişim denetimine odaklanıyoruz.
Başlamadan önce
- Başlamak için, küme yöneticileriniz için bir Microsoft Entra grubu oluşturun ve bu gruba üye atayın. Microsoft Entra Id, her kullanıcı için izinleri tek tek yönetmek yerine gruba bir bütün olarak erişim izni verilmesini sağlar.
- Grup üyelerinin kümeyi yönetme izinlerini almalarını sağlamak için Nexus Kubernetes kümesini oluştururken 'adminGroupObjectIds' değeri olarak oluşturduğunuz grup kimliğini kullanın. Nexus Kubernetes kümesini oluşturma ve bunlara erişme yönergeleri için Hızlı Başlangıç kılavuzuna bakın.
Kümeye yönetici erişimi
Nexus, varsayılan Kubernetes rolü ve olarak adminGroupObjectIds
belirttiğiniz Microsoft Entra grupları ile bir Kubernetes kümesi rol cluster-admin
bağlaması oluşturur. Küme yöneticileri kümeye tam erişime sahiptir ve kümedeki tüm işlemleri gerçekleştirebilir. Küme yöneticileri, diğer kullanıcılara uygun Microsoft Entra grubuna atayarak da erişim izni verebilir.
Not
Nexus Kubernetes kümesi oluşturduğunuzda, Nexus otomatik olarak küme kaynaklarını depolamak için ayrılmış yönetilen bir kaynak grubu oluşturur. Bu grupta Arc bağlantılı küme kaynağı oluşturulur.
Kümenize erişmek için küme bağlantısını kubeconfig
ayarlamanız gerekir. İlgili Microsoft Entra varlığıyla Azure CLI'da oturum açtıktan sonra, kümeyi çevreleyen kubeconfig
güvenlik duvarının dışında bile her yerden iletişim kurmak için gerekli bilgileri alabilirsiniz.
ve
RESOURCE_GROUP
SUBSCRIPTION_ID
değişkenlerini ayarlayınCLUSTER_NAME
.CLUSTER_NAME="myNexusK8sCluster" RESOURCE_GROUP="myResourceGroup" SUBSCRIPTION_ID=<set the correct subscription_id>
Yönetilen kaynak grubunu ile
az
sorgulama ve içinde depolamaMANAGED_RESOURCE_GROUP
az account set -s $SUBSCRIPTION_ID MANAGED_RESOURCE_GROUP=$(az networkcloud kubernetescluster show -n $CLUSTER_NAME -g $RESOURCE_GROUP --output tsv --query managedResourceGroupConfiguration.name)
Aşağıdaki komut, belirtilen Nexus Kubernetes kümesi için Kubernetes API sunucusuna bağlanmanızı sağlayan bir connectedk8s ara sunucusu başlatır.
az connectedk8s proxy -n $CLUSTER_NAME -g $MANAGED_RESOURCE_GROUP &
Kümeye istek göndermek için kullanın
kubectl
:kubectl get pods -A
Şimdi kümeden tüm düğümlerin listesini içeren bir yanıt görmeniz gerekir.
Not
"MSI'ye bağlanmak için istemci proxy'sine erişim belirteci gönderilemedi" hata iletisini görürseniz Azure'da yeniden kimlik doğrulaması gerçekleştirmeniz az login
gerekebilir.
Rol tabanlı erişim denetimi
Yönetici olarak, Microsoft Entra grubu nesne kimliğiyle bir rol bağlaması oluşturarak kümeye rol tabanlı erişim denetimi sağlayabilirsiniz. Yalnızca 'görüntüleme' izinlerine ihtiyacı olan kullanıcılar için, bu kişileri 'görünüm' rolüne bağlı bir Microsoft Entra grubuna ekleyerek görevi gerçekleştirebilirsiniz.
Adlı
view
varsayılan Kubernetes rolüne başvurarak 'görüntüleme' erişimine ihtiyacı olan kullanıcılar için bir Microsoft Entra grubu oluşturun. Bu rol yalnızca bir örnektir ve gerekirse özel roller oluşturabilir ve bunları kullanabilirsiniz. Kubernetes'teki kullanıcıya yönelik roller hakkında daha fazla bilgi için Kubernetes roll tabanlı erişim rolleri sayfasındaki resmi belgelere bakabilirsiniz.Oluşturma işleminde oluşturulan Microsoft Entra grubu nesne kimliğini not alın.
Kubectl komutunu kullanarak 'görünüm' rolüyle bir clusterrolebinding oluşturun ve bunu Microsoft Entra grubuyla ilişkilendirin. öğesini Microsoft Entra grubunuzun nesne kimliğiyle değiştirin
AZURE_AD_GROUP_OBJECT_ID
.kubectl create clusterrolebinding nexus-read-only-users --clusterrole view --group=AZURE_AD_GROUP_OBJECT_ID
Bu komut, belirtilen Microsoft Entra grubunun üyelerine
view
rolü atayan adlınexus-read-only-users
bir küme rolü bağlaması oluşturur.Rol bağlamasının başarıyla oluşturulduğunu doğrulayın.
kubectl get clusterrolebinding nexus-read-only-users
Artık Microsoft Entra grubundaki kullanıcıların kümeye 'görüntüleme' erişimi vardır. Kaynakları görüntülemek için kullanarak
az connectedk8s proxy
kümeye erişebilirler, ancak herhangi bir değişiklik yapamazlar
Sonraki adımlar
Belirli izinlere sahip özel roller oluşturarak erişim denetiminde daha fazla ince ayar yapabilirsiniz. Bu rollerin oluşturulması Kubernetes yerel RoleBinding veya ClusterRoleBinding kaynaklarını içerir. Gereksinimlerinize göre daha fazla özel rol ve rol bağlaması oluşturmaya ilişkin ayrıntılı yönergeler için resmi Kubernetes belgelerine bakabilirsiniz.