Entendendo as permissões do RBAC

As funções de acesso ao serviço IAM correspondem ao controle de acesso baseado em funções (RBAC) d Kubernetes, dentro dos clusters d IBM Cloud Kubernetes Service. As funções RBAC e as funções de cluster definem um conjunto de permissões de como os usuários podem interagir com recursos do Kubernetes em seu cluster.

Com o IAM do IBM Cloud, você pode gerenciar automaticamente o RBAC a partir de IBM Cloud, atribuindo aos usuários funções de acesso ao serviço IAM. É possível que você queira entender melhor o uso do RBAC na customização do acesso para os recursos do cluster, como as contas de serviço.

  • As funções do IBM Cloud IAM não podem ser designadas a uma conta de serviço. Em vez disso, é possível designar funções RBAC a contas de serviço diretamente.
  • Os usuários devem executar o comando ibmcloud ks cluster config para que as mudanças de função entrem em vigor.

Quais são os tipos de funções do RBAC?

  • O escopo da função do Kubernetes é definido para recursos em um espaço de nomes específico, como uma implementação ou serviço.
  • O escopo da função de cluster do Kubernetes é definido para recursos em todo o cluster, como nós do trabalhador, ou para recursos com escopo definido para espaços de nomes que podem ser localizados em cada espaço de nomes, como pods.

O que são associações de funções RBAC e associações de funções em cluster?

As ligações de função aplicam funções RBAC ou funções de cluster a um namespace específico. Ao usar uma ligação de função para aplicar uma função, você fornece a um usuário acesso a um recurso específico em um namespace específico. Ao usar uma ligação de função para aplicar uma função de cluster, você fornece a um usuário acesso a recursos com escopo definido por namespace que podem ser localizados em cada namespace, como pods, mas somente dentro de um namespace específico.

As ligações de função de cluster aplicam funções de cluster RBAC a todos os namespaces no cluster. Ao usar uma ligação de função de cluster para aplicar uma função de cluster, você fornece a um usuário acesso a recursos em todo o cluster (como nós do trabalhador) ou a recursos com escopo definido por namespace em cada namespace, como pods.

Como são essas funções no meu cluster?

Para que os usuários possam interagir com os recursos do Kubernetes em um cluster, deve-se designar o acesso de usuário a um ou mais espaços de nomes por meio de funções de acesso de serviço do IBM Cloud IAM. Cada usuário que é designado a uma função de acesso de serviço é automaticamente designado a uma função de cluster RBAC correspondente. Essas funções de cluster RBAC são predefinidas e permitem que os usuários interajam com recursos do Kubernetes em seu cluster. Além disso, uma ligação de função é criada para aplicar a função de cluster a um namespace específico ou uma ligação de função de cluster é criada para aplicar a função de cluster a todos os namespaces.

Para saber mais sobre as ações permitidas por cada função RBAC, consulte o tópico de referência “Funções de acesso ao serviço IAM do IBM Cloud ”. Para ver as permissões que são concedidas por cada função RBAC para recursos individuais do Kubernetes, efetue o registro de saída de Permissões de recurso do Kubernetes por função RBAC.

Posso criar funções personalizadas ou funções de cluster?

Se você estiver fazendo suas próprias políticas RBAC customizadas, certifique-se de não editar as ligações de função IBM existentes que estão no cluster ou criar ligações de função customizadas com o mesmo nome das ligações IBM existentes. As mudanças feitas nas ligações de função RBAC fornecidas pela IBMnão são retidas nas atualizações.

As funções de cluster view, edit, admin e cluster-admin são funções predefinidas que são criadas automaticamente quando você designa a um usuário a função de acesso ao serviço IBM Cloud IAM correspondente. Para conceder outras permissões do Kubernetes, é possível criar permissões customizadas de RBAC. As funções RBAC personalizadas são complementares e não alteram nem substituem quaisquer funções RBAC que você possa ter com funções de acesso a serviços. Observação: para criar permissões RBAC personalizadas, é necessário ter a função de acesso ao serviço IAM Manager ou a função de administrador da plataforma, que concede a função RBAC “ cluster-admin ” ( Kubernetes ). No entanto, os outros usuários não precisarão de uma função de acesso de serviço do IAM se você gerenciar suas próprias funções RBAC customizadas do Kubernetes.

Quando preciso usar ligações de função de cluster personalizadas e ligações de funções?

Você pode desejar autorizar quem pode criar e atualizar os pods em seu cluster. Com as políticas de segurança de pods (PSPs), você pode usar as associações de funções de cluster existentes que vêm com o seu cluster ou criar as suas próprias.

Você também pode desejar integrar complementos a seu cluster. Por exemplo, ao configurar o Helm no seu cluster.

Criando permissões customizadas de RBAC para usuários, grupos ou contas de serviço

As funções de cluster view, edit, admin e cluster-admin são criadas automaticamente quando você designa a função de acesso ao serviço IBM Cloud IAM correspondente. Você precisa que suas políticas de acesso do cluster sejam mais granulares do que essas permissões predefinidas permitem? Sem problemas! É possível criar funções RBAC customizadas e funções de cluster.

É possível designar funções de RBAC customizadas e funções de cluster para usuários individuais, grupos de usuários ou contas de serviço. Quando uma ligação é criada para um grupo, ela afeta qualquer usuário que é incluído ou removido desse grupo. Quando você inclui usuários em um grupo, eles obtêm os direitos de acesso do grupo, além de quaisquer direitos de acesso individuais concedidos a eles. Se ele for removido, seu acesso será revogado. Observe que não é possível adicionar contas de serviço a grupos de acesso.

Se você quiser atribuir acesso a um processo de contêiner que é executado em pods, como uma cadeia de ferramentas de entrega contínua, pode usar Kubernetes ServiceAccounts. Para seguir um tutorial que demonstre como configurar contas de serviço para Travis e Jenkins e designar funções RBAC customizadas para as contas de serviço, consulte a postagem do blog ServiceAccounts do Kubernetes para uso em sistemas automatizados.

Para evitar mudanças drásticas, não altere as funções de cluster predefinidas view, edit, admin e cluster-admin. As funções RBAC personalizadas são complementares e não alteram nem substituem quaisquer funções RBAC que você possa ter com as funções de acesso ao serviço IAM d IBM Cloud.

  • Acesso ao namespace: para permitir que um usuário, um grupo de acesso ou uma conta de serviço acesse um recurso dentro de um namespace específico, escolha uma das combinações a seguir:

    • Criar uma função e aplicá-la a uma ligação de função. Essa opção é útil para controlar o acesso a um recurso exclusivo que existe somente em um namespace, como uma implementação de app.
    • Criar uma função de cluster e aplicá-la a uma ligação de função. Essa opção é útil para controlar o acesso a recursos gerais em um namespace, como os pods.
  • Acesso a todo o cluster: para permitir que um usuário ou um grupo de acesso acesse recursos em todo o cluster ou em todos os namespaces, crie uma função de cluster e aplique-a com uma ligação de função de cluster. Essa opção é útil para controlar o acesso a recursos que não estão com escopo definido para namespace (como nós do trabalhador) ou recursos em todos os namespaces em seu cluster (como os pods em cada namespace).

  • Efetue login na sua conta. If applicable, target the appropriate resource group. Configure o contexto para o seu cluster.

  • Certifique-se de que você tenha a função de acesso ao serviço Manager IAM para todos os namespaces ou a função de plataforma Administrator.

  • Para atribuir acesso a usuários individuais ou a usuários de um grupo de acesso, certifique-se de que o usuário ou grupo tenha recebido pelo menos uma função de acesso à plataforma IAM no nível do serviço IBM Cloud Kubernetes Service.

Para criar permissões RBAC customizadas.

  1. Crie um arquivo .yaml semelhante ao seguinte para definir role ou cluster 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"]
    
    Entendendo os parâmetros YAML
    Parâmetro Descrição
    kind Use Role para conceder acesso a recursos dentro de um namespace específico. Use ClusterRole para conceder acesso a recursos em todo o cluster (como nós do trabalhador) ou a recursos com escopo definido por namespace (como os pods em todos os namespaces).
    metadata.namespace Somente para o tipo Role: especifique o namespace do Kubernetes para o qual o acesso é concedido.
    rules.apiGroups Especifique os Grupos de APIs do Kubernetes com os quais você deseja que os usuários interajam, como "apps", "batch" ou "extensions". Para acesso ao grupo principal de APIs no caminho de REST api/v1, deixe o grupo em branco: [""].
    rules.resources Especifique os tipos de recurso do Kubernetes aos quais você deseja conceder acesso, como "daemonsets", "deployments", "events" ou "ingresses". Se você especificar "nodes", o tipo deverá ser ClusterRole.
    rules.verbs Especifique os tipos de ações que você deseja que os usuários executem, como "get", "list", "describe", "create" ou "delete".
  2. Crie a função ou a função de cluster em seu cluster.

    kubectl apply -f my_role.yaml
    
  3. Verifique se a função ou a função de cluster foi criada.

    • Função:
        kubectl get roles -n <namespace>
        ```
    * Função de cluster:
    ```sh {: pre}
        kubectl get clusterroles
        ```
    
  4. Ligue os usuários à função ou função de cluster criando um arquivo .yaml. Anote a URL exclusiva a ser usada para o nome de cada assunto.

    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.io
    
    Entendendo os parâmetros YAML
    Parâmetro Descrição
    kind Especifique RoleBinding para um Role ou ClusterRole específico de espaço de nomes.
    Especifique ClusterRoleBinding para um cluster ClusterRole em todo o cluster.
    apiVersion Use o rbac.authorization.k8s.io/v1.
    metadata.namespace
    • Para o tipo RoleBinding: especifique o espaço de nomes do Kubernetes ao qual o acesso é concedido.
    • Para o tipo ClusterRoleBinding: não use o campo namespace.
    metadata.name Nomeie a ligação de função ou a ligação de função de cluster.
    subjects.kind

    Especifique o tipo como um dos seguintes:

    • User: ligue a função RBAC ou função de cluster a um usuário individual na conta.
    • Group: ligue a função RBAC ou função de cluster a um grupo de acesso do IAM da IBM Cloud na conta.
    • ServiceAccount: ligue a função RBAC ou função de cluster a uma conta de serviço em um espaço de nomes no cluster.
    subjects.name
    • User: Anexe o endereço de e-mail do usuário individual a IAM# da seguinte forma: IAM#user@email.com.
    • Group: Especifique o nome do grupo de acesso IAM IBM Cloud em sua conta.
    • Para ServiceAccount: especifique o nome da conta do serviço.
    subjects.apiGroup
    • User ou Group: Use rbac.authorization.k8s.io.
    • Para ServiceAccount: não inclua esse campo.
    subjects.namespace ServiceAccount somente: Especifique o nome do namespace Kubernetes no qual a conta de serviço está implantada.
    roleRef.kind Insira o mesmo valor que o kind no arquivo .yaml de função: Role ou ClusterRole.
    roleRef.name Insira o nome do arquivo .yaml de função.
    roleRef.apiGroup Use o rbac.authorization.k8s.io.
  5. Crie a ligação de função ou o recurso de ligação de função de cluster em seu cluster.

    kubectl apply -f my_role_binding.yaml
    
  6. Verifique se a ligação foi criada.

    kubectl get rolebinding -n <namespace>
    
  7. Opcional: para cumprir o mesmo nível de acesso de usuário em outros namespaces, é possível copiar as ligações de função para essas funções ou funções de cluster para outros namespaces.

    1. Copie a ligação de função de um namespace para outro namespace.
        kubectl get rolebinding <role_binding_name> -o yaml | sed 's/<namespace_1>/<namespace_2>/g' | kubectl -n <namespace_2> create -f -
        ```
        Por exemplo, copie a ligação de função `custom-role` do namespace `default` para o namespace `testns`.
        ```sh {: pre}
        kubectl get rolebinding custom-role -o yaml | sed 's/default/testns/g' | kubectl -n testns create -f -
        ```
    2. Verifique se a ligação de função foi copiada. Se você incluiu um grupo de acesso do IBM Cloud IAM na ligação de função, cada usuário nesse grupo será incluído individualmente, não como um ID do grupo de acesso.
    ```sh {: pre}
        kubectl get rolebinding -n <namespace_2>
        ```
    

Agora que você criou e ligou uma função RBAC ou uma função de cluster customizada do Kubernetes, acompanhe os usuários. Peça-lhes para testar uma ação que eles tenham permissão para concluir devido à função, como excluir um pod.

Ampliando permissões existentes agregando funções de cluster

É possível ampliar as permissões existentes de seus usuários, agregando ou combinando funções de cluster com outras funções de cluster. Ao designar a um usuário uma função de acesso ao serviço da IBM Cloud, o usuário é incluído em uma função de cluster RBAC correspondente do Kubernetes. No entanto, talvez você queira permitir que determinados usuários realizem mais operações.

Por exemplo, um usuário com o cluster admin com escopo definido para espaço de nomes não pode usar o comando kubectl top pods para visualizar métricas de pod no espaço de nome. Você pode agregar uma função de cluster para que os usuários na função de cluster admin estejam autorizados a executar o comando top pods. Para obter mais informações, consulte os Docs do Kubernetes.

Quais são algumas operações comuns para as quais eu poderia querer ampliar as permissões de uma função padrão de cluster?

Analise as operações que cada função padrão do cluster RBAC permite para ter uma ideia do que os usuários podem fazer e, em seguida, compare as operações permitidas com o que você deseja que eles possam fazer.

Se seus usuários na mesma função de cluster encontrarem erros semelhantes ao seguinte para o mesmo tipo de operação, você talvez deseje ampliar a função de cluster para incluir essa operação.

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 iniciar: efetue login na sua conta. If applicable, target the appropriate resource group. Configure o contexto para o seu cluster.

  1. Crie um arquivo YAML de função de cluster. Na seção labels, especifique a função de cluster existente para a qual você deseja agregar permissões. O exemplo a seguir amplia a função de cluster admin predefinida para permitir que os usuários executem kubectl top pods. Para obter mais exemplos, consulte os docs do 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:
      - list
    
    Entendendo os parâmetros YAML
    Parâmetro Descrição
    metadata.name Insira um nome para a função de cluster. Não use os nomes de função de cluster predefinidos: view, edit, admin e cluster-admin.
    metadata.labels

    Inclua um rótulo que corresponda à função de cluster que deseja agregar no formato rbac.authorization.k8s.io/aggregate-to-<cluster_role>: "true". Os rótulos para as funções de cluster predefinidas são os seguintes.

    • Função de acesso ao serviço Gerenciador do IAM , com escopo definido para um espaço de nomes: rbac.authorization.k8s.io/aggregate-to-admin: "true"
    • Função de acesso ao serviço Gravador do IAM: rbac.authorization.k8s.io/aggregate-to-edit: "true"
    • Função de acesso ao serviço Leitor do IAM: rbac.authorization.k8s.io/aggregate-to-view: "true"
    rules.apiGroups Especifique os Grupos de APIs do Kubernetes com os quais você deseja que os usuários interajam, como "apps", "batch" ou "extensions". Para acesso ao grupo principal de APIs no caminho de REST api/v1, deixe o grupo em branco: [""].
    rules.resources Especifique os tipos de recurso do Kubernetes aos quais você deseja conceder acesso, como "daemonsets", "deployments", "events" ou "ingresses".
    rules.verbs Especifique os tipos de ações que você deseja que os usuários executem, como "get", "list", "describe", "create" ou "delete".
  2. Crie a função de cluster em seu cluster. Todos os usuários que tenham uma vinculação à função de cluster “ admin ” agora contam com as permissões adicionais da função de cluster “ view-pod-metrics ”.

    kubectl apply -f <cluster_role_file.yaml>
    
  3. Contate os usuários que têm a função de cluster admin. Solicite a eles para atualizar sua configuração de cluster e testar a ação, como kubectl top pods.

Verificando as funções de RBAC

Verifique o seu RBAC customizado ou o acesso de serviço do IAM sincronizado para funções RBAC em seu cluster IBM Cloud Kubernetes Service.

Verificando funções de RBAC a partir da IU

  1. Faça login no console.

  2. Clique no cluster com as funções de RBAC que você deseja verificar.

  3. Clique no Painel do Kubernetes.

    Se você tiver um cluster somente de rede privada, não será possível abrir o painel, a menos que você esteja em uma VPN. Consulte Acessando clusters por meio do terminal em serviço de nuvem privada.

  4. Na seção Cluster, revise as Ligações de função de cluster, Funções de cluster, Ligações de função e Funções.

Verificando funções de RBAC com a CLI

  1. Efetue login na sua conta. If applicable, target the appropriate resource group. Configure o contexto para o seu cluster.

  2. Verifique se o usuário está incluído na função de RBAC. Os usuários não serão incluídos em uma ligação de função se eles tiverem uma permissão maior. Por exemplo, se os usuários tiverem uma função de cluster e estiverem em uma ligação de função de cluster, eles também não serão incluídos em cada ligação de função de namespace individual.

    Você deve ser um administrador de cluster para verificar os vínculos de função e os vínculos de função de cluster. Os administradores de cluster têm a função de acesso ao serviço Manager em todos os namespaces ou a função de acesso à plataforma Administrator.

    • Leitor:
        kubectl get rolebinding ibm-view -o yaml -n <namespace>
        ```
    * Gravador:
    ```sh {: pre}
        kubectl get rolebinding ibm-edit -o yaml -n <namespace>
        ```
    * Gerente, com escopo definido para um namespace:
    ```sh {: pre}
        kubectl get rolebinding ibm-operate -o yaml -n <namespace>
        ```
    * Gerente, todos os namespaces:
    ```sh {: pre}
        kubectl get clusterrolebinding ibm-admin -o yaml
        ```
    

Saída de exemplo

Ao atribuir ao usuário user@email.com e ao grupo de acesso team1 a função de acesso de serviço Leitor e executar kubectl get rolebinding ibm-view -o yaml -n default, você terá a saída de exemplo abaixo.

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

Funções de acesso ao serviço Kubernetes e funções RBAC correspondentes

A tabela a seguir mostra as permissões de recursos do Kubernetes que são concedidas por cada função de acesso ao serviço e sua função RBAC correspondente.

Permissões de recursos do Kubernetes por serviço e funções RBAC correspondentes
Função de acesso de serviço Função RBAC Correspondente, Ligação e Escopo Permissões de recursos do Kubernetes
Função Leitor Com escopo definido para um espaço de nomes: função de cluster view aplicada pela ligação de função ibm-view àquele espaço de nomes.
-Com escopo definido para todos os espaços de nomes: função de cluster view aplicada pela ligação de função ibm-view em cada espaço de nomes do cluster. Também é possível visualizar o cluster no console e na CLI do IBM Cloud.
  • Acesso de leitura aos recursos em um espaço de nomes
  • Nenhum acesso de leitura a funções e ligações de funções ou a segredos do Kubernetes
  • Acessar o painel do Kubernetes para visualizar recursos em um espaço de nomes.
Função Gravador Com escopo definido para um espaço de nomes:função de cluster edit aplicada pela ligação de funções ibm-edit nesse espaço de nomes.

Com escopo definido para todos os espaços de nomes: função de cluster edit aplicada pela ligação de funções ibm-edit em cada espaço de nomes do cluster

  • Acesso de leitura/gravação a recursos em um espaço de nomes
  • Sem acesso de leitura/gravação a funções e ligações de funções<
  • Acessar o painel do Kubernetes para visualizar recursos em um espaço de nomes.
Função Gerenciador Com escopo definido para um espaço de nomes: função de cluster admin aplicada pela ligação de funções ibm-operate àquele espaço de nomes

Com escopo definido para todos os espaços de nomes: função de cluster cluster-admin aplicada pela ligação de funções de cluster ibm-admin que se aplica a todos os espaços de nomes

Quando restrito a um namespace:

  • Acesso de leitura/gravação a todos os recursos em um namespace, mas não à cota de recursos nem ao próprio namespace
  • Criar funções RBAC e associações de funções em um namespace
  • Acessar o painel Kubernetes para visualizar todos os recursos em um namespace
    Quando o escopo abrange todos os namespaces:
  • Acesso de leitura/gravação a todos os recursos em todos os namespaces
  • Criar funções RBAC e vinculações de funções em um namespace ou funções de cluster e vinculações de funções de cluster em todos os namespaces
  • Acessar o painel Kubernetes
  • Criar um recurso Ingress que torne os aplicativos publicamente disponíveis
  • Analisar métricas do cluster, por exemplo, com os comandos kubectl top pods, kubectl top nodes ou kubectl get nodes
  • Criar e atualizar pods privilegiados e não privilegiados (restritos)

Permissões de recurso do Kubernetes por função RBAC

Cada usuário que recebe uma função de acesso ao serviço do IBM Cloud IAM também recebe automaticamente uma função de controle de acesso baseada em função (RBAC) do Kubernetes predefinida correspondente. Se você planeja gerenciar suas próprias funções RBAC customizadas do Kubernetes, consulte Criando permissões customizadas de RBAC para usuários, grupos ou contas de serviço. Para obter detalhes do nome do usuário, consulte Detalhes do emissor do IBM Cloud IAM para usuários do RBAC.

Você está pensando se tem as permissões corretas para executar um determinado comando kubectl em um recurso em um namespace? Tente o comando kubectl auth can-i.

A tabela a seguir mostra as permissões que são concedidas por cada função RBAC para recursos individuais do Kubernetes. As permissões são apresentadas como as ações verbs (ou ações) que um usuário com essa função pode realizar em relação ao recurso, tais como “obter”, “listar”, “descrever”, “criar” ou “excluir”.

Permissões de recurso do Kubernetes concedidas por cada função RBAC predefinida
Recurso do Kubernetes view edit admin e cluster-admin
bindings get, list, watch get, list, watch obter, listar, observar
cluster-admin apenas: criar, excluir, atualizar.
configmaps get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
cronjobs.batch get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
daemonsets.apps get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
daemonsets.extensions get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
deployments.apps get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
deployments.apps/rollback
criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
deployments.apps/scale get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
deployments.extensions get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
deployments.extensions/rollback
criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
deployments.extensions/scale get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
endpoints get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
events get, list, watch get, list, watch get, list, watch
horizontalpodautoscalers.autoscaling get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
ingresses.extensions get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
jobs.batch get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
limitranges get, list, watch get, list, watch get, list, watch
localsubjectaccessreviews
create
namespaces get, list, watch get, list, watch obter, listar, observar
cluster-admin apenas: criar, excluir.
namespaces/status get, list, watch get, list, watch get, list, watch
networkpolicies get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
networkpolicies.extensions get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
node Nenhum Nenhum admin com escopo definido para um espaço de nomes: nenhum

cluster-admin para todos os espaços de nomes: todos os verbos

persistentvolume Nenhum Nenhum criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
persistentvolumeclaims get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
poddisruptionbudgets.policy get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
pods get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, top, corrigir, atualizar, monitorar
pods/attach
criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
pods/exec
criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
pods/log get, list, watch get, list, watch get, list, watch
pods/portforward
criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
pods/proxy
criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
pods/status get, list, watch get, list, watch get, list, watch
replicasets.apps get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
replicasets.apps/scale get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
replicasets.extensions get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
replicasets.extensions/scale get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
replicationcontrollers get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
replicationcontrollers/scale get, list, watch cr}criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
replicationcontrollers/status get, list, watch get, list, watch get, list, watch
replicationcontrollers.extensions/scale get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
resourcequotas get, list, watch get, list, watch get, list, watch
resourcequotas/status get, list, watch get, list, watch get, list, watch
rolebindings
criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
roles
criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
secrets
criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
serviceaccounts get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar, impersonate criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar, impersonate
services get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
services/proxy
criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
statefulsets.apps get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar
statefulsets.apps/scale get, list, watch criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar criar, excluir, deletecollection, obter, listar, corrigir, atualizar, monitorar

Detalhes do emissor do IBM Cloud IAM para usuários do RBAC

Os usuários com uma função de acesso ao serviço para o IBM Cloud Kubernetes Service no IAM recebem funções de usuário correspondentes no RBAC. Os detalhes do usuário do RBAC incluem um ID de emissor exclusivo, solicitação de assunto identificador e nome de usuário do Kubernetes. Esses detalhes variam com a versão do Kubernetes do cluster. Quando você atualiza um cluster de uma versão anterior, os detalhes são atualizados automaticamente. Os nomes de usuários do RBAC são prefixados por IAM#. Para obter mais informações sobre como a autenticação OpenID funciona, consulte a Documentação do Kubernetes.

Será possível usar essas informações se você construir o conjunto de ferramentas de automação dentro do cluster que conta com os detalhes do usuário para autenticar-se no servidor da API do Kubernetes.

IBM Cloud Detalhes do emissor do IAM para usuários do RBAC
Versão Issuer Solicitação Maiúsculas e minúsculas*
Kubernetes https://iam.cloud.ibm.com/identity realmed_sub_<account_ID> minúscula

*: um exemplo de minúscula é user.name@company.com. Um exemplo de camel case é User.Name@company.com.