RACF

RACF

Indice da Página

Introdução

Comandos

Classes

Profiles

- De usuário

- Atributos de Usuário

- Segmentos do Usuário

- Como Adicionar uma Profile de Usuário

- Senha de Usuário

Grupos

- Como Adicionar um Grupo

- Como Alterar um Grupo

- Como Conectar um usuário em um Grupo

Dataset e General Resources

- Profile de Dataset

- Profile de General Resources


Introdução

O RACF (RESOURCE ACCESS CONTROL FACILITY ) é um software de segurança que permite o controle de acessos e proteção de recursos, garantindo a segurança e integridade do ambiernte. Suas principais funções são:

- Autenticação
Realizado em 2 passos. O primeiro é identificar o usuário que está acessando, e o segundo é autenticá-lo, para isso é usado um ID e uma senha. Pode-se ainda usar certificado digital e cartões de acesso.

- Autorização
O RACF controla a interação do ambiente com os usuários, autorizando o tipo de acesso (leitura e/ou gravação) a cada recurso e/ou datasets.

- Auditoria
Através da log, onde é gravada todo tipo de registro de acesso aos recursos, autorizado ou não.

O RACF armazena suas informações em um banco de dados, sendo consultado a todo instante que o RACF recebe um pedido de consulta. Pode-se ainda ter um banco secundário, mudando-o a qualquer instante, sem precisar parar o produto ou realizando um IPL.


COMANDOS do RACF

Os Comandos usados no RACF são divididos por tipos, ou seja, para cada tipo de definição há um grupo específico.

Comandos de Função

DEFINE
ALTER
LIST
DELETE

Comandos de Usuário

ADDUSER
ALTUSER
LISTUSER
DELUSER

Comandos de Grupo

ADDGROUP
ALTGROUP
LISTGROUP
DELGROUP

Comandos de Dataset

ADDSD
ALTDSD
LISTDSD
DELDSD

Comandos para Recurso Geral

RDEFINE
RALTER
RLIST
RDELETE

Para cada tipo de recurso existe uma variedade de comandos para se controlar os acessos.
Existem varias maneiras de se executar os comandos:

1) Pelo TSO, digitando comandos na tela principal do ISPF, ou na tela 6

RDEFINE FACILITY BPX.SUPERUSER UACC(NONE)
PERMIT BPX.SUPERUSER CLASS(FACILITY) ID(JANE) ACCESS(READ)
SEARCH MASK(FZPRKD) CLASS(DATASET)

Existe o commando HELP, que pode ser consultado a qualquer hora, seguido do comando que vc deseja saber mais informações, ou limitar a somente a SINTAX do comando em si.

2) Por batch, utilizando o programa IKJEFT01:

TSOBAT01 EXEC PGM=IKJEFT01
SYSTSPRT DD SYSOUT=*
SYSPRINT DD SYSOUT=*
SYSUADS DD DSN=SYS1.UADS,DISP=SHR
SYSLBC DD DSN=SYS1.BRODCAST,DISP=SHR
SYSTSIN DD *
<comandos>
<comandos>
<comandos>
/*

3) Pelos paineis do RACF


CLASSES


O bando de dados do RACF armazena as informações sobre os usuários grupos e recursos. Um conjunto de profiles de um mesmo tipo se torna uma classe. Quando é definido as profiles dos usuários, não se aloca ela na classes de DATASET e sim de USER, pois as profiles armazenam informações semelhantes como NOME do usuário, OWNER, AUTHORITY, etc, assim como não se cria uma profile de DATASET na classe de DASD. Existem várias classes ja pré-definidas no ambiente como USER, DATASET e GROUP, mas pode-se ativar as outras classes de acordo com a necessidade. As classes ficam armazenadas na CDT (Class Descriptor Table). Se usa o comando SETROPTS para se fazer a manutenção das classes.

SETROPTS CLASSACT(<NAMECLASS>)

Algumas classes que podem ser ativadas são:

TAPEVOL Classe de segurança para Fitas
SDSF Classe de segurança da sysout do SDSF
OPERCMDS Classe de segurança para controlar quem pode dar comandos de operador
PROGRAM Classe de segurança para programas

Pode ser ver quais classes estão ativas com o comando:

SETROPTS LIST

Pode se incluir novas classes, de acordo com a instalação de novos produtos (utilizando os comandos RDEFINE e RALTER), porém deve-se seguir as definições e particularidades do software descrita no manual do software a ser instalado.


PROFILES


Profile (ou perfil), são informações referentes aos recursos protegidos pelo RACF. Ele protege basicamente 2 tipos de recursos: Dataset ou Recursos (Resources). Tudo o que não for um dataset, é um recurso. Os recursos se resumem a DASD, fitas, programas, terminais, entre outros.

Essas informações ficam armazenadas em profiles, que são nada mais que perfis. Os profiles de Dataset contem informações como, aonde está localizado o dataset (DASD ou Fita). As profiles de Recursos contém informações genéricas. Cada recurso que é definido no RACF, é criado uma profile, porém pode-se usar uma única profile para progeter mais de um único recurso.

Discrete Tem relação de 1 para 1 com o recurso ( 1 profile para cada recurso). Ex: Se cria uma única profile para proteger um único arquivo ‘GP.PROD.AGENCIA’

Generic Tem relação de 1 para N . Uma profile controla acesso a vários recursos, onde os nomes contem padrões ou caracteres que o RACF usa para associar uns aos outros. Esse tipo de profile contém uma lista de usuários autorizados e qual tipo de acesso cada um possui.
Ex: Se cria uma profile para proteger todos os dataset que tenham ´GP.PROD´ no inicio do nome, e ainda o usuário A so pode ler enquanto o usuário B pode alterar.

Grouped Pode não conseguir criar um padrão de nome nos recursos para se criar apenas uma profile. No caso se usa uma profile grouped, aonde se agrupa vários recursos e/ou datasets sem padrão no nome, como ocorre no generic.
Ex: Uma profile para vários datasets ´GP.PROD.G0001´, ´BZ.DESA.CONTA´, ´BANANA.SPLIT´ .

1) PROFILE DE USUÁRIO

Para cada usuário, se cria um user profile na classe USER . O profile consiste em segmentos e opcionalmente outras informações relacionadas ao usuário ou ao recurso que o utiliza.

User ID -> é o nome do profile, RACF permite apenas a criação de um unico identifier para cada usuário. O tamanho máximo do usuário é 8 caracteres, mas o tamanho máximo permitido pelo TSO é 7. O ID é unico e não pode ser repetido.

Owner -> O owner do profile tem a autoridade para muda-lo. Todo profile no RACF precisa de um owner.

Password -> Campo criptografado. Não é possivel descriptografar a senha, se a senha for esquecida, o administrador pode por uma senha temporaria e o usuário pode muda-la no próximo logon.

Atributos -> Esse campo contém atributos extraordinários. Os Atributos SPECIAL, OPERATIONS e AUDITOR devem ser dado apenas a algumas pessoas.

Groups -> um user ID pertence no minino au seu proprio grupo, mas pode fazer parte de outros grupos

1.1) ATRIBUTOS DE USUÁRIO

Atributos de usuário são acessos especiais no ambiente, que podem ser assinadas ao usuario quando conectadas algum grupo especifico. Quando um atributo é aplicado no sistema inteiro, e especificado em niveis é chamado atributo de usuário. Quando um atributo é aplicado apenas em um grupo especifico é chamado de group-related user attribute.

Atributos de usuario é especificado com os comandos ADDUSER ou ALTUSER e armazenados na profile do usuário sem levar em consideraçao o grupo no qual o usuario esta conectado. Entretanto, atributos que se espefica com o comando CONNECT são validos apenas para o grupo.

Os atributos de usuários são:

SPECIAL Um usuario que tem SPECIAL pode executar todos os comandos RACF, e so é usado por administradores. Este atributo da o controle total sobre todos os profiles do banco de dados do RACF. Ainda se pode atribuir o SPECIAL num nivel de grupo. Quando se faz isso, apenas se tem acesso as profiles de quem esta dentro do grupo.

AUDITOR Este atributo é dado para os usuários que são responsáveis por auditar o RACF. Ainda se pode atribuir o AUDITOR num nivel de grupo. Quando se faz isso, apenas se tem acesso as profiles de quem esta dentro do grupo.

OPERATIONS Tem acesso total nas classes DATASET, DASDVOL, GDASDVOL, PSFMPL, TAPEVOL, VMBATCH, VMCMD, VMMDISK, VMNODE e VMRDR . Ainda se pode atribuir o OPERATIONS num nivel de grupo. Quando se faz isso, apenas se tem acesso aos recursos de acesso ao grupo.

REVOKE Não deixa o usuario entrar no sistema. Pode ser usado tambem em um grupo. Pode tambem ser programada a inclusão do REVOKE ou ate a retirada com o comando RESUME.

CLAUTH Permite criar profiles dentro de uma classe

RESTRICTED Não deixa o usuário receber acesso temporaio com os comandos de ADDUSER e ALTUSER.

PROTECTED Não revoga o acesso

WHEN Especifica uma data (dia da semana, hora do dia) que o usuario pode usar o sistema.

Quando se define um usuário é essencial que o nome do default group seja definido. Cada usuário criado precisa no minimo estar associado ao seu próprio grupo, mas pode estar associado a varios grupos. Além disso é necessário ter um owner no profile do usuário. Normalmente o default group é escolhido como o owner.

1.2) SEGMENTOS DO USUÁRIO

Quando se cria um usuario no RACF, tambem se cria o seu perfil no banco de dados. Um perfil de usuário consistem em segmentos, que são os diversos softwares do ambiente no qual o usuário precisa de acesso para trabalhar.

-> CICS
-> DCE
-> DFP
-> LANGUAGE
-> LNOTES
-> NDS
-> NETVIEW
-> OMVS
-> OPERPARM
-> OVM
-> TSO
-> WORKATTR

As informações referentes a cada segmento ficam no profile de cada usuário do RACF

USERID - identificação do usuário (ID)

NAME - Nome do usuário

OWNER - Owner do profile do usuário

DFLTGRP - Grupo padrão do usuário

AUTHORITY - Autoridade do Usuário no grupo padrão
PASSWORD - senha do usuário (criptografado)
PWD PHRASE - Opcionalmente frase-senha (criptografado)
REVOKE - Data que o RACF bloqueia o acesso desse ID no sistema
RESUME -Data que o RACF libera o acesso no sistema
UACC - Universal access authority para recursos que o usuário criar
WHEN - Dia da semana e as horas do dia que o usuario pode usar o ambiente
ADDCATEGORY - Categoria de segurança do usuário
SECLEVEL - Nivel de Segurança do usuário
CLAUTH - Classes que o usuário pode criar profiles
SPECIAL - indica se o usuário tem o atributo SPECIAL
AUDITOR - indica se o usuário tem o atributo AUDITOR
OPERATIONS - indica se o usuário tem o atributo OPERATIONS
ADSP - Indica que todos os dataset que o usuario criar serão protegidos pelo RACF
GRPACC - Indica que os usuarios de outro grupo tem acesso aos dataset do outros usuários
MODEL - Qual foi o ID modelo criado para este ID
OIDCARD - Indica que o usuario deve indicar um ID card quando logar
SECLABEL - Label default de segurança
CERTNAME - O nome da profile na classe DIGTCERT que está relacioanda a este ID
CERTLABL - O label certificado associado ao profile da Classe DIGTCERT que está relacionado a este ID

1.3) COMO ADICIONAR UMA PROFILE DE USUÁRIO

Por comandos no TSO:
ADDUSER <ID> NAME(‘NOME DO USUARIO’) DFLTGRP(<GRUPO>) OWNER(<OWNER>) PASSWORD(<SENHA TEMPORARIA>)

Pelas telas do RACF:

- Na tela principal do RACF escolher a opção “USER PROFILES AND YOUR OWN PASSWORD”

- Colocar opção 1 add e colocar o ID que será criado no campo USER

- Preencher os campos : OWNER ( user ID ), USER NAME ( nome do usuário ) e DEFAULT GROUP ( grupo )

- Preencher os campos de USER ATTRIBUTES com YES conforme necessidade:

As opções são: GROUP ACCESS, SPECIAL, ADSP, OPERATIONS, OIDCARD, AUDUTOR, etc

A mensagem Profile Added no canto superior direito da tela.

1.4) SENHA

Para se resetar a senha no caso de esquecimento ou violação pode ser emitir o comando no TSO:

ALU <USERID> RESUME PASS(<NOVASENHA>)  caso a senha esteja violada (REVOKED)
ALU <USERID> PASS(<NOVASENHA>)  caso a senha não esteja violada (REVOKED)

Ou pelas telas do RACF:

- opção 4 PASSWORD e colocando o USER ID no campo USER

- Preencher o campo de senha ou de frase-senha


GRUPOS


Um GROUP é um conjunto de usuários, que podem ser divididos em departamento, área, time ou qualquer outra divisão interna da empresa. Os grupos são hierárquicos, onde cada grupo possui um grupo acima tendo os mesmos acessos que eles. Cada usuário esta dentro de pelo menos 1 grupo. Os tipos de grupos são:

Administrative - Pode-se criar outros grupos no mesmo nivel que o atual

Holding - Grupo inicial, serve apenas para unificar profiles que futuramente serão de um único grupo.

Data Control - Tem a autoridade de controlar todos os arquivos referente aos usuário do grupo. Funciona como se fosse um ponto focal.

Functional - É usado para compartilhar acessos a várias informações sem o usuário fazer parte diretamente do grupo.

User - Tem acesso somente aos arquivos pessoas, podendo ser incluido acesso READ e/ou UPDATE a outros recursos.

2.1) COMO ADICIONAR UM GRUPO

Pela tela do TSO:

//ADDGROUP <NOME DO GRUPO> OWNER(<NOME DO OWNER>) SUPGROUP(<NOME DO GRUPO SUPERIOR>) //

Ou pelas telas do RACF:

- Opção 3 GROUP PROFILES AND USER-TO-GROUP CONNECTIONS

- Opção 1 para Adicionar, coloque o nome do grupo na opção GROUP NAME.

- Preencha o campo OWNER, e SUPERIOR GROUP.

- O Profile foi adicionado! Uma mensagem de Profile Added vai aparecer no canto direito esquerdo da tela.

2.2) COMO ALTERAR UM GRUPO

Pela Tela do TSO:

ALTGROUP <NOME DO GRUPO> OWNER(<NOME DO OWNER>) SUPGROUP(<NOME DO GRUPO SUPERIOR>) TERMUACC|NOTERMUACC

Podendo também se fazer pelas telas do RACF:

- Opção 3 GROUP PROFILES AND USER-TO-GROUP CONNECTIONS

- Opção 2 CHANGE, coloque o nome do grupo no campo GROUP NAME

- Altere as informações desejadas: Owner, Superior Group, etc.

- O grupo foi alterado. Uma mensagem de Profile Changed vai aparecer no canto direito esquerdo da tela.

2.3) CONECTANDO UM USUARIO EM UM GRUPO

Pela tela do TSO:

CONNECT <USERID> GROUP(<NOME DO GRUPO>)

Ou pelas telas do RACF:

- Opção 4 CONNECT, colocando o grupo no qual o usuario será conectado

- Preencha o campo USER com o nome do usuario que vc deseja conectar, o OWNER, qual o UACC que o usuário terá nos arquivos do grupo e a autoridade no grupo.

- Preencha os campos conforme a necessidade mudando de NO pra YES: Group Access, ADSP, Revoke, Resume, etc.

- Usuário foi conectado ao grupo! Uma mensagem de User Connected vai aparecer no canto direito esquerdo da tela.


Datasets e General Resources

3.1) PROFILE DE DATASETS

ADDSD´DATASET.NAME´UACC(<TIPO DE ACESSO>)
PERMIT <DATASET.NAME> CLASS(DATASET) ID(<USERID>) ACCESS (<TIPO DE ACESSO>)
PERMIT ‘<DATASET.NAME>’ ID(<USERID>,<USERID>,…) ACCESS (<TIPO DE ACESSO>)

Se usa o commando ADDSD para adicionar um profile de dataset e o RACF começar a protege-lô. Por padrão o RACF espera um nome de dataset com no mínimo 2 qualificadores, sendo o primeiro um GRUPO ou um USERID. Se o OWNER for um USERID, ele tem acesso total no profile, ja se for um GRUPO, usuários com group-SPECIAL neste grupo tem acesso total no profile.

Os tipos de acesso que se pode ter é:

ALTER - Todo tipo de acesso, com excessão de mudar o OWNER do profile.

NONE - Não permite acessar e nem listar

EXECUTE - Em um particionado de programas, permite carregar e executar, porém não permite ler e nem copiar os programas.

READ - Leitura (podendo copiar ou imprimir)

UPDATE - Permite ler e gravar (Não pode mover, renomear ou deletar)

CONTROL - Equivalente ao UPDATE, mas so serve para arquivos VSAM, referente aos seus registros em si.


3.2) PROFILE DE GENERAL RESOURCES

RDEF PROGRAM ADDMEM(<NOMEDORECURSO>) ADDMEM(‘<NOMEDALIB>’/<VOLUME>/
PERMIT <DATASET.NAME> CLASS(DATASET) ID(<USERID>) ACCESS (<TIPO DE ACESSO>)
PERMIT ‘<DATASET.NAME>’ ID(<USERID>,<USERID>,…) ACCESS (<TIPO DE ACESSO>)




P.S. Este arquivo tem a total contribuição do Camarada Adriel Borges.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License