Doce controles de permisos detallados de K8S
Un clúster K8S no sólo lo utilizan los administradores. Si es un desarrollo o una prueba, no puede tener permisos demasiado altos para evitar errores. En este momento, es necesario utilizar RBAC, un mecanismo de K8S, para una división detallada de permisos. Por ejemplo, para Zhang San, se puede configurar que las operaciones solo se puedan realizar en el espacio de nombres A y no en otros espacios de nombres.
Sitio web oficial: Usuarios de:
Para el grupo de usuarios llamado frontend-admins:
Ejemplo de RoleBinding: Para usuarios llamados alice@example.com:
Para todas las cuentas de servicio en el grupo "qa" en cualquier espacio de nombres:
Para todos los usuarios autenticados:
Para todos los usuarios:
ClusterRole predeterminado y ClusterRoleBinding predeterminado. Algunos ClusterRole predeterminados no comienzan con el sistema de prefijo:. Estos son roles de cara al usuario. Incluyen roles de superusuario (cluster-admin), roles otorgados en todo el clúster mediante ClusterRoleBinding (cluster-status) y roles otorgados dentro de un espacio de nombres específico mediante RoleBinding (admin, edit, view). ClusterRole orientado al usuario utiliza la agregación ClusterRole para permitir a los administradores agregar reglas en estos ClusterRole para recursos personalizados.
Si desea agregar reglas para administrar, editar o ver, puede crear un ClusterRole con una o más de las siguientes etiquetas:
Supongamos que hay dos ClusterRole, ClusterRoleA y ClusterRoleB, y ClusterRoleA tiene reglas establecidas y etiquetadas. , ClusterRoleB puede hacer referencia a la etiqueta de A, y ClusterRoleB completará automáticamente las reglas de ClusterRoleA
Ejemplo:
Verificación: cree sa y vea el secreto creado por sa. obtenga el token
Cree un clusterrolebinding llamado test-aggregation y autorice a clusterrole:test-aggregation a test-aggregation bajo el espacio de nombres SA:default
Inicie sesión para probar y descubra que hay no hay permiso, solo puedo iniciar sesión
Cree b-ClusterRole y agréguelo con a-ClusterRole
Verifique nuevamente y descubra que puede ver el espacio de nombres y el monitoreo de servicios
Pregunta:
p>1. Cree una función de clúster denominada implementación-clusterrole
a) Esta función de clúster solo permite la operación de creación de Deployment, Daemonset y Statefulset
2. En el nombre de Cree una cuenta de servicio denominada cicd-token en el espacio de nombres de app-team1 y vincule el permiso del rol de clúster creado en el paso anterior a la cuenta de servicio
Operación práctica:
Crear espacio de nombres y cuenta de servicio
Crear una función de clúster denominada implementación-clusterrole
Vincular permisos y ver
Editar una plantilla de implementación
Verificación: pase sa Inicie sesión en el panel con el token secreto creado, seleccione + en la esquina superior derecha, seleccione app-team1 para participar en la creación de prueba de yaml y finalmente tenga permiso para crearlo.
Inicie sesión en el panel mediante token
Finalmente verifique la implementación, se ha creado
División de permisos en la empresa:
2. Cree primero según las necesidades 2 usuarios dotbalo, dukuan (sa, el nodo de administración de tokens del secreto creado por Sa)
3. Hay 4 permisos según los requisitos, que son espacios de nombres de solo lectura , elimine el registro y ejecute el nombre del pod, vea el registro y luego cree un ClusterRole con cuatro permisos
4. Vincule el permiso de visualización del espacio de nombres global (clusterrolebinding)
5. Vincule el usuario dotbalo a los dos espacios de nombres predeterminados y permiso del sistema kube para ver los registros del pod (rolebinding)
6. Vincular al usuario dukuan para ejecutar los permisos de comando del pod de forma predeterminada y eliminar los permisos del Pod
1 Gráfico multiclúster de Kubernetes Introducción y uso de la herramienta de gestión Ratel
2. Gestión gráfica de los permisos multiinquilino de Kubernetes
.