Sou bem novo no LDAP & tentando projetar um esquema para uma necessidade particular.
Eu tenho uma organização de suporte.
Existem três níveis
P1 - permissões mais baixas
P2 - meio
P3 - permissões mais altas.
Eu dividi a equipe de suporte em subequipes.
TeamA gerencia clientes A1, A2, A3, etc
TeamB gerencia clientes B1, B2, B3, etc.
O cliente A1 tem seus usuários internos.
Usuários internos de cada cliente têm 2 níveis de permissões, P1 ou P2. Suas permissões P1 ou P2 são apenas para coisas relevantes para elas mesmas. ou seja, um P2 do Cliente A1 não terá nenhuma permissão para o Cliente A2.
As pessoas do TeamA (que gerenciam os clientes A1, A2, etc.) têm permissões P1 ou P2.
Uma pessoa da TeamA que tenha permissões P2 terá permissões P2 para cada cliente gerenciado pela TeamA. Ou seja, uma equipe A P2 terá P2 para A1, A2, A3 (todos eles).
Depois, há uma equipe de suporte super.
Aqui as pessoas não são específicas para grupos de clientes.
Um P2 da equipe do SuperSupport terá permissões P2 para o Cliente A1, Cliente B1 - para tudo.
Um P3 será semelhante.
Eu projetei um esquema
# Root node
dn: dc=myorg,dc=com
objectclass: organization
objectclass: dcObject
o: myorg.com
dc: myorg
# Groups
dn: ou=Groups, dc=myorg,dc=com
objectclass: organizationalUnit
ou: Groups
dn: cn=P1, ou=Groups, dc=myorg,dc=com
objectclass: organizationalRole
cn: P1
description: Lowest level
dn: cn=P2, ou=Groups,dc=myorg,dc=com
objectclass: organizationalRole
cn: P2
description: Higher level
dn: cn=P3, ou=Groups,dc=myorg,dc=com
objectclass: organizationalRole
cn: P3
description: Highest level of Support
# Teams
dn: ou=Team, dc=myorg,dc=com
objectclass: organizationalUnit
ou: partner
description: Teams
# Team A
dn: ou=teamB, ou=Team, dc=myorg,dc=com
objectclass: organizationalUnit
ou: teamA
description: Team A
# Team B
dn: ou=teamb, ou=Team, dc=myorg,dc=com
objectclass: organizationalUnit
ou: teamB
description: Team B
# Customers
# Customer A1 of Team A
dn: ou=custa1, ou=teama, ou=Team dc=myorg,dc=com
objectclass: organizationalUnit
ou: custa1
description: Some Org
# Customer B2 of Team B
dn: ou=custb2, ou=teamb, ou=Team, dc=myorg,dc=com
objectclass: organizationalUnit
ou: custb2
description: Some other Org
É correto até isso?
Estou ficando um pouco além disso - como coloco pessoas de equipes diferentes, clientes diferentes, super suporte etc, para que seja fácil descobrir facilmente depois de vincular o servidor ldap com um uname / passwd - quais permissões esse usuário em particular possui.
Alguém pode me ajudar ou me indicar um esquema de amostra para requisitos semelhantes?