Aracılığıyla paylaş


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

  1. 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.
  2. 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 adminGroupObjectIdsbelirttiğ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ı kubeconfigayarlamanı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.

  1. ve RESOURCE_GROUP SUBSCRIPTION_ID değişkenlerini ayarlayınCLUSTER_NAME.

    CLUSTER_NAME="myNexusK8sCluster"
    RESOURCE_GROUP="myResourceGroup"
    SUBSCRIPTION_ID=<set the correct subscription_id>
    
  2. Yönetilen kaynak grubunu ile az sorgulama ve içinde depolama MANAGED_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)
    
  3. 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 &
    
  4. 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.

  1. Adlı viewvarsayı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.

  2. Oluşturma işleminde oluşturulan Microsoft Entra grubu nesne kimliğini not alın.

  3. 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.

  4. Rol bağlamasının başarıyla oluşturulduğunu doğrulayın.

    kubectl get clusterrolebinding nexus-read-only-users
    
  5. 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.