|
| 1 | +#Variables |
| 2 | +RESOURCE_GROUP="AKS-Loves-AzureAD" |
| 3 | +AKS_NAME="lemoncode-azuread" |
| 4 | +LOCATION="northeurope" |
| 5 | + |
| 6 | +# Crear un grupo de recursos |
| 7 | +az group create --name $RESOURCE_GROUP --location $LOCATION |
| 8 | + |
| 9 | +#Crear un cluster integrado con Azure AD |
| 10 | +az aks create -g $RESOURCE_GROUP -n $AKS_NAME --enable-aad |
| 11 | + |
| 12 | +#Recuperar las credenciales de administrador para acceder al cluster |
| 13 | +az aks get-credentials --resource-group $RESOURCE_GROUP --name $AKS_NAME --admin |
| 14 | + |
| 15 | +#Comprueba que puedes acceder a los recursos del cluster |
| 16 | +kubectl get nodes |
| 17 | + |
| 18 | +### Escenario 1: Soy Gisela y quiero tener permisos de administrador dentro del cluster |
| 19 | +kubectl apply -f 04-cloud/00-aks/04-azure-active-directory/manifests/cluster-role-binding.yaml |
| 20 | +az aks get-credentials --resource-group $RESOURCE_GROUP --name $AKS_NAME --overwrite-existing |
| 21 | + |
| 22 | +#Ahora pruebo con un usario que no tiene credenciales de admin total |
| 23 | +kubectl get pods #ESTO NO VA |
| 24 | + |
| 25 | +#Para que un usuario pueda interactuar con el clúster debemos asignar el Id del grupo de Azure AD al que pertenece al role |
| 26 | +#Estos son los ids de todos los grupos de mi directorio activo: |
| 27 | +az ad group list -o table |
| 28 | +#Almaceno el id del grupo llamado Stark |
| 29 | +GROUP_ID=$(az ad group show --group Stark --query objectId -o tsv) |
| 30 | + |
| 31 | +#Recupero también el ID del clúster de AKS |
| 32 | +AKS_ID=$(az aks show -g ${RESOURCE_GROUP} -n ${AKS_NAME} --query id -o tsv) |
| 33 | + |
| 34 | +#Asigno el grupo al rol "Azure Kubernetes Service Cluster User Role" en este cluster, porque no todos los grupos de Azure AD tienen por qué tener acceso a mi clúster |
| 35 | +az role assignment create \ |
| 36 | + --assignee $GROUP_ID \ |
| 37 | + --role "Azure Kubernetes Service Cluster User Role" \ |
| 38 | + --scope $AKS_ID |
| 39 | + |
| 40 | +#Hago lo mismo con los Lanisters |
| 41 | +GROUP_TWO_ID=$(az ad group show --group Lannister --query objectId -o tsv) |
| 42 | + |
| 43 | +#De nuevo, asigno el grupo al rol "Azure Kubernetes Service Cluster User Role" en este cluster, porque no todos los grupos de Azure AD tienen por qué tener acceso a mi clúster |
| 44 | +az role assignment create \ |
| 45 | + --assignee $GROUP_TWO_ID \ |
| 46 | + --role "Azure Kubernetes Service Cluster User Role" \ |
| 47 | + --scope $AKS_ID |
| 48 | + |
| 49 | +#Si lo ves desde el portal tendríamos que tener estos dos grupos asignados a este rol en el cluster. |
| 50 | + |
| 51 | +# Namespace para los Stark # |
| 52 | + |
| 53 | +#Ahora vamos a crear dos namespaces como admin |
| 54 | +az aks get-credentials --resource-group $RESOURCE_GROUP --name $AKS_NAME --admin |
| 55 | + |
| 56 | +#Creamos el role |
| 57 | +kubectl apply -f 04-cloud/00-aks/04-azure-active-directory/manifests/role-the-north-remembers-ns.yaml |
| 58 | +#Hacemos la asociación del role a un grupo, en este caso los Stark |
| 59 | +kubectl apply -f 04-cloud/00-aks/04-azure-active-directory/manifests/ns-the-north-remembers-and-role-binding.yml |
| 60 | + |
| 61 | +# Namespace para los Lanister # |
| 62 | + |
| 63 | + |
0 commit comments