Visión general de los permisos de RBAC
Las funciones de acceso al servicio IAM se corresponden con el control de acceso basado en funciones (RBAC) de Kubernetes dentro de los clústeres de IBM Cloud Kubernetes Service. Los roles de RBAC y los roles de clúster definen un conjunto de permisos para determinar la forma en que los usuarios pueden interactuar con los recursos de Kubernetes en el clúster.
Con IAM de IBM Cloud, puedes gestionar automáticamente el RBAC desde IBM Cloud, asignando a los usuarios roles de acceso al servicio IAM. Es posible que desee tener una comprensión más detallada de RBAC para personalizar el acceso a los recursos dentro del clúster, como las cuentas de servicio.
- Los roles de IBM Cloud IAM no se pueden asignar a una cuenta de servicio. En lugar de ello, puede asignar roles RBAC a las cuentas de servicio directamente.
- Los usuarios deben ejecutar el mandato
ibmcloud ks cluster configpara que se apliquen sus cambios de rol.
¿Cuáles son los tipos de roles de RBAC?
- El ámbito de un rol de Kubernetes se limita a los recursos de un determinado espacio de nombres, como un despliegue o un servicio.
- El ámbito de un rol de clúster de Kubernetes se limita a los recursos a nivel de clúster como, por ejemplo, nodos de trabajador, o bien a los recursos del espacio de nombres que pueden encontrarse en cada espacio de nombres como, por ejemplo, pods.
¿Qué son los enlaces de roles RBAC y los enlaces de roles de clúster?
Los enlaces de rol aplican los roles RBAC o los roles de clúster a un espacio de nombres específico. Cuando utiliza un enlace de rol para aplicar un rol, asigna a un usuario acceso a un recurso específico en un espacio de nombres específico. Cuando utiliza un enlace de rol para aplicar un rol de clúster, asigna a un usuario acceso a los recursos del ámbito de un espacio de nombres que se encuentran en cada espacio de nombres, como pods, pero solo dentro de un espacio de nombres específico.
Los enlaces de rol de clúster aplican roles de clúster RBAC a todos los espacios de nombres del clúster. Cuando utiliza un enlace de rol de clúster para aplicar un rol de clúster, da a un usuario acceso a los recursos del clúster, como nodos trabajadores, o a los recursos del ámbito del espacio de nombres en cada espacio de nombres, como pods.
¿Cómo se ven estos roles en mi clúster?
Si desea que los usuarios puedan interactuar con recursos de Kubernetes desde dentro de un clúster, debe asignar acceso de usuario a uno o más espacios de nombres mediante los roles de acceso al servicio de IBM Cloud IAM. A cada usuario que tenga asignado un rol de acceso al servicio se le asigna automáticamente un rol de clúster de RBAC correspondiente. Estos roles de clúster RBAC están predefinidos y permiten a los usuarios interactuar con los recursos de Kubernetes del clúster. Además, se crea un enlace de rol para aplicar el rol de clúster a un espacio de nombres específico, o se crea un enlace de rol de clúster para aplicar el rol de clúster a todos los espacios de nombres.
Para obtener más información sobre las acciones permitidas por cada rol de RBAC, consulta el tema de referencia «Roles de acceso al servicio IAM de IBM Cloud ». Para ver los permisos que otorga cada rol de RBAC a recursos de Kubernetes individuales, consulte Permisos de recursos de Kubernetes por rol de RBAC.
¿Puedo crear roles personalizados o roles de clúster?
Si está creando sus propias políticas RBAC personalizadas, asegúrese de que no edita los enlaces de rol de IBM existentes que están en el clúster, o cree enlaces de rol personalizados con el mismo nombre que los enlaces de IBM existentes. Los cambios que realice en los enlaces de rol RBAC proporcionados por IBMno se conservan en las actualizaciones.
Los roles de clúster view, edit, admin y cluster-admin son roles predefinidos que se crean automáticamente cuando asigna a un usuario el correspondiente rol de acceso al servicio de IBM Cloud
IAM. Para otorgar otros permisos de Kubernetes, puede crear permisos RBAC personalizados. Los roles RBAC personalizados se suman a los roles RBAC que puedas tener con los roles de acceso al servicio, sin modificarlos ni
anularlos. Nota: para crear permisos RBAC personalizados, debe disponer del rol de acceso al servicio IAM Manager o del rol de administrador de la plataforma, que le otorga el rol RBAC Kubernetescluster-admin.
Sin embargo, los demás usuarios no necesitan un rol de acceso de servicio de IAM si gestiona sus propios roles de RBAC personalizados de Kubernetes.
¿Cuándo necesito utilizar enlaces de rol de clúster personalizados y enlaces de rol?
Es posible que desee autorizar quién puede crear y actualizar los pods en el clúster. Con las políticas de seguridad de pods (PSP), puede utilizar los enlaces de roles de clúster existentes que vienen con su clúster o crear los suyos propios.
Es posible que también desee integrar complementos en el clúster. Por ejemplo, al configurar Helm en tu clúster.
Creación de permisos RBAC personalizados para usuarios, grupos o cuentas de servicio
Los roles de clúster view, edit, admin y cluster-admin se crean automáticamente cuando asigna el correspondiente rol de acceso al servicio de IBM Cloud IAM. ¿Necesita que las políticas de acceso
de clúster sean más granulares de lo que permiten estos permisos predefinidos? No hay ningún problema. Puede crear roles de clúster y roles RBAC personalizados.
Puede asignar roles RBAC y roles de clúster personalizados a usuarios individuales, grupos de usuarios o cuentas de servicio. Cuando se crea un enlace para un grupo, este afecta a cualquier usuario que se añada o se elimine de dicho grupo. Cuando añade usuarios a un grupo, reciben los derechos de acceso del grupo además de los derechos de acceso individuales que les otorgue. Si se elimina, su acceso se revoca. Ten en cuenta que no se pueden añadir cuentas de servicio a los grupos de acceso.
Si desea asignar acceso a un proceso de contenedor que se ejecuta en pods, como una cadena de herramientas de entrega continua, puede utilizar KubernetesServiceAccounts. Para seguir un tutorial que muestra cómo configurar cuentas de servicio para Travis y Jenkins y cómo asignar roles RBAC personalizados a dichas cuentas, consulta la entrada del blog
Kubernetes para ServiceAccounts su uso en sistemas automatizados.
Para evitar cambios de última hora, no cambie los roles de clúster predefinidos de view, edit, admin y cluster-admin. Los roles RBAC personalizados se suman a los roles RBAC que puedas tener
con los roles de acceso al servicio IAM de IBM Cloud, sin modificarlos ni anularlos.
-
Acceso a espacios de nombres: Para permitir que un usuario, un grupo de acceso o una cuenta de servicio acceda a un recurso dentro de un espacio de nombres específico, elija una de las combinaciones siguientes:
- Cree un rol y aplíquelo con un enlace de rol. Esta opción resulta útil para controlar el acceso a un recurso exclusivo que solo existe en un espacio de nombres, como un despliegue de app.
- Cree un rol de clúster y aplíquelo con un enlace de rol. Esta opción resulta útil para controlar el acceso a recursos generales de un espacio de nombres, como pods.
-
Acceso a clúster: Para permitir que un usuario o un grupo de acceso acceda a los recursos de todo el clúster o a los recursos de clúster de todos los espacios de nombres, cree un rol de clúster y aplíquelo con un enlace de rol de clúster. Esta opción resulta útil para controlar el acceso a recursos que no se circunscriben a espacios de nombres, como nodos trabajadores, o a recursos de todos los espacios de nombres de su clúster, como los pods de cada espacio de nombres.
-
Asegúrese de que dispone de la función de acceso al servicio Administrador de IAM para todos los espacios de nombres o de la función Administrador de la plataforma.
-
Para asignar acceso a usuarios individuales o a usuarios de un grupo de acceso, asegúrate de que al usuario o al grupo se le haya asignado al menos un rol de acceso a la plataforma IAM en el nivel de servicio IBM Cloud Kubernetes Service.
Para crear permisos RBAC personalizados,
-
Cree un archivo
.yamlsimilar al siguiente para definirroleocluster role.kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: namespace: default name: my_role rules: - apiGroups: [""] resources: ["pods"] verbs: ["get", "watch", "list"] - apiGroups: ["apps", "extensions"] resources: ["daemonsets", "deployments"] verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]Comprender los parámetros YAML Parámetro Descripción kindUtilice Rolepara otorgar acceso a los recursos dentro de un espacio de nombres específico. UtiliceClusterRolepara otorgar acceso a los recursos de todo el clúster, como nodos trabajadores, o a recursos del ámbito del espacio de nombres, como pods de todos los espacios de nombres.metadata.namespaceSolo para el tipo Role: especifique el espacio de nombres de Kubernetes al que se otorga acceso.rules.apiGroupsEspecifica los grupos de API de Kubernetes con los que quieres que los usuarios puedan interactuar, como "apps","batch", o"extensions". Para acceder al grupo de API principal en la vía de acceso de RESTapi/v1, deje el grupo en blanco:[""].rules.resourcesEspecifica los tipos de recursos de Kubernetes a los que deseas conceder acceso, como "daemonsets","deployments","events", o"ingresses". Si especifica"nodes", entonces el tipo debe serClusterRole.rules.verbsEspecifique los tipos de acciones que desea que los usuarios puedan realizar, como "get","list","describe","create", o"delete". -
Cree el rol o rol de clúster en el clúster.
kubectl apply -f my_role.yaml -
Verifique que se ha creado el rol o rol de clúster.
- Rol:
kubectl get roles -n <namespace> ``` * Rol de clúster: ```sh {: pre} kubectl get clusterroles ``` -
Enlace usuarios al rol o rol de clúster creando un archivo
.yaml. Anote el URL exclusivo que se debe utilizar para el nombre de cada sujeto.kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: my_role_binding namespace: default subjects: - kind: User name: IAM#user1@example.com apiGroup: rbac.authorization.k8s.io - kind: Group name: team1 apiGroup: rbac.authorization.k8s.io - kind: ServiceAccount name: <service_account_name> namespace: <kubernetes_namespace> roleRef: kind: Role name: my_role apiGroup: rbac.authorization.k8s.ioComprender los parámetros YAML Parámetro Descripción kind- Especifique
RoleBindingpara unRoleoClusterRoleespecífico de espacio de nombres. - Especifique
ClusterRoleBindingpara unClusterRolede todo el clúster.
apiVersionUtilice rbac.authorization.k8s.io/v1.metadata.namespace- Para el tipo
RoleBinding: especifique el espacio de nombres de Kubernetes al que se otorga el acceso. - Para el tipo
ClusterRoleBinding: no utilice el camponamespace.
metadata.nameNombre el enlace de rol o del enlace de rol de clúster. subjects.kindEspecifique el tipo como una de las opciones siguientes:
User: enlace el rol de RBAC o de clúster con un usuario individual de la cuenta.Group: enlace el rol de RBAC o el rol de clúster con un Grupo de acceso de IBM Cloud IAM en su cuenta.ServiceAccount: enlace el rol de RBAC o el rol de clúster con una cuenta de servicio en un espacio de nombres del clúster.
subjects.nameUser: Añada la dirección de correo electrónico del usuario individual aIAM#de la siguiente manera:IAM#user@email.com.Group: Especifique el nombre del grupo de acceso IAM IBM Cloud en su cuenta.- Para
ServiceAccount: especifique el nombre de la cuenta de servicio.
subjects.apiGroupUseroGroup: Utilicerbac.authorization.k8s.io.- Para
ServiceAccount: no incluya este campo.
subjects.namespaceServiceAccountsolo: Especifica el nombre del espacio de nombres de Kubernetes en el que se ha implementado la cuenta de servicio.roleRef.kindEspecifique el mismo valor que el de kinden el archivo.yamlde roles:RoleoClusterRole.roleRef.nameEspecifique el nombre del archivo .yamlde roles.roleRef.apiGroupUtilice rbac.authorization.k8s.io. - Especifique
-
Cree el recurso de enlace de rol o de enlace de rol de clúster en el clúster.
kubectl apply -f my_role_binding.yaml -
Verifique que se ha creado el enlace.
kubectl get rolebinding -n <namespace> -
Opcional: Para imponer el mismo nivel de acceso de usuario en otros espacios de nombres, puede copiar los enlaces de rol para dichos roles o roles de clúster en otros espacios de nombres.
- Copie el enlace de rol de un espacio de nombres a otro espacio de nombres.
kubectl get rolebinding <role_binding_name> -o yaml | sed 's/<namespace_1>/<namespace_2>/g' | kubectl -n <namespace_2> create -f - ``` Por ejemplo, copie la vinculación de rol `custom-role` del espacio de nombres `default` al espacio de nombres `testns`. ```sh {: pre} kubectl get rolebinding custom-role -o yaml | sed 's/default/testns/g' | kubectl -n testns create -f - ``` 2. Verifique que se copia el enlace de rol. Si ha añadido un grupo de acceso de IBM Cloud IAM al enlace de rol, cada usuario de dicho grupo se añade individualmente, no como un ID de grupo de acceso. ```sh {: pre} kubectl get rolebinding -n <namespace_2> ```
Ahora que ha creado y enlazado un rol de RBAC o un rol de clúster de Kubernetes personalizado, siga con los usuarios. Pídales que prueben una acción que tengan permiso para realizar debido al rol, como suprimir un pod.
Ampliación de los permisos existentes mediante la agregación de roles de clúster
Puede ampliar los permisos existentes de los usuarios agregando roles de clúster o combinando roles de clúster con otros roles de clúster. Cuando asigna a un usuario un rol de acceso al servicio de IBM Cloud, el usuario se añade a un rol de clúster RBAC de Kubernetes correspondiente. No obstante, es posible que desee permitir que determinados usuarios realicen más operaciones.
Por ejemplo, un usuario con el rol de clúster admin con ámbito de espacio de nombres no puede utilizar el mandato kubectl top pods para ver las métricas de pod de todos los pods del espacio de nombres. Puede agregar
un rol de clúster para que los usuarios con el rol de clúster admin tengan autorización para ejecutar el mandato top pods. Para obtener más información, consulta la documentación de Kubernetes.
¿Cuáles son algunas de las operaciones habituales para las que podría querer ampliar los permisos de un rol de clúster predeterminado?
Revisa las operaciones que permite cada rol predeterminado de RBAC del clúster para hacerte una idea de lo que los usuarios pueden hacer y, a continuación, compara las operaciones permitidas con lo que quieres que puedan hacer.
Si los usuarios con el mismo rol de clúster encuentran errores similares al siguiente para el mismo tipo de operación, es posible que desee ampliar el rol de clúster para incluir esta operación.
Error from server (Forbidden): pods.metrics.k8s.io is forbidden: User "IAM#myname@example.com" can't list resource "pods" in API group "metrics.k8s.io" in the namespace "mynamespace"
Antes de empezar: Inicie una sesión en su cuenta. If applicable, target the appropriate resource group. Establezca el contexto para el clúster.
-
Cree un archivo YAML de rol de clúster. En la sección
labels, especifique el rol de clúster existente al que desea agregar permisos. En el ejemplo siguiente se amplía el rol de clústeradminpredefinido para permitir que los usuarios puedan ejecutarkubectl top pods. Para ver más ejemplos, consulta la documentación de Kubernetes.apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: view-pod-metrics labels: rbac.authorization.k8s.io/aggregate-to-admin: "true" rules: - apiGroups: - "metrics.k8s.io" resources: - pods verbs: - listComprender los parámetros YAML Parámetro Descripción metadata.nameEspecifique un nombre para el rol de clúster. No utilice los nombres de rol de clúster predefinidos: view,edit,adminycluster-admin.metadata.labelsAñada una etiqueta que coincida con el rol de clúster que desea agregar en el formato
rbac.authorization.k8s.io/aggregate-to-<cluster_role>: "true". Las etiquetas para los roles de clúster predefinidos son las siguientes.- Rol de acceso de servicio Gestor de IAM, cuyo ámbito es un espacio de nombres:
rbac.authorization.k8s.io/aggregate-to-admin: "true" - Rol de acceso de servicio Escritor de IAM:
rbac.authorization.k8s.io/aggregate-to-edit: "true" - Rol de acceso de servicio Lector de IAM:
rbac.authorization.k8s.io/aggregate-to-view: "true"
rules.apiGroupsEspecifica los grupos de API de Kubernetes con los que quieres que los usuarios puedan interactuar, como "apps","batch", o"extensions". Para acceder al grupo de API principal en la vía de acceso de RESTapi/v1, deje el grupo en blanco:[""].rules.resourcesEspecifica los tipos de recursos de Kubernetes a los que deseas conceder acceso, como "daemonsets","deployments","events", o"ingresses".rules.verbsEspecifique los tipos de acciones que desea que los usuarios puedan realizar, como "get","list","describe","create", o"delete". - Rol de acceso de servicio Gestor de IAM, cuyo ámbito es un espacio de nombres:
-
Cree el rol de clúster en el clúster. Cualquier usuario que tenga una vinculación de rol con el rol de clúster
admindispone ahora de los permisos adicionales del rol de clústerview-pod-metrics.kubectl apply -f <cluster_role_file.yaml> -
Siga a los usuarios que tienen el rol de clúster
admin. Solicite que renueven su configuración de clúster y pruebe una acción, como por ejemplo,kubectl top pods.
Comprobación de los roles de RBAC
Verifique el acceso al servicio de IAM sincronizado o RBAC personalizado a los roles de RBAC en el clúster de IBM Cloud Kubernetes Service.
Consulta de los roles RBAC desde la interfaz de usuario
-
Inicie sesión en la consola.
-
Pulse el clúster con los roles de RBAC que desee comprobar.
-
Pulse el Panel de control de Kubernetes.
Si solo tiene un clúster de red privada, es posible que no pueda abrir el panel de control a menos que esté en una VPN. Consulte Acceso a clústeres a través del punto final de servicio en la nube privado.
-
En la sección Clúster, revise los Enlaces de rol de clúster, Roles de clúster, Enlaces de rol y Roles.
Consulta de los roles RBAC desde la CLI
-
Compruebe que el usuario se ha añadido al rol de RBAC. Los usuarios no se añaden a un enlace de rol si tienen un permiso superior. Por ejemplo, si los usuarios tienen un rol de clúster y están en un enlace de rol de clúster, no se añaden también a cada uno de los enlaces de rol de espacio de nombres.
Debe ser un administrador de clúster para comprobar las vinculaciones de roles y las vinculaciones de roles de clúster. Los administradores de clúster tienen la función de acceso al servicio Gestor en todos los espacios de nombres o la función de acceso a la plataforma Administrador.
- Lector:
kubectl get rolebinding ibm-view -o yaml -n <namespace> ``` * Escritor: ```sh {: pre} kubectl get rolebinding ibm-edit -o yaml -n <namespace> ``` * Gestor, limitado a un espacio de nombres: ```sh {: pre} kubectl get rolebinding ibm-operate -o yaml -n <namespace> ``` * Gestor, todos los espacios de nombres: ```sh {: pre} kubectl get clusterrolebinding ibm-admin -o yaml ```
Salida de ejemplo
Si asigna al usuario user@email.com y al grupo de acceso team1 el rol de acceso de servicio de Lector (Reader) y luego ejecuta kubectl get rolebinding ibm-view -o yaml -n default, obtendrá
la siguiente salida de ejemplo.
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
creationTimestamp: 2018-05-23T14:34:24Z
name: ibm-view
namespace: default
resourceVersion: "8192510"
selfLink: /apis/rbac.authorization.k8s.io/v1/namespaces/default/rolebindings/ibm-view
uid: 63f62887-5e96-11e8-8a75-b229c11ba64a
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: view
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: User
name: IAM#user@email.com
- apiGroup: rbac.authorization.k8s.io
kind: group
name: team1
Roles de acceso al servicio de Kubernetes y roles RBAC correspondientes
En la tabla siguiente se muestran los permisos de recursos de Kubernetes que asigna cada rol de acceso al servicio y su rol de RBAC correspondiente.
| Rol de acceso de servicio | Rol de RBAC correspondiente, vinculación y ámbito | Permisos de recursos de Kubernetes |
|---|---|---|
| Rol de lector |
Cuando su ámbito se limita a un espacio de nombres: rol de clúster
|
|
| Rol de escritor | Cuando su ámbito se limita a un espacio de nombres: rol de clúster edit aplicado por el enlace de rol ibm-edit en ese espacio de nombres.
Cuando su ámbito se circunscribe a todos los espacios de nombres: rol de clúster |
|
| Rol de gestor | Cuando su ámbito se limita a un espacio de nombres: rol de clúster admin aplicado por el enlace de rol ibm-operate en ese espacio de nombres.
Cuando su ámbito se limita a todos los espacios de nombres: rol de clúster |
Cuando el ámbito se limita a un espacio de nombres:
|
Permisos de recursos de Kubernetes por rol de RBAC
A cada usuario que tiene asignado un rol de acceso al servicio de IBM Cloud IAM también se le asigna automáticamente un rol de control de acceso basado en rol (RBAC) de Kubernetes predefinido correspondiente. Si tiene intención de gestionar sus propios roles personalizados de RBAC de Kubernetes, consulte el apartado sobre Creación de permisos de RBAC personalizados para usuarios, grupos o cuentas de servicio. Para ver los detalles del nombre de usuario, consulte Detalles del emisor de IBM Cloud IAM para los usuarios de RBAC.
¿Se pregunta si tiene los permisos correctos para ejecutar un determinado mandato kubectl en un recurso de un espacio de nombres? Pruebe Mandato kubectl auth can-i.
En la tabla siguiente se muestran los permisos que otorga cada rol de RBAC a recursos de Kubernetes individuales. Los permisos se muestran indicando qué verbs acciones puede realizar un usuario con ese rol sobre el recurso, como
obtener, enumerar, describir, crear o eliminar.
| Recurso de Kubernetes | view |
edit |
admin y cluster-admin |
|---|---|---|---|
bindings |
get, list, watch | get, list, watch | get, list, watch solo cluster-admin: create, delete, update |
configmaps |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
cronjobs.batch |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
daemonsets.apps |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
daemonsets.extensions |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
deployments.apps |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
deployments.apps/rollback |
|
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
deployments.apps/scale |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
deployments.extensions |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
deployments.extensions/rollback |
|
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
deployments.extensions/scale |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
endpoints |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
events |
get, list, watch | get, list, watch | get, list, watch |
horizontalpodautoscalers.autoscaling |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
ingresses.extensions |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
jobs.batch |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
limitranges |
get, list, watch | get, list, watch | get, list, watch |
localsubjectaccessreviews |
|
|
create |
namespaces |
get, list, watch | get, list, watch | get, list, watch sólo cluster-admin: create, delete |
namespaces/status |
get, list, watch | get, list, watch | get, list, watch |
networkpolicies |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
networkpolicies.extensions |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
node |
Ninguna | Ninguna | admin con ámbito limitado a un espacio de nombres: Ninguno
|
persistentvolume |
Ninguna | Ninguna | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
persistentvolumeclaims |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
poddisruptionbudgets.policy |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
pods |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, top aplicar parches, actualizar, supervisar |
pods/attach |
|
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
pods/exec |
|
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
pods/log |
get, list, watch | get, list, watch | get, list, watch |
pods/portforward |
|
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
pods/proxy |
|
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
pods/status |
get, list, watch | get, list, watch | get, list, watch |
replicasets.apps |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
replicasets.apps/scale |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
replicasets.extensions |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
replicasets.extensions/scale |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
replicationcontrollers |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
replicationcontrollers/scale |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
replicationcontrollers/status |
get, list, watch | get, list, watch | get, list, watch |
replicationcontrollers.extensions/scale |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
resourcequotas |
get, list, watch | get, list, watch | get, list, watch |
resourcequotas/status |
get, list, watch | get, list, watch | get, list, watch |
rolebindings |
|
|
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
roles |
|
|
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
secrets |
|
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
serviceaccounts |
get, list, watch | crear, eliminar, deletecollection, obtener, listar, aplicar parches, actualizar, supervisar, impersonate |
crear, eliminar, deletecollection, obtener, listar, aplicar parches, actualizar, supervisar, impersonate |
services |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
services/proxy |
|
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
statefulsets.apps |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
statefulsets.apps/scale |
get, list, watch | crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
crear, eliminar, obtener deletecollection, listar, aplicar parches, actualizar, supervisar |
Detalles del emisor de IBM Cloud IAM para los usuarios de RBAC
Los usuarios con un rol de acceso al servicio a IBM Cloud Kubernetes Service en IAM reciben roles de usuario correspondientes en RBAC. Los detalles de usuario de RBAC incluyen un ID de emisor exclusivo, una reclamación
de identificador de asunto y un nombre de usuario de Kubernetes. Estos detalles varían con la versión de Kubernetes del clúster. Cuando se actualiza un clúster desde una versión anterior, los detalles se actualizan automáticamente. Los nombres
de usuario de RBAC llevan el prefijo IAM#. Para obtener más información sobre cómo funciona la autenticación de OpenID, consulta la documentación de Kubernetes.
Puede utilizar esta información si crea una herramienta de automatización dentro del clúster que se base en los detalles de usuario para autenticarse con el servidor de API de Kubernetes.
| Versión | Emisor | Reclamación | Mayúsculas/minúsculas* |
|---|---|---|---|
| Kubernetes | https://iam.cloud.ibm.com/identity |
realmed_sub_<account_ID> |
minúsculas |
*: Un ejemplo de minúsculas es user.name@company.com. Un ejemplo de bicapitalización es User.Name@company.com.