Pular para o conteúdo
Skillpedia
Diversos35 mil · #5547

building-role-mining-for-rbac-optimization

Ajuda seu agente a otimizar permissões de acesso. Ele analisa como os usuários acessam sistemas e sugere formas de organizar as permissões para maior segurança.

O que ela faz

Esta ferramenta analisa como as pessoas usam permissões de acesso em um sistema. Ela descobre grupos de permissões que podem ser combinados em 'funções' para simplificar o controle de acesso e garantir que cada pessoa tenha apenas o necessário.

Quando usar

  • ✓Quando há muitas funções de acesso e elas se repetem.
  • ✓Ao criar um novo sistema de controle de acesso.
  • ✓Para revisar e melhorar a segurança existente.

Exemplo do que pedir para a IA

“Analise nossos acessos atuais e sugira funções de acesso simplificadas.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/building-role-mining-for-rbac-optimization/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/building-role-mining-for-rbac-optimization/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta examina quais permissões são usadas juntas por grupos de pessoas. Ela usa métodos de agrupamento e análise matemática para encontrar padrões e criar funções de acesso mais eficientes e seguras.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill building-role-mining-for-rbac-optimization

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/building-role-mining-for-rbac-optimization/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Mineração de Papéis para Otimização de RBAC

Visão Geral

Mineração de papéis é o processo de analisar atribuições existentes de usuários e permissões para descobrir papéis ideais para um sistema de Controle de Acesso Baseado em Papéis (RBAC). Organizações acumulam permissões excessivas ao longo do tempo através de mudanças de cargo, atribuições de projetos e concessões de acesso ad-hoc, levando à "explosão de papéis", onde milhares de papéis granulares existem com sobreposição significativa. A mineração de papéis usa análise de dados -- incluindo algoritmos de clusterização, análise formal de conceitos e métodos baseados em grafos -- para consolidar permissões em um conjunto mínimo de papéis que representam com precisão as funções de negócios, ao mesmo tempo em que aplicam o princípio do menor privilégio.

Quando Usar

  • Ao implantar ou configurar a mineração de papéis para capacidades de otimização de RBAC em seu ambiente
  • Ao estabelecer controles de segurança alinhados aos requisitos de conformidade
  • Ao construir ou melhorar a arquitetura de segurança para este domínio
  • Ao realizar avaliações de segurança que exigem esta implementação

Pré-requisitos

  • Exportação das atribuições atuais de usuário-permissão (CSV/banco de dados)
  • Acesso a uma plataforma de governança de identidade ou serviço de diretório
  • Python 3.9+ com pandas, scikit-learn, numpy
  • Compreensão da estrutura organizacional e das funções de trabalho
  • Acesso a partes interessadas para workshops de validação de papéis

Conceitos Principais

Abordagens de Mineração de Papéis

Abordagem Descrição Ideal Para
De Baixo para Cima Analisa permissões existentes para descobrir padrões comuns Grandes conjuntos de dados com crescimento orgânico de permissões
De Cima para Baixo Desenha papéis a partir de requisitos de negócios e descrições de cargo RBAC em ambiente novo (greenfield) ou reestruturação organizacional
Híbrida Combina análise de baixo para cima com validação de negócios de cima para baixo A maioria dos ambientes de produção

Algoritmos de Mineração de Papéis

1. Clusterização de Permissões: Agrupa usuários com conjuntos de permissões semelhantes usando k-means ou clusterização hierárquica. Usuários no mesmo cluster compartilham um papel comum.

2. Análise Formal de Conceitos (FCA): Estrutura matemática que identifica o conjunto completo de conceitos (grupos de usuários que compartilham conjuntos exatos de permissões) a partir de uma matriz binária de usuário-permissão.

3. Mineração Baseada em Grafos: Modela usuários e permissões como um grafo bipartido, e então encontra subgrafos densos que representam papéis candidatos.

4. Decomposição de Matriz Booleana: Decompõe a matriz usuário-permissão U em U ≈ R × P, onde R mapeia usuários para papéis e P mapeia papéis para permissões.

Métricas de Mineração de Papéis

Métrica Fórmula Meta
Contagem de Papéis Total de papéis distintos após a mineração Minimizar
Cobertura Permissões explicadas por papéis minerados / Total de permissões > 95%
Complexidade Estrutural Ponderada (WSC) Soma das atribuições papel-usuário + papel-permissão Minimizar
Desvio Permissões extras não cobertas por papéis atribuídos < 5%

Fluxo de Trabalho

Etapa 1: Extrair Dados de Usuário-Permissão

Colete o estado de acesso atual de todas as fontes de identidade:

import pandas as pd
import numpy as np

# Load user-permission assignments
# Format: user_id, permission_id (one row per assignment)
assignments = pd.read_csv("user_permissions.csv")

# Create binary user-permission matrix (UPA matrix)
upa_matrix = assignments.pivot_table(
    index="user_id",
    columns="permission_id",
    aggfunc="size",
    fill_value=0
)
upa_matrix = (upa_matrix > 0).astype(int)

print(f"Users: {upa_matrix.shape[0]}")
print(f"Permissions: {upa_matrix.shape[1]}")
print(f"Assignments: {assignments.shape[0]}")
print(f"Density: {upa_matrix.values.sum() / upa_matrix.size:.2%}")

Etapa 2: Descoberta de Papéis de Baixo para Cima Usando Clusterização

from sklearn.cluster import AgglomerativeClustering
from sklearn.metrics import silhouette_score

def find_optimal_clusters(matrix, max_k=50):
    """Encontra o número ideal de papéis usando análise de silhueta."""
    scores = []
    for k in range(2, min(max_k, matrix.shape[0])):
        clustering = AgglomerativeClustering(
            n_clusters=k, metric="jaccard", linkage="average"
        )
        labels = clustering.fit_predict(matrix)
        score = silhouette_score(matrix, labels, metric="jaccard")
        scores.append((k, score))

    optimal_k = max(scores, key=lambda x: x[1])[0]
    return optimal_k, scores

def mine_roles_clustering(upa_matrix, n_clusters):
    """Minera papéis usando clusterização hierárquica na distância Jaccard."""
    clustering = AgglomerativeClustering(

…
Perguntas frequentes

O que é 'explosão de funções'?

É quando o número de funções de acesso se torna muito grande e confuso, com muitas funções parecidas ou redundantes.

O que é 'menor privilégio'?

É o princípio de segurança que garante que cada usuário tenha apenas as permissões estritamente necessárias para realizar seu trabalho, e nada mais.

Quais dados são necessários?

É preciso ter uma lista de quais usuários têm quais permissões no sistema atual.

Detalhes

Descrição original do autor

Apply bottom-up and top-down role mining techniques, including clustering algorithms and formal concept analysis, to discover optimal RBAC roles from existing user-permission assignments, consolidating overlapping roles and enforcing least privilege. Use when an identity program needs to reduce role explosion or redesign its RBAC role set from access data.

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#5547
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas