Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

Funções

Visão Geral

Todo usuário no SUSE Observability precisa ter um sujeito e um conjunto de permissões atribuídas; essa combinação é chamada de função. Uma função descreve um grupo de usuários que pode acessar um conjunto específico de dados. O SUSE Observability vem com um conjunto de funções predefinidas e você também pode criar funções para atender às suas necessidades.

Funções predefinidas

Existem quatro funções predefinidas no SUSE Observability:

  • Administrador - tem acesso total a todas as visualizações e possui todas as permissões.

  • Usuário Avançado - geralmente concedido a um usuário que precisa configurar o SUSE Observability para uma(s) equipe(s), mas não gerenciará toda a instalação do SUSE Observability.

  • Solucionador de Problemas do Kubernetes - possui todas as permissões necessárias para usar o SUSE Observability para solução de problemas, incluindo a capacidade de habilitar/desabilitar monitores, criar visualizações personalizadas e usar o CLI.

  • Convidado - tem acesso somente leitura ao SUSE Observability.

As permissões atribuídas a cada função predefinida do SUSE Observability podem ser encontradas abaixo. Para detalhes das diferentes permissões e como gerenciá-las usando o sts CLI, veja Permissões de controle de acesso com base em função (RBAC)

  • Administrador

  • Usuário Avançado

  • Solucionador de Problemas

  • Convidado

A função de Administrador (stackstate-admin): possui todas as permissões atribuídas.

As permissões atribuídas à função de Administrador predefinida (stackstate-admin) estão listadas abaixo, estas foram recuperadas usando o sts CLI. Para detalhes das diferentes permissões e como gerenciá-las usando o sts CLI, veja permissões RBAC.

❯ ./sts rbac describe-permissions --subject stackstate-admin
Got subject from the following subject sources: Static

PERMISSION                      | RESOURCE
create-dashboards               | system
create-favorite-dashboards      | system
create-favorite-views           | system
create-ingestion-api-keys       | system
create-metric-bindings          | system
create-monitors                 | system
create-notifications            | system
create-service-tokens           | system
create-stackpack-configurations | system
create-views                    | system
delete-dashboards               | system
delete-favorite-dashboards      | system
delete-favorite-views           | system
delete-ingestion-api-keys       | system
delete-metric-bindings          | system
delete-monitors                 | system
delete-notifications            | system
delete-service-tokens           | system
delete-stackpack-configurations | system
delete-sync-data                | system
delete-views                    | system
execute-component-actions       | system
execute-monitors                | system
execute-restricted-scripts      | system
execute-scripts                 | system
get-agents                      | system
get-api-tokens                  | system
get-dashboards                  | system
get-ingestion-api-keys          | system
get-metric-bindings             | system
get-metrics                     | system
get-monitors                    | system
get-notifications               | system
get-permissions                 | system
get-service-tokens              | system
get-settings                    | system
get-stackpacks                  | system
get-sync-data                   | system
get-system-notifications        | system
get-topic-messages              | system
get-topology                    | system
get-traces                      | system
get-views                       | system
update-dashboards               | system
update-metric-bindings          | system
update-metrics                  | system
update-monitors                 | system
update-notifications            | system
update-permissions              | system
update-scoped-permissions       | system
update-settings                 | system
update-stackpack-configurations | system
update-stackpacks               | system
update-views                    | system
update-visualization            | system

A função de Usuário Avançado (stackstate-power-user) possui todas as permissões de Administrador, exceto por:

  • execute-restricted-scripts

  • update-permissions

  • update-stackpacks

As permissões atribuídas à função de Usuário Avançado predefinida (stackstate-power-user) estão listadas abaixo, estas foram recuperadas usando o sts CLI. Para detalhes das diferentes permissões e como gerenciá-las usando o sts CLI, veja permissões RBAC.

❯ ./sts rbac describe-permissions --subject stackstate-power-user
Got subject from the following subject sources: Static

PERMISSION                      | RESOURCE
create-dashboards               | system
create-favorite-dashboards      | system
create-favorite-views           | system
create-metric-bindings          | system
create-monitors                 | system
create-notifications            | system
create-stackpack-configurations | system
create-views                    | system
delete-dashboards               | system
delete-favorite-dashboards      | system
delete-favorite-views           | system
delete-metric-bindings          | system
delete-monitors                 | system
delete-notifications            | system
delete-stackpack-configurations | system
delete-sync-data                | system
execute-component-actions       | system
execute-monitors                | system
execute-scripts                 | system
get-agents                      | system
get-api-tokens                  | system
get-dashboards                  | system
get-metric-bindings             | system
get-metrics                     | system
get-monitors                    | system
get-notifications               | system
get-permissions                 | system
get-settings                    | system
get-stackpacks                  | system
get-sync-data                   | system
get-system-notifications        | system
get-topic-messages              | system
get-topology                    | system
get-traces                      | system
get-views                       | system
update-dashboards               | system
update-metric-bindings          | system
update-metrics                  | system
update-monitors                 | system
update-notifications            | system
update-settings                 | system
update-stackpack-configurations | system
update-views                    | system
update-visualization            | system

A função de Solucionador de Problemas (stackstate-k8s-troubleshooter) tem acesso a todos os dados disponíveis no SUSE Observability e a capacidade de criar visualizações e habilitar/desabilitar monitores.

As permissões atribuídas à função de solucionador de problemas predefinida estão listadas abaixo, estas foram recuperadas usando o sts CLI. Para detalhes sobre as diferentes permissões e como gerenciá-las usando o sts CLI, veja permissões RBAC.

❯ ./sts rbac describe-permissions --subject stackstate-k8s-troubleshooter
Got subject from the following subject sources: Static

PERMISSION                 | RESOURCE
create-dashboards          | system
create-favorite-dashboards | system
create-favorite-views      | system
create-monitors            | system
create-notifications       | system
create-views               | system
delete-dashboards          | system
delete-favorite-dashboards | system
delete-favorite-views      | system
delete-monitors            | system
delete-notifications       | system
delete-views               | system
execute-monitors           | system
get-agents                 | system
get-api-tokens             | system
get-dashboards             | system
get-metric-bindings        | system
get-metrics                | system
get-monitors               | system
get-notifications          | system
get-permissions            | system
get-settings               | system
get-stackpacks             | system
get-system-notifications   | system
get-topic-messages         | system
get-traces                 | system
get-views                  | system
update-dashboards          | system
update-monitors            | system
update-notifications       | system
update-stackpacks          | system
update-views               | system
update-visualization       | system

A função de Convidado (stackstate-guest) tem acesso somente leitura ao SUSE Observability.

As permissões atribuídas à função pré-definida de Convidado estão listadas abaixo, estas foram recuperadas usando o sts CLI. Para detalhes sobre as diferentes permissões e como gerenciá-las usando o sts CLI, veja permissões RBAC.

❯ ./sts rbac describe-permissions --subject stackstate-guest
Got subject from the following subject sources: Static

PERMISSION                 | RESOURCE
create-dashboards          | system
create-favorite-dashboards | system
create-favorite-views      | system
delete-dashboards          | system
delete-favorite-dashboards | system
delete-favorite-views      | system
get-api-tokens             | system
get-dashboards             | system
get-metric-bindings        | system
get-metrics                | system
get-monitors               | system
get-notifications          | system
get-permissions            | system
get-settings               | system
get-system-notifications   | system
get-topic-messages         | system
get-traces                 | system
get-views                  | system
update-dashboards          | system
update-visualization       | system

Funções personalizadas (Configuração RBAC)

Além das funções predefinidas (stackstate-admin, stackstate-power-user, stackstate-k8s-troubleshooter, stackstate-guest), que estão sempre disponíveis, funções personalizadas podem ser adicionadas. Existem várias maneiras de adicionar funções personalizadas:

  1. via o arquivo de configuração, com as mesmas permissões que as funções predefinidas

  2. via o arquivo de configuração, com permissões personalizadas

  3. usando o sts CLI, os sujeitos e suas permissões são armazenados no banco de dados e podem ser modificados durante o runtime

Funções adicionadas via o arquivo de configuração requerem uma reinicialização e, portanto, resultam em um curto período de inatividade. Funções criadas usando o CLI são armazenadas no banco de dados e podem ser modificadas em runtime.

Nomes personalizados para funções pré-definidas

Use esta opção quando as funções pré-definidas do SUSE Observability se encaixam bem, mas o provedor de autenticação externa tem nomes diferentes para as funções. Por exemplo, quando o provedor de autenticação LDAP tem funções semelhantes, mas com nomes diferentes, inclua este trecho YAML em um authentication.yaml para dar às funções do LDAP as mesmas permissões e escopos que as funções equivalentes pré-definidas.

stackstate:
  authentication:
    roles:
      guest: ["ldap-guest-role"]
      powerUser: ["ldap-power-user-role"]
      admin: ["ldap-admin-role"]
      k8sTroubleshooter: ["ldap-troubleshooter-role"]

Para usá-lo na sua instalação do SUSE Observability (ou em uma instância já em execução, observe que isso reiniciará a API):

helm upgrade \
  --install \
  --namespace suse-observability \
  --values values.yaml \
  --values authentication.yaml \
suse-observability \
suse-observability/suse-observability

Funções personalizadas via o arquivo de configuração

Para configurar uma nova função chamada development-troubleshooter, que permitirá as mesmas permissões que a função de solucionador de problemas pré-definida, mas apenas para o cluster dev-test, inclua este trecho YAML em um authentication.yaml:

stackstate:
  authentication:
    roles:
      custom:
        development-troubleshooter:
          systemPermissions:
          - create-dashboards
          - create-favorite-dashboards
          - create-favorite-views
          - create-monitors
          - create-notifications
          - create-views
          - delete-dashboards
          - delete-favorite-dashboards
          - delete-favorite-views
          - delete-monitors
          - delete-notifications
          - delete-views
          - execute-monitors
          - get-agents
          - get-api-tokens
          - get-dashboards
          - get-metric-bindings
          - get-metrics
          - get-monitors
          - get-notifications
          - get-permissions
          - get-settings
          - get-stackpacks
          - get-system-notifications
          - get-topic-messages
          - get-traces
          - get-views
          - update-dashboards
          - update-monitors
          - update-notifications
          - update-stackpacks
          - update-views
          - update-visualization
          resourcePermissions:
            get-topology:
            - "cluster-name:dev-test"

Para usá-lo na sua instalação do SUSE Observability (ou em uma instância já em execução, observe que isso reiniciará a API):

helm upgrade \
  --install \
  --namespace suse-observability \
  --values values.yaml \
  --values authentication.yaml \
suse-observability \
suse-observability/suse-observability

Funções personalizadas via o CLI (RBAC de observabilidade)

Para configurar uma nova função chamada development-troubleshooter, que permitirá as mesmas permissões que a função normal de solucionador de problemas, mas apenas para o cluster dev-test, um novo sujeito precisa ser criado. Além disso, é necessário atribuir a este sujeito o conjunto de permissões necessário:

  1. Crie o sujeito (com o mesmo nome da função, a correspondência entre função e sujeito é baseada no nome e é sensível a maiúsculas):

    sts rbac create-subject --subject development-troubleshooter
    sts rbac grant --subject development-troubleshooter --permission get-topology --resource "cluster-name:dev-test"'
  2. Sujeitos configurados precisam de permissões para acessar partes da interface do usuário e executar ações nela. Para conceder as mesmas permissões que a função de solucionador de problemas, siga o exemplo abaixo:

    sts rbac grant --subject development-troubleshooter --permission create-dashboards
    sts rbac grant --subject development-troubleshooter --permission create-favorite-dashboards
    sts rbac grant --subject development-troubleshooter --permission create-favorite-views
    sts rbac grant --subject development-troubleshooter --permission create-monitors
    sts rbac grant --subject development-troubleshooter --permission create-notifications
    sts rbac grant --subject development-troubleshooter --permission create-views
    sts rbac grant --subject development-troubleshooter --permission delete-dashboards
    sts rbac grant --subject development-troubleshooter --permission delete-favorite-dashboards
    sts rbac grant --subject development-troubleshooter --permission delete-favorite-views
    sts rbac grant --subject development-troubleshooter --permission delete-monitors
    sts rbac grant --subject development-troubleshooter --permission delete-notifications
    sts rbac grant --subject development-troubleshooter --permission delete-views
    sts rbac grant --subject development-troubleshooter --permission execute-monitors
    sts rbac grant --subject development-troubleshooter --permission get-agents
    sts rbac grant --subject development-troubleshooter --permission get-api-tokens
    sts rbac grant --subject development-troubleshooter --permission get-dashboards
    sts rbac grant --subject development-troubleshooter --permission get-metric-bindings
    sts rbac grant --subject development-troubleshooter --permission get-metrics
    sts rbac grant --subject development-troubleshooter --permission get-monitors
    sts rbac grant --subject development-troubleshooter --permission get-notifications
    sts rbac grant --subject development-troubleshooter --permission get-permissions
    sts rbac grant --subject development-troubleshooter --permission get-settings
    sts rbac grant --subject development-troubleshooter --permission get-stackpacks
    sts rbac grant --subject development-troubleshooter --permission get-system-notifications
    sts rbac grant --subject development-troubleshooter --permission get-topic-messages
    sts rbac grant --subject development-troubleshooter --permission get-traces
    sts rbac grant --subject development-troubleshooter --permission get-views
    sts rbac grant --subject development-troubleshooter --permission update-dashboards
    sts rbac grant --subject development-troubleshooter --permission update-monitors
    sts rbac grant --subject development-troubleshooter --permission update-notifications
    sts rbac grant --subject development-troubleshooter --permission update-stackpacks
    sts rbac grant --subject development-troubleshooter --permission update-views
    sts rbac grant --subject development-troubleshooter --permission update-visualization

Por favor, note que o nome do sujeito, assim como as permissões, são sensíveis a maiúsculas.