...
Segurança
...
em
...
Projetos
...
Este
...
documento
...
centraliza
...
as
...
informações
...
sobre
...
a
...
segurança
...
em
...
projetos
...
que
...
seguem
...
o
...
padrão
...
3PUP.
...
Os
...
níveis
...
de
...
segurança
...
são
...
balizados
...
por
...
necessidades
...
de
...
negócio
...
e
...
também
...
pelas
...
características
...
das
...
ferramentas
...
utilizadas
...
nos
...
projetos,
...
com
...
ênfase
...
central
...
nos
...
produtos
...
Atlassian
...
Jira
...
(gerência
...
de
...
atividades),
...
Atlassian
...
Confluence
...
(wiki
...
corporativa),
...
Atlassian
...
...
(visualizador
...
de
...
repositório
...
versionado),
...
Atlassian
...
CrowD
...
(autenticador
...
e
...
autorizador)
...
e
...
diretórios
...
corporativos
...
nos
...
padrões
...
mais
...
comuns,
...
como
...
Active
...
Directory
...
e
...
LDAP.
...
Política
...
de
...
Liberdade
...
Todo
...
o
...
fundamento
...
de
...
segurança
...
em
...
um
...
ambiente
...
é
...
balizado
...
pela
...
política
...
de
...
liberdade
...
da
...
organização,
...
as
...
quais
...
indicam
...
qual
...
o
...
nível
...
de
...
acesso
...
primário
...
(ou
...
seja,
...
quando
...
nada
...
é
...
especificado)
...
para
...
o
...
conteúdo.
...
Assim,
...
as
...
organizações
...
podem
...
ser
...
caracterizadas
...
como
...
tendo
...
políticas
...
restritivas
...
ou
...
permissivas.
...
Em
...
organizações
...
norteadas
...
por
...
políticas
...
restritivas,
...
exceto
...
explicitamente
...
documentado,
...
tudo
...
é
...
restringido.
...
Em
...
organizações
...
norteadas
...
por
...
políticas
...
permissivas,
...
exceto
...
explicitamente
...
documentado,
...
tudo
...
é
...
permitido.
...
Política
...
de
...
Liberdade
...
em
...
Projetos
...
3PUP
...
A
...
opção
...
por
...
um
...
determinado
...
tipo
...
de
...
política
...
de
...
liberdade
...
é
...
influenciado
...
por
...
diversos
...
fatores,
...
cada
...
qual
...
possuindo
...
um
...
peso
...
em
...
virtude
...
do
...
tipo
...
de
...
negócio
...
da
...
organização.
...
Organizções
...
bancárias,
...
por
...
exemplo,
...
tendem
...
a
...
obtar
...
por
...
políticas
...
restritivas,
...
uma
...
vez
...
que
...
as
...
informações
...
financeiras
...
envolvidas
...
geralmente
...
têm
...
impacto
...
estratégico
...
no
...
negócio.
...
Já
...
projetos
...
em
...
software
...
livre,
...
por
...
exemplo,
...
geralmente
...
possuem
...
políticas
...
permissivas,
...
pois
...
o
...
objetivo
...
central
...
é
...
disseminar
...
a
...
informação.
...
Considerando
...
os
...
fatores
...
que
...
influenciam
...
o
...
3PUP,
...
a
...
política
...
de
...
liberdade
...
adotada
...
é
...
a
...
a
...
permissiva.
...
Modelos
...
de
...
Segurança
...
Idealmente,
...
a
...
segurança
...
em
...
projetos
...
pode
...
ser
...
aplicada
...
com
...
base
...
nos
...
papéis
...
desempenhados
...
pelos
...
envolvidos.
...
Assim,
...
níveis
...
diferenciados
...
de
...
acesso
...
poderiam
...
ser
...
alocados
...
para
...
gerentes,
...
diretores,
...
gestores,
...
estagiários,
...
etc.
...
Ainda,
...
poderiam
...
ser
...
elencadas
...
as
...
áreas
...
de
...
atuação
...
dos
...
envolvidos,
...
dando
...
margem
...
a
...
gerentes
...
financeiros,
...
gerentes
...
administrativos,
...
diretores
...
de
...
marketing,
...
etc.
...
Independente
...
ao
...
uso
...
vinculado
...
de
...
cargos
...
e
...
áreas,
...
podemos
...
asumir
...
esses
...
elementos
...
apenas
...
como
...
sendo
...
papéis
...
desempennados
...
por
...
alguma
...
pessoa,
...
ou
...
mesmo
...
um
...
serviço
...
(sistema
...
externo)
...
que
...
interage
...
no
...
projeto.
...
Para
...
alcançar
...
níveis
...
detalhados
...
de
...
gerenciamento
...
de
...
permissões,
...
as
...
ferramentas
...
devem
...
ter
...
suporte
...
a
...
modelos
...
extremamente
...
granulares,
...
podendo
...
vincular
...
perfis,
...
áreas
...
e
...
permissões
...
em
...
níveis
...
elementares.
...
Infelizmente,
...
esse
...
modelo
...
de
...
segurança
...
nem
...
sempre
...
é
...
bem
...
desenvolvido
...
nas
...
soluções
...
de
...
mercado,
...
e
...
por
...
isso,
...
elas
...
acabam
...
optando
...
por
...
modelos
...
mais
...
simples,
...
como
...
aqueles
...
encontrados
...
em
...
diretórios
...
corportativos,
...
como
...
LDAP
...
ou
...
Active
...
Directory.
...
Nesses
...
modelos,
...
o
...
conceito
...
de
...
papel
...
(ou
...
role
...
,
...
no
...
jargão
...
de
...
TI)
...
é
...
substituído
...
pela
...
aglutinação
...
de
...
elementos
...
(usuário)
...
em
...
conjuntos
...
maiores,
...
que
...
são
...
os
...
grupos.
...
Um
...
grupo
...
poderia
...
ser
...
então
...
algo
...
como
...
gerentes
...
ou
...
gerentes_do_financeiro
...
ou
...
diretores_de_marketing
...
.
...
Ao
...
leigo,
...
isso
...
soaria
...
como
...
conceitos
...
iguais.
...
Entretanto
...
isso
...
não
...
é
...
verdade.
...
Grupos
...
são
...
apenas
...
aglutinações
...
de
...
usuários.
...
Papéis
...
ou
...
Roles
...
(vamos
...
adotar
...
esse
...
teremo
...
de
...
agora
...
em
...
diante),
...
representam
...
a
...
vinculação
...
entre
...
um
...
usuário
...
ou
...
grupo
...
e
...
sua
...
função
...
no
...
sistema.
...
Para
...
ficar
...
mais
...
claro
...
esse
...
conceito,
...
observe
...
a
...
figura
...
abaixo:
...
TODO:
...
Colocar
...
figura
...
com
...
um
...
sistema
...
e
...
suas
...
operações
...
a
...
esquerda
...
e
...
a
...
direta
...
usuarios
...
e
...
grupos.
...
No
...
meio
...
da
...
figura,
...
colocar
...
os
...
papeis,
...
e
...
fazer
...
entao
...
ligacao
...
entre
...
os
...
elementos.
...
Nessa
...
figura,
...
fica
...
clara
...
a
...
possibilidade
...
de
...
um
...
mesmo
...
usuário
...
(ou
...
grupo)
...
possuir
...
roles
...
diferentes
...
em
...
sistemas
...
diferentes.
...
Assim,
...
as
...
roles
...
resolvem
...
problemas
...
comuns
...
que
...
seriam
...
encontrados
...
em
...
um
...
sistema
...
de
...
segurança
...
baseado
...
somente
...
em
...
grupos
...
e
...
usuários,
...
que
...
seria
...
a
...
necessidade
...
de
...
um
...
mesmo
...
grupo
...
(ou
...
usuário)
...
precisar
...
desempenhar
...
papéis
...
diferentes
...
em
...
sistemas
...
diferentes
...
(em
...
outras
...
palavras,
...
o
...
problema
...
seria
...
a
...
proliferação
...
de
...
grupos
...
no
...
mecanismo
...
de
...
controle,
...
como
...
o
...
Active
...
Directory,
...
LDAP
...
ou
...
outra
...
ferramenta).
...
Modelos de Segurança nas Ferramentas Adotadas pelo 3PUP
Mesmo tendo noção que o modelo de segurança baseado em roles é muito mais interessante, como dito, nem todas ferramentas o suportam. Assim, é importante analisar as ferramentas adotadas no 3PUP.
- Atlassian Jira: O Jira permite um modelo híbrido e muito granular de permisões. Ele suporte o conceito de roles e também de grupos. Ainda, permite agrupar roles em níveis mais altos ainda, formando o conceito de esquemas de segurança. Assim usuários e grupos podem ser atrelados a roles diversas; cada role pode estar associada a várias operações dentro do sistema e ao final, as roles são aglutinadas em esquemas de segurança, os quais são vinculados a um projeto. Como mecanismo de extensão, o Jira ainda permite criar a chamada "segurança horizontal", que significa que uma tarefa de projeto pode ser visualizada por uma role específica, a qual pode ou não fazer parte do esquema de segurança e ser composta de grupos, usuários ou mesmo outras roles.
- Atlassian Confluence: O Confluence é menos flexível que o Jira, e permite somente o controle de acesso através de grupos ou usuários. A vantagem é que o Confluence pode reusar os grupos e usuários do Jira de forma simples e transparente.
- Atlassian FishEye: O FishEye permite o controle de segurança por grupos e usuários, e não permite compartilhar essas informações com o Jira nem com o Confluence.
- Atlassian Crowd: É um centralizador de segurança para todos os sistemas da Atlassian ou mesmo produtos externos. Ele reusa grupos e usuários de serviços como LDAP e Active Directory e permite que o Jira, Confluence e o FishEye valam-se desses usuários e grupos para definir suas permissões. Assim, toda a gerência de usuários e grupos fica no Crowd.
- Subversion: O subversion, ou simplesmente SVN é a ferramenta de versionamento de conteúdo padrão no modelo 3PUP. Ele é balizado por grupos e usuários, e pode compartilhar essas informações de diretórios corporativos como LDAP e Active Directory.
Grupos Padrões
Independente do suporte da ferramenta, grupos e usuários são o denominador comum de qualquer modelo de segurança.
Após análise cuidadosa de todos os aspectos dos projetos, o seguinte modelo padrão de grupos e usuários é utilizado:
Tipo | Nome padrão | Grupos padrões | Roles padrões diretas (Jira) | Permissões padrões | Exemplos | Descrição |
|---|---|---|---|---|---|---|
Usuário comum | <nome>.<sobrenome> | - | - | - | joao.netto | A utilização do formato nome.sobrenome é adotada para suportar o cenário de crescimento da base de usuários. Ainda, na eventualidade de repetições começarem a surtir, prefixos podem ser usados, preferencialmente a primeira inicial do nome seguido do segundo nome e depois, pelo sobrenome (terceiro exemplo, o onde o nome da pessoa provavelmente é João Paulo da Silva). |
Usuário de nível cliente padrão da entidade | user.<empresa> | empresa-<empresa> | - | Ver todos projetos da sua empresa | user.trt4 | Este usuário deve ser criado toda vez que um grupo de empresa é criado. Esse usuário é utilizado pela empresa cliente do projeto para acompanhar as demandas de todos os seus projetos. |
Grupo de usuários de entidades | empresa- | Cliente |
| empresa-herc |
| |
Grupo de usuários diretores de entidades | empresa-<nome> |
|
|
|
|
|
Grupo de usuários de projeto de nível inferior | <projeto>-users |
|
|
|
|
|
Grupo de usuários de projeto de nível intermediário | <projeto> |
|
|
|
|
|
Grupo de usuários de projeto de nível superior | <projeto> |
|
|
|
|
|
Grupo de usuários de sistema | confluence-users |
|
|
|
|
|
Usuários de sistema | jira-admin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Repositório 3pup - http://3layer.no-ip.info/svn/3p/3pup/trunk/
...
- Repositório
...
- 3pup-demo
...
- -
...
...
Grupos e Permissões
O controle de acesso em projetos baseados na metodologia 3PUP é definido por roles padrões, que são ligadas aos perfis definidos nos projetos.
Na figura anexa, um exemplo de configuração de permissões no Confluence, que não suporta roles e sim faz a configuração por grupos.
__
DICA: Para mais informações sobre os níveis de permissões, acesse http://www.atlassian.com/software/jira/docs/latest/project_role_management.html
...
.