Administración del acceso a recursos de clúster mediante el control de acceso basado en roles de Kubernetes y las identidades de Azure Active Directory en Azure Kubernetes ServiceControl access to cluster resources using Kubernetes role-based access control and Azure Active Directory identities in Azure Kubernetes Service

Es posible configurar Azure Kubernetes Service (AKS) para que utilice Azure Active Directory (AD) para la autenticación de usuarios.Azure Kubernetes Service (AKS) can be configured to use Azure Active Directory (AD) for user authentication. En esta configuración, inicie sesión en un clúster de AKS mediante un token de autenticación de Azure AD.In this configuration, you sign in to an AKS cluster using an Azure AD authentication token. También puede configurar el control de acceso basado en roles de Kubernetes (RBAC de Kubernetes) para limitar el acceso a los recursos de clúster en función de la identidad de los usuarios o su pertenencia a un grupo.You can also configure Kubernetes role-based access control (Kubernetes RBAC) to limit access to cluster resources based a user's identity or group membership.

Este artículo muestra cómo usar la pertenencia a grupos de Azure AD para controlar el acceso a los espacios de nombres y los recursos de clúster con Kubernetes RBAC en un clúster de AKS.This article shows you how to use Azure AD group membership to control access to namespaces and cluster resources using Kubernetes RBAC in an AKS cluster. Los usuarios y grupos de ejemplo se crean en Azure AD y, a continuación, se crean roles y enlaces de roles en el clúster de AKS para conceder los permisos adecuados para crear y ver los recursos.Example groups and users are created in Azure AD, then Roles and RoleBindings are created in the AKS cluster to grant the appropriate permissions to create and view resources.

Antes de empezarBefore you begin

En este artículo se supone que ya tiene un clúster de AKS habilitado con integración de Azure AD.This article assumes that you have an existing AKS cluster enabled with Azure AD integration. Si necesita un clúster de AKS, consulte Integración de Azure Active Directory con AKS.If you need an AKS cluster, see Integrate Azure Active Directory with AKS.

Es preciso que esté instalada y configurada la versión 2.0.61 de la CLI de Azure u otra versión posterior.You need the Azure CLI version 2.0.61 or later installed and configured. Ejecute az --version para encontrar la versión.Run az --version to find the version. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.If you need to install or upgrade, see Install Azure CLI.

Creación de grupos de demostración en Azure ADCreate demo groups in Azure AD

En este artículo, vamos a crear dos roles de usuario que se pueden usar para mostrar cómo Kubernetes RBAC y Azure AD controlan el acceso a recursos de clúster.In this article, let's create two user roles that can be used to show how Kubernetes RBAC and Azure AD control access to cluster resources. Se usan los siguientes dos roles de ejemplo:The following two example roles are used:

  • Desarrollador de aplicacionesApplication developer
    • Un usuario denominado aksdev que forma parte del grupo appdev.A user named aksdev that is part of the appdev group.
  • Ingeniero encargado de garantizar la fiabilidad del sitio (SRE, por sus siglas en inglés)Site reliability engineer
    • Un usuario denominado akssre que forma parte del grupo opssre.A user named akssre that is part of the opssre group.

En entornos de producción, puede usar usuarios y grupos existentes dentro de un inquilino de Azure AD.In production environments, you can use existing users and groups within an Azure AD tenant.

En primer lugar, obtenga el identificador de recurso de clúster de AKS mediante el comando az aks show.First, get the resource ID of your AKS cluster using the az aks show command. Asigne el Id. de recurso a una variable denominada AKS_ID de manera que pueda hacer referencia a los comandos adicionales.Assign the resource ID to a variable named AKS_ID so that it can be referenced in additional commands.

AKS_ID=$(az aks show \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --query id -o tsv)

Cree el primer grupo de ejemplo en Azure AD para los desarrolladores de aplicaciones mediante el comando az ad group create.Create the first example group in Azure AD for the application developers using the az ad group create command. En el ejemplo siguiente se crea un grupo de recursos denominado appdev:The following example creates a group named appdev:

APPDEV_ID=$(az ad group create --display-name appdev --mail-nickname appdev --query objectId -o tsv)

Ahora, cree una asignación de roles de Azure para el grupo appdev con el comando az role assignment create.Now, create an Azure role assignment for the appdev group using the az role assignment create command. Esta asignación permite que cualquier miembro del grupo pueda usar kubectl para interactuar con un clúster de AKS a través de la concesión del rol de usuario de clúster de Azure Kubernetes Service.This assignment lets any member of the group use kubectl to interact with an AKS cluster by granting them the Azure Kubernetes Service Cluster User Role.

az role assignment create \
  --assignee $APPDEV_ID \
  --role "Azure Kubernetes Service Cluster User Role" \
  --scope $AKS_ID

Sugerencia

Si recibe un error como Principal 35bfec9328bd4d8d9b54dea6dac57b82 does not exist in the directory a5443dcd-cd0e-494d-a387-3039b419f0d5., espere unos segundos para que el id. de objeto del grupo de Azure AD se propague través del directorio. A continuación, pruebe el comando az role assignment create de nuevo.If you receive an error such as Principal 35bfec9328bd4d8d9b54dea6dac57b82 does not exist in the directory a5443dcd-cd0e-494d-a387-3039b419f0d5., wait a few seconds for the Azure AD group object ID to propagate through the directory then try the az role assignment create command again.

Cree un segundo grupo de ejemplo, en este caso para SRE, denominado opssre:Create a second example group, this one for SREs named opssre:

OPSSRE_ID=$(az ad group create --display-name opssre --mail-nickname opssre --query objectId -o tsv)

De nuevo, cree una asignación de rol de Azure para conceder a los miembros del grupo el rol de usuario de clúster de Azure Kubernetes Service:Again, create an Azure role assignment to grant members of the group the Azure Kubernetes Service Cluster User Role:

az role assignment create \
  --assignee $OPSSRE_ID \
  --role "Azure Kubernetes Service Cluster User Role" \
  --scope $AKS_ID

Creación de usuarios de demostración en Azure ADCreate demo users in Azure AD

Con dos grupos de ejemplo creados en Azure AD para nuestros desarrolladores de aplicaciones y SRE, ahora permite crear dos usuarios de ejemplo.With two example groups created in Azure AD for our application developers and SREs, now lets create two example users. Para probar la integración de RBAC de Kubernetes al final del artículo, inicie sesión en el clúster de AKS con estas cuentas.To test the Kubernetes RBAC integration at the end of the article, you sign in to the AKS cluster with these accounts.

Establezca el nombre principal de usuario (UPN) y la contraseña de los desarrolladores de aplicaciones.Set the user principal name (UPN) and password for the application developers. El comando siguiente le solicita un UPN y lo establece en AAD_DEV_UPN para su uso en un comando posterior (recuerde que los comandos de este artículo se incluyen en un shell de BASH).The following command prompts you for the UPN and sets it to AAD_DEV_UPN for use in a later command (remember that the commands in this article are entered into a BASH shell). El UPN debe incluir el nombre de dominio comprobado del inquilino, por ejemplo aksdev@contoso.com.The UPN must include the verified domain name of your tenant, for example aksdev@contoso.com.

echo "Please enter the UPN for application developers: " && read AAD_DEV_UPN

El siguiente comando le pide la contraseña y la establece en AAD_DEV_PW para su uso en un comando posterior.The following command prompts you for the password and sets it to AAD_DEV_PW for use in a later command.

echo "Please enter the secure password for application developers: " && read AAD_DEV_PW

Cree la primera cuenta de usuario en Azure AD mediante el comando az ad user create.Create the first user account in Azure AD using the az ad user create command.

En el ejemplo siguiente se crea un usuario con el nombre para mostrar AKS Dev y el UPN y la contraseña segura usando los valores de AAD_DEV_UPN y AAD_DEV_PW:The following example creates a user with the display name AKS Dev and the UPN and secure password using the values in AAD_DEV_UPN and AAD_DEV_PW:

AKSDEV_ID=$(az ad user create \
  --display-name "AKS Dev" \
  --user-principal-name $AAD_DEV_UPN \
  --password $AAD_DEV_PW \
  --query objectId -o tsv)

Ahora agregue el usuario al grupo appdev creado en la sección anterior mediante el comando az ad group member add:Now add the user to the appdev group created in the previous section using the az ad group member add command:

az ad group member add --group appdev --member-id $AKSDEV_ID

Establezca el UPN y la contraseña de SRE.Set the UPN and password for SREs. El comando siguiente le solicita un UPN y lo establece en AAD_SRE_UPN para su uso en un comando posterior (recuerde que los comandos de este artículo se incluyen en un shell de BASH).The following command prompts you for the UPN and sets it to AAD_SRE_UPN for use in a later command (remember that the commands in this article are entered into a BASH shell). El UPN debe incluir el nombre de dominio comprobado del inquilino, por ejemplo akssre@contoso.com.The UPN must include the verified domain name of your tenant, for example akssre@contoso.com.

echo "Please enter the UPN for SREs: " && read AAD_SRE_UPN

El siguiente comando le pide la contraseña y la establece en AAD_SRE_PW para su uso en un comando posterior.The following command prompts you for the password and sets it to AAD_SRE_PW for use in a later command.

echo "Please enter the secure password for SREs: " && read AAD_SRE_PW

Cree una nueva cuenta de usuario.Create a second user account. El siguiente ejemplo crea un usuario con el nombre para mostrar AKS SRE y el UPN y la contraseña segura utilizando los valores de AAD_SRE_UPN y AAD_SRE_PW:The following example creates a user with the display name AKS SRE and the UPN and secure password using the values in AAD_SRE_UPN and AAD_SRE_PW:

# Create a user for the SRE role
AKSSRE_ID=$(az ad user create \
  --display-name "AKS SRE" \
  --user-principal-name $AAD_SRE_UPN \
  --password $AAD_SRE_PW \
  --query objectId -o tsv)

# Add the user to the opssre Azure AD group
az ad group member add --group opssre --member-id $AKSSRE_ID

Creación de los recursos de clúster de AKS para desarrolladores de aplicacionesCreate the AKS cluster resources for app devs

Se han creado los usuarios y grupos de Azure AD.The Azure AD groups and users are now created. Además, se crearon asignaciones de roles de Azure para que los miembros del grupo se conecten a un clúster de AKS como un usuario normal.Azure role assignments were created for the group members to connect to an AKS cluster as a regular user. Ahora, vamos a configurar el clúster de AKS para permitir que estos grupos diferentes puedan obtener acceso a recursos específicos.Now, let's configure the AKS cluster to allow these different groups access to specific resources.

Primero, obtenga las credenciales de administrador del clúster mediante el comando az aks get-credentials.First, get the cluster admin credentials using the az aks get-credentials command. En una de las siguientes secciones, obtendrá las credenciales del clúster del usuario normal para ver el flujo de autenticación de Azure AD en acción.In one of the following sections, you get the regular user cluster credentials to see the Azure AD authentication flow in action.

az aks get-credentials --resource-group myResourceGroup --name myAKSCluster --admin

Cree un espacio de nombres en el clúster de AKS mediante el comando kubectl create namespace.Create a namespace in the AKS cluster using the kubectl create namespace command. En el siguiente ejemplo se crea un nuevo espacio de nombres, dev:The following example creates a namespace name dev:

kubectl create namespace dev

En Kubernetes, los roles definen los permisos que conceder los enlaces de roles los aplican a los usuarios o grupos deseados.In Kubernetes, Roles define the permissions to grant, and RoleBindings apply them to desired users or groups. Estas asignaciones se pueden aplicar a un espacio de nombres especificado o a todo el clúster.These assignments can be applied to a given namespace, or across the entire cluster. Para obtener más información, consulte Uso de la autorización de RBAC Kubernetes.For more information, see Using Kubernetes RBAC authorization.

En primer lugar, cree un rol para el espacio de nombres dev.First, create a Role for the dev namespace. Este rol concede permisos completos al espacio de nombres.This role grants full permissions to the namespace. En entornos de producción, puede especificar permisos más granulares para diferentes usuarios o grupos.In production environments, you can specify more granular permissions for different users or groups.

Cree un archivo denominado role-dev-namespace.yaml y pegue el siguiente manifiesto de YAML:Create a file named role-dev-namespace.yaml and paste the following YAML manifest:

kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: dev-user-full-access
  namespace: dev
rules:
- apiGroups: ["", "extensions", "apps"]
  resources: ["*"]
  verbs: ["*"]
- apiGroups: ["batch"]
  resources:
  - jobs
  - cronjobs
  verbs: ["*"]

Cree el rol mediante el comando kubectl apply y especifique el nombre de archivo del manifiesto de YAML:Create the Role using the kubectl apply command and specify the filename of your YAML manifest:

kubectl apply -f role-dev-namespace.yaml

A continuación, obtenga el Id. de recurso para el grupo appdev mediante el comando az ad group show.Next, get the resource ID for the appdev group using the az ad group show command. Este grupo se establece como el sujeto de un enlace de rol en el paso siguiente.This group is set as the subject of a RoleBinding in the next step.

az ad group show --group appdev --query objectId -o tsv

Ahora, cree un enlace de rol para que el grupo appdev use el rol creado anteriormente para el acceso de espacio de nombres.Now, create a RoleBinding for the appdev group to use the previously created Role for namespace access. Cree un archivo denominado rolebinding-dev-namespace.yaml y pegue el siguiente manifiesto de YAML.Create a file named rolebinding-dev-namespace.yaml and paste the following YAML manifest. En la última línea, reemplace groupObjectId por la salida del id. de objeto de grupo del comando anterior:On the last line, replace groupObjectId with the group object ID output from the previous command:

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: dev-user-access
  namespace: dev
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: dev-user-full-access
subjects:
- kind: Group
  namespace: dev
  name: groupObjectId

Cree el enlace de roles mediante el comando kubectl apply y especifique el nombre de archivo del manifiesto de YAML:Create the RoleBinding using the kubectl apply command and specify the filename of your YAML manifest:

kubectl apply -f rolebinding-dev-namespace.yaml

Creación de los recursos de clúster de AKS para SRECreate the AKS cluster resources for SREs

Ahora, repita los pasos anteriores para crear un espacio de nombres, el rol y el enlace de rol para los SRE.Now, repeat the previous steps to create a namespace, Role, and RoleBinding for the SREs.

En primer lugar, cree un espacio de nombres para sre con el comando kubectl create namespace:First, create a namespace for sre using the kubectl create namespace command:

kubectl create namespace sre

Cree un archivo denominado role-sre-namespace.yaml y pegue el siguiente manifiesto de YAML:Create a file named role-sre-namespace.yaml and paste the following YAML manifest:

kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: sre-user-full-access
  namespace: sre
rules:
- apiGroups: ["", "extensions", "apps"]
  resources: ["*"]
  verbs: ["*"]
- apiGroups: ["batch"]
  resources:
  - jobs
  - cronjobs
  verbs: ["*"]

Cree el rol mediante el comando kubectl apply y especifique el nombre de archivo del manifiesto de YAML:Create the Role using the kubectl apply command and specify the filename of your YAML manifest:

kubectl apply -f role-sre-namespace.yaml

Obtenga el identificador de recurso para el grupo opssre mediante el comando az ad group show:Get the resource ID for the opssre group using the az ad group show command:

az ad group show --group opssre --query objectId -o tsv

Cree un enlace de rol para que el grupo opssre use el rol creado anteriormente para el acceso de espacio de nombres.Create a RoleBinding for the opssre group to use the previously created Role for namespace access. Cree un archivo denominado rolebinding-sre-namespace.yaml y pegue el siguiente manifiesto de YAML.Create a file named rolebinding-sre-namespace.yaml and paste the following YAML manifest. En la última línea, reemplace groupObjectId por la salida del id. de objeto de grupo del comando anterior:On the last line, replace groupObjectId with the group object ID output from the previous command:

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: sre-user-access
  namespace: sre
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: sre-user-full-access
subjects:
- kind: Group
  namespace: sre
  name: groupObjectId

Cree el enlace de roles mediante el comando kubectl apply y especifique el nombre de archivo del manifiesto de YAML:Create the RoleBinding using the kubectl apply command and specify the filename of your YAML manifest:

kubectl apply -f rolebinding-sre-namespace.yaml

Interactuación con recursos de clúster con identidades de Azure ADInteract with cluster resources using Azure AD identities

Ahora, vamos a probar el trabajo de los permisos esperados cuando se crean y administran recursos en un clúster de AKS.Now, let's test the expected permissions work when you create and manage resources in an AKS cluster. En estos ejemplos, programe y vea los pods en el espacio de nombres asignados del usuario.In these examples, you schedule and view pods in the user's assigned namespace. A continuación, intente programar y ver los pods fuera del espacio de nombres asignado.Then, you try to schedule and view pods outside of the assigned namespace.

En primer lugar, restablezca el contexto kubeconfig mediante el comando az aks get-credentials.First, reset the kubeconfig context using the az aks get-credentials command. En una sección anterior, establezca el contexto con las credenciales de administrador de clúster.In a previous section, you set the context using the cluster admin credentials. El usuario administrador omite las solicitudes de inicio de sesión de Azure AD.The admin user bypasses Azure AD sign in prompts. Sin el parámetro --admin, se aplica el contexto de usuario que requiere que todas las solicitudes se autentiquen mediante Azure AD.Without the --admin parameter, the user context is applied that requires all requests to be authenticated using Azure AD.

az aks get-credentials --resource-group myResourceGroup --name myAKSCluster --overwrite-existing

Programación de un pod NGINX básico mediante el comando kubectl run en el espacio de nombres dev:Schedule a basic NGINX pod using the kubectl run command in the dev namespace:

kubectl run nginx-dev --image=mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine --namespace dev

Cuando se le solicite iniciar sesión, escriba las credenciales de su cuenta appdev@contoso.com personal creada al principio del artículo.As the sign in prompt, enter the credentials for your own appdev@contoso.com account created at the start of the article. Una vez que se haya iniciado sesión correctamente, el token de la cuenta se almacena en caché para futuros comandos kubectl.Once you are successfully signed in, the account token is cached for future kubectl commands. NGINX se programa correctamente, como se muestra en la siguiente salida de ejemplo:The NGINX is successfully schedule, as shown in the following example output:

$ kubectl run nginx-dev --image=mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine --namespace dev

To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code B24ZD6FP8 to authenticate.

pod/nginx-dev created

Ahora use el comando kubectl get pods para ver los pods en el espacio de nombres dev.Now use the kubectl get pods command to view pods in the dev namespace.

kubectl get pods --namespace dev

Como se muestra en la salida del ejemplo siguiente, el pod NGINX se está ejecutando correctamente:As shown in the following example output, the NGINX pod is successfully Running:

$ kubectl get pods --namespace dev

NAME        READY   STATUS    RESTARTS   AGE
nginx-dev   1/1     Running   0          4m

Creación y visualización de los recursos de clúster fuera del espacio de nombres asignadoCreate and view cluster resources outside of the assigned namespace

Ahora pruebe a ver los pods fuera del espacio de nombres dev.Now try to view pods outside of the dev namespace. Use el comando kubectl get pods de nuevo. Esta vez debería ver --all-namespaces así:Use the kubectl get pods command again, this time to see --all-namespaces as follows:

kubectl get pods --all-namespaces

La pertenencia a grupos del usuario no tiene un rol de Kubernetes que permita esta acción, como se muestra en la salida de ejemplo siguiente:The user's group membership does not have a Kubernetes Role that allows this action, as shown in the following example output:

$ kubectl get pods --all-namespaces

Error from server (Forbidden): pods is forbidden: User "aksdev@contoso.com" cannot list resource "pods" in API group "" at the cluster scope

De la misma manera, intente programar un pod en un espacio de nombres diferente, como el espacio de nombres sre.In the same way, try to schedule a pod in different namespace, such as the sre namespace. La pertenencia a grupos del usuario no es compatible con un rol y un enlace de rol de Kubernetes para conceder estos permisos, como se muestra en la salida de ejemplo siguiente:The user's group membership does not align with a Kubernetes Role and RoleBinding to grant these permissions, as shown in the following example output:

$ kubectl run nginx-dev --image=mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine --namespace sre

Error from server (Forbidden): pods is forbidden: User "aksdev@contoso.com" cannot create resource "pods" in API group "" in the namespace "sre"

Prueba del acceso de SRE a los recursos de clúster de AKSTest the SRE access to the AKS cluster resources

Para confirmar que la pertenencia a grupos de Azure AD y Kubernetes RBAC funcionan correctamente entre distintos usuarios y grupos, pruebe los comandos anteriores cuando inicie sesión como usuario opssre.To confirm that our Azure AD group membership and Kubernetes RBAC work correctly between different users and groups, try the previous commands when signed in as the opssre user.

Restablezca el contexto kubeconfig mediante el comando az aks get-credentials que borra el token de autenticación previamente almacenado en caché anteriormente para el usuario aksdev :Reset the kubeconfig context using the az aks get-credentials command that clears the previously cached authentication token for the aksdev user:

az aks get-credentials --resource-group myResourceGroup --name myAKSCluster --overwrite-existing

Intente programar y ver los pods en el espacio de nombres sre asignado.Try to schedule and view pods in the assigned sre namespace. Cuando se le solicite, inicie sesión con sus credenciales personales de opssre@contoso.com creadas al principio del artículo:When prompted, sign in with your own opssre@contoso.com credentials created at the start of the article:

kubectl run nginx-sre --image=mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine --namespace sre
kubectl get pods --namespace sre

Como se muestra en la siguiente salida de ejemplo, puede crear y ver los pods correctamente:As shown in the following example output, you can successfully create and view the pods:

$ kubectl run nginx-sre --image=mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine --namespace sre

To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code BM4RHP3FD to authenticate.

pod/nginx-sre created

$ kubectl get pods --namespace sre

NAME        READY   STATUS    RESTARTS   AGE
nginx-sre   1/1     Running   0

Ahora, pruebe ver o programar los pods fuera del espacio de nombres de SRE asignado:Now, try to view or schedule pods outside of assigned SRE namespace:

kubectl get pods --all-namespaces
kubectl run nginx-sre --image=mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine --namespace dev

No se pueden ejecutar estos comandos kubectl, como se muestra en la salida de ejemplo siguiente.These kubectl commands fail, as shown in the following example output. La pertenencia a grupos del usuario y el rol y los enlaces de roles de Kubernetes no conceden permisos para crear o administrar recursos en otros espacios de nombres:The user's group membership and Kubernetes Role and RoleBindings don't grant permissions to create or manager resources in other namespaces:

$ kubectl get pods --all-namespaces
Error from server (Forbidden): pods is forbidden: User "akssre@contoso.com" cannot list pods at the cluster scope

$ kubectl run nginx-sre --image=mcr.microsoft.com/oss/nginx/nginx:1.15.5-alpine --namespace dev
Error from server (Forbidden): pods is forbidden: User "akssre@contoso.com" cannot create pods in the namespace "dev"

Limpieza de recursosClean up resources

En este artículo, ha creado los recursos en el clúster de AKS y los usuarios y grupos en Azure AD.In this article, you created resources in the AKS cluster and users and groups in Azure AD. Para borrar todos estos recursos, ejecute el siguiente comando:To clean up all these resources, run the following commands:

# Get the admin kubeconfig context to delete the necessary cluster resources
az aks get-credentials --resource-group myResourceGroup --name myAKSCluster --admin

# Delete the dev and sre namespaces. This also deletes the pods, Roles, and RoleBindings
kubectl delete namespace dev
kubectl delete namespace sre

# Delete the Azure AD user accounts for aksdev and akssre
az ad user delete --upn-or-object-id $AKSDEV_ID
az ad user delete --upn-or-object-id $AKSSRE_ID

# Delete the Azure AD groups for appdev and opssre. This also deletes the Azure role assignments.
az ad group delete --group appdev
az ad group delete --group opssre

Pasos siguientesNext steps

Para obtener más información sobre cómo proteger los clústeres de Kubernetes, consulte Opciones de acceso e identificación para AKS.For more information about how to secure Kubernetes clusters, see Access and identity options for AKS).

Para ver procedimientos recomendados sobre el control de recursos e identidades, consulte Procedimientos recomendados para la autenticación y autorización en AKS.For best practices on identity and resource control, see Best practices for authentication and authorization in AKS.