1. O que é RACF e o modelo de segurança
O RACF funciona com três elementos centrais:
- Sujeito — quem solicita o acesso: um usuário (
USERID) ou um grupo de usuários (GROUP). - Objeto — o que está sendo acessado: um dataset, um programa, um terminal, um job class.
- Perfil de segurança — a regra que define quem pode fazer o quê com aquele objeto.
Quando um programa tenta acessar um dataset protegido, o z/OS chama o RACF. O RACF consulta o seu banco de dados de perfis (o RACF database), identifica o perfil que cobre aquele dataset, verifica se o usuário tem permissão e autoriza ou rejeita o acesso — tudo em microssegundos.
🦕 Analogia — RACF como portaria de prédio corporativo
Imagine um prédio onde cada sala tem uma fechadura eletrônica. A portaria (RACF) tem a lista de quem pode entrar em cada sala. Quando você aproxima seu crachá (USERID) de uma porta (recurso), a portaria consulta a lista, verifica se você tem acesso e abre ou não. Você não negocia com a porta — a decisão é centralizada na portaria.
2. Tipos de perfil
O RACF organiza a segurança em quatro tipos de perfil:
| Tipo | O que protege | Comando principal |
|---|---|---|
| USER | Identidade de um usuário — senha, atributos, grupos | ADDUSER / LISTUSER |
| GROUP | Conjunto de usuários com acesso similar | ADDGROUP / LISTGRP |
| DATASET | Datasets — sequenciais, PDS, VSAM | ADDSD / LISTDSD |
| GENERAL RESOURCE | Tudo mais — terminais, jobs, programas, facilities | RDEFINE / RLIST |
3. UACC — níveis de acesso
O UACC (Universal Access Authority) define o nível de acesso padrão para todos os usuários que não estão explicitamente listados no perfil. Os níveis são hierárquicos:
| UACC | O que permite | Uso típico |
|---|---|---|
NONE | Nenhum acesso — precisa de permissão explícita | Datasets de produção sensíveis |
READ | Leitura apenas | Datasets de referência compartilhados |
UPDATE | Leitura e escrita | Datasets de trabalho da equipe |
CONTROL | UPDATE + controle de PDSs | Raro — geralmente desnecessário |
ALTER | Acesso total — incluindo DELETE e RENAME | Owner do dataset |
💡 UACC NONE é o padrão seguro
Em ambientes bem configurados, datasets de produção têm UACC(NONE) — ninguém acessa sem estar explicitamente na lista de permissões. Isso força que cada acesso seja intencional e auditável. Datasets com UACC(READ) ou maior são "abertos" para leitura por qualquer usuário do sistema — use com cuidado.
4. Como o RACF decide quem pode acessar
Quando um acesso é solicitado, o RACF segue uma hierarquia de decisão bem definida:
- O usuário tem atributo BYPASS? → acesso concedido incondicionalmente.
- O recurso está protegido por um perfil RACF? → se não, aplica-se o padrão da instalação (geralmente acesso livre ou negado).
- O usuário está na lista de acesso (access list) do perfil? → aplica a permissão específica dele.
- O grupo do usuário está na lista de acesso? → aplica a permissão do grupo.
- Nenhuma entrada específica? → aplica o UACC do perfil.
- UACC é NONE? → acesso negado.
5. RACF, ACF2 e TopSecret
O z/OS suporta três sistemas de segurança externos (ESMs — External Security Managers). O RACF é o produto IBM, mas muitas instalações usam alternativas:
| ESM | Fabricante | Característica principal |
|---|---|---|
| RACF | IBM | Modelo baseado em perfis de recurso — proteção por objeto |
| ACF2 | Broadcom (CA) | Modelo baseado em regras por usuário — proteção por sujeito |
| TopSecret | Broadcom (CA) | Modelo baseado em departamentos e divisões |
Os conceitos de segurança (perfis, access lists, UACC) são similares entre os três. Se você aprender RACF, vai conseguir se orientar nos outros com alguma adaptação. Esta trilha foca exclusivamente no RACF.