Pular para o conteúdo principal

Roles e Permissões

Gerenciamento de roles e permissões no sistema RBAC da Catalisa Platform.

Endpoints

MétodoEndpointDescriçãoPermissão
GET/api/v1/rolesListar rolesIAM_ROLES_READ
GET/api/v1/roles/:name/permissionsObter permissões de uma roleIAM_ROLES_READ
GET/api/v1/roles/permissions/allListar todas as permissões por roleIAM_ROLES_READ
GET/api/v1/permissionsListar todas as permissõesIAM_ROLES_READ

Roles Disponíveis

RoleDescrição
ADMINAdministrador com acesso total
IAM_MANAGERGerencia usuários, organizacoes e associacoes
CUSTOMER_MANAGERGerencia clientes (pessoas e empresas)
PRODUCT_MANAGERGerencia produtos de crédito
DECISION_MANAGERGerencia motor de decisão
PRICING_MANAGERGerencia pricing e risk bands
FILE_MANAGERGerencia arquivos e documentos
DOCUMENT_OPERATOROpera validações de documentos
VERIFICATION_OPERATOROpera verificações (KYC, face recognition)
WEBHOOK_MANAGERGerencia webhooks
VIEWERApenas visualização (somente leitura)

Permissões por Módulo

IAM

PermissãoDescrição
IAM_USERS_CREATECriar usuários
IAM_USERS_READListar e visualizar usuários
IAM_USERS_UPDATEAtualizar usuários
IAM_USERS_DELETEExcluir usuários
IAM_ORGANIZATIONS_CREATECriar organizações
IAM_ORGANIZATIONS_READListar e visualizar organizacoes
IAM_ORGANIZATIONS_UPDATEAtualizar organizações
IAM_ORGANIZATIONS_DELETEExcluir organizações
IAM_ROLES_READListar roles e permissões
IAM_ASSOCIATIONS_CREATECriar associações usuário-org
IAM_ASSOCIATIONS_READListar associações
IAM_ASSOCIATIONS_DELETERemover associações

Customers

PermissãoDescrição
CUSTOMERS_PEOPLE_CREATECriar pessoas
CUSTOMERS_PEOPLE_READListar e visualizar pessoas
CUSTOMERS_PEOPLE_UPDATEAtualizar pessoas
CUSTOMERS_PEOPLE_DELETEExcluir pessoas
CUSTOMERS_COMPANIES_CREATECriar empresas
CUSTOMERS_COMPANIES_READListar e visualizar empresas
CUSTOMERS_COMPANIES_UPDATEAtualizar empresas
CUSTOMERS_COMPANIES_DELETEExcluir empresas

Products

PermissãoDescrição
PRODUCTS_CREATECriar produtos
PRODUCTS_READListar e visualizar produtos
PRODUCTS_UPDATEAtualizar produtos
PRODUCTS_DELETEExcluir produtos

Decision Engine

PermissãoDescrição
DECISION_PROJECTS_CREATECriar projetos
DECISION_PROJECTS_READListar e visualizar projetos
DECISION_PROJECTS_UPDATEAtualizar projetos
DECISION_PROJECTS_DELETEExcluir projetos
DECISION_VERSIONS_CREATECriar versões de decisões
DECISION_VERSIONS_READListar e visualizar versoes
DECISION_VERSIONS_PUBLISHPublicar versões
DECISION_TAGS_MANAGEGerenciar tags
DECISION_EXECUTEExecutar decisões
DECISION_LOGS_READVisualizar logs de execução

Files

PermissãoDescrição
FILES_CREATECriar e fazer upload de arquivos
FILES_READListar e baixar arquivos
FILES_DELETEExcluir arquivos

Pricing Engine

PermissãoDescrição
PRICING_RISK_BANDS_CREATECriar risk bands
PRICING_RISK_BANDS_READListar e visualizar risk bands
PRICING_RISK_BANDS_UPDATEAtualizar risk bands
PRICING_RISK_BANDS_DELETEExcluir risk bands
PRICING_RULES_CREATECriar pricing rules
PRICING_RULES_READListar e visualizar pricing rules
PRICING_RULES_UPDATEAtualizar pricing rules
PRICING_RULES_DELETEExcluir pricing rules
PRICING_CALCULATEExecutar calculos de pricing

Calculations

PermissãoDescrição
CALCULATIONS_EXECUTEExecutar calculadoras financeiras

Webhooks

PermissãoDescrição
WEBHOOKS_SUBSCRIPTIONS_CREATECriar subscrições
WEBHOOKS_SUBSCRIPTIONS_READListar subscrições
WEBHOOKS_SUBSCRIPTIONS_UPDATEAtualizar subscrições
WEBHOOKS_SUBSCRIPTIONS_DELETEExcluir subscrições
WEBHOOKS_REQUESTS_CREATECriar requisições
WEBHOOKS_REQUESTS_READListar requisições

Listar Roles

GET /api/v1/roles

Lista todas as roles disponíveis no sistema.

curl 'https://iam.stg.catalisa.app/api/v1/roles' \
-H 'Authorization: Bearer SEU_TOKEN'

Response (200 OK)

{
"data": [
{
"type": "roles",
"id": "1",
"attributes": {
"name": "ADMIN",
"description": "Administrador com acesso total"
}
},
{
"type": "roles",
"id": "2",
"attributes": {
"name": "CUSTOMER_MANAGER",
"description": "Gerencia clientes"
}
}
]
}

Obter Permissões de uma Role

GET /api/v1/roles/:roleName/permissions

Lista as permissões associadas a uma role específica.

curl 'https://iam.stg.catalisa.app/api/v1/roles/ADMIN/permissions' \
-H 'Authorization: Bearer SEU_TOKEN'

Response (200 OK)

{
"data": {
"role": "ADMIN",
"permissions": [
"IAM_USERS_CREATE",
"IAM_USERS_READ",
"IAM_USERS_UPDATE",
"IAM_USERS_DELETE",
"IAM_ORGANIZATIONS_CREATE",
"IAM_ORGANIZATIONS_READ",
"CUSTOMERS_PEOPLE_CREATE",
"CUSTOMERS_PEOPLE_READ"
]
}
}

Listar Todas as Permissões por Role

GET /api/v1/roles/permissions/all

Lista todas as roles com suas respectivas permissões.

curl 'https://iam.stg.catalisa.app/api/v1/roles/permissions/all' \
-H 'Authorization: Bearer SEU_TOKEN'

Response (200 OK)

{
"data": [
{
"role": "ADMIN",
"permissions": ["IAM_USERS_CREATE", "IAM_USERS_READ", "..."]
},
{
"role": "CUSTOMER_MANAGER",
"permissions": ["CUSTOMERS_PEOPLE_CREATE", "CUSTOMERS_PEOPLE_READ", "..."]
}
]
}

Listar Todas as Permissões

GET /api/v1/permissions

Lista todas as permissões disponíveis no sistema.

curl 'https://iam.stg.catalisa.app/api/v1/permissions' \
-H 'Authorization: Bearer SEU_TOKEN'

Response (200 OK)

{
"data": [
"IAM_USERS_CREATE",
"IAM_USERS_READ",
"IAM_USERS_UPDATE",
"IAM_USERS_DELETE",
"IAM_ORGANIZATIONS_CREATE",
"CUSTOMERS_PEOPLE_CREATE",
"PRODUCTS_CREATE",
"DECISION_EXECUTE",
"CALCULATIONS_EXECUTE"
]
}

Verificando Permissões no Token

O token JWT inclui as permissões do usuário no payload:

{
"sub": "user-id",
"organizationId": "org-id",
"permissions": [
"IAM_USERS_READ",
"CUSTOMERS_PEOPLE_CREATE",
"CUSTOMERS_PEOPLE_READ"
],
"iat": 1709123456,
"exp": 1709127056
}

Exemplo de Verificação no Frontend

function hasPermission(token, permission) {
const payload = JSON.parse(atob(token.split('.')[1]));
return payload.permissions?.includes(permission) ?? false;
}

// Uso
const canCreateUser = hasPermission(accessToken, 'IAM_USERS_CREATE');
if (canCreateUser) {
// Mostrar botão de criar usuário
}

Erros Comuns

CódigoErroDescrição
404NOT_FOUNDRole não encontrada
403FORBIDDENSem permissão para visualizar roles