|
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:
-
via o arquivo de configuração, com as mesmas permissões que as funções predefinidas
-
via o arquivo de configuração, com permissões personalizadas
-
usando o
stsCLI, 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:
-
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"' -
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.