Configurando grupos dinâmicos
Para usar grupos dinâmicos, siga essas etapas:
cad140br
Para usar grupos dinâmicos, siga essas etapas:
- Adicionar integrantes ao grupo dinâmico.Você pode executar uma ou ambas as ações a seguir:
- Crie uma função de aplicativo.
- Configure funções de diretório dinâmicas.
Você também pode excluir um integrante de um grupo dinâmico.
Ativar grupos dinâmicos
Funções dinâmicas se baseiam no atributo
dxMemberURL
das classes de objeto a seguir:- dxDynamicGroupOfNames
- dxDynamicGroupOfUniqueNames
Você pode adicionar esses atributos à classe de objeto
groupOfNames
ou groupOfUniqueNames
respectivamente, para que dxMemberURL
possa ser incluído.Observação
: é um equívoco comum que groupOfUniqueNames
seja escolhido em vez de groupOfNames
para garantir que os valores do integrante sejam exclusivos. Ambas as classes de objeto groupOfNames
e groupOfUniqueNames
garantem que os valores do integrante sejam exclusivos. Para groupOfUniqueNames
, o atributo uniqueMember
define uma sintaxe diferente, nameAndOptionalUID
. Esse suporte é incluído para ajudar os clientes a mudarem de uma implantação existente do x.500 para o CA Directory. Nesse cenário, duas entradas podem existir na árvore de informações de diretório com o mesmo DN, mas essas entradas são diferenciadas com um identificador exclusivo. Para implantações somente com LDAP em que a parte de UID da sintaxe nameAndOptionalUID
não seja usada, use groupOfNames/member
, já que esta funcionalidade é a mesma.Siga estas etapas:
- Interrompa o DSA.
- Adicione os seguintes comandos às configurações do DSA:clear dynamic-group; set dynamic-group [tag] = { subtree = DN object-class = objectClass url-attr = attribute member-attr = attribute };Por exemplo:clear dynamic-group; # to allow command to be reloaded on dxserver init set dynamic-group GROUP = { subtree = <c AU><o Democorp><ou Groups> objectclass = dxDynamicGroupOfNames url-attr = dxMemberURL member-attr = member };
- Inicie o DSA.
- Certifique-se de que a DIT contenha uma subárvore na qual seja possível armazenar as entradas do grupo.Observação:usando o parâmetro [subtree = DN], você também pode especificar a subárvore dynamic-group para inspecionar o baseObject de cada solicitação recebida pelo DSA. Usando esse parâmetro, você pode restringir a pesquisa a apebas essa subárvore. Este parâmetro suporta a pesquisa de associação do grupo dinâmico e compara as solicitações sem precisar do comandoset use-dynamic-roles = true;.Por exemplo, os exemplos usam a seguinte subárvore:ou=Groups,o=Democorp,c=AU
Criar um grupo dinâmico
Como um grupo dinâmico é uma entrada de diretório, você pode criar um grupo dinâmico sem interromper o DSA.
Crie uma subárvore especial para as entradas do grupo. Essa etapa o ajudará a, posteriormente, implementar os controles de acesso e as funções.
Siga estas etapas:
- (Opcional) Se não existir uma subárvore, crie uma subárvore para as entradas do grupo.
- Crie uma entrada na subárvore de grupos com as seguintes informações:
- Classe de objeto:groupOfNames,dxDynamicGroupOfNames
- Filtro de pesquisa LDAP: inclua este filtro no atributodxMemberURL.
Exemplo: criar uma entrada de grupo dinâmico para os
gerentes
Crie uma subárvore de grupo dinâmico e uma entrada de grupo dinâmico para os usuários que tenham a função de gerente.
dn: ou=Groups,o=Democorp,c=AUobjectClass: organizationalUnitdn: cn=Managers,ou=Groups,o=Democorp,c=AUobjectClass: groupOfNames # structural objectClass that contains memberobjectClass: dxDynamicGroupOfNames # auxiliary objectClass that contains dxMemberURLdxMemberURL: ldap://ou=Users,o=Democorp,c=AU??sub?(position=Manager)
Adicionar um integrante a um grupo dinâmico
Para adicionar um integrante a um grupo dinâmico, inclua informações na entrada do usuário para que o filtro daquela função seja satisfeito.
Exemplo: adicionar o usuário
Craig Link
ao grupo Gerentes
Você criou um grupo dinâmico que usa o filtro a seguir:
ldap://ou=Users,o=Democorp,c=AU??sub?(position=Manager)
Para atribuir o grupo de gerentes a um usuário, siga as seguintes etapas:
- Adicione o atributopositionà entrada de um usuário.
- Adicione o valorGerenteao atributo position.
Na próxima vez que o grupo
Gerente
for avaliado, esse usuário será um integrante do grupo.dn: cn=Craig Link,ou=Users,o=Democorp,c=AUobjectClass: inetOrgPersonsurname: Linkposition: Manager
Excluir um integrante de um grupo dinâmico
Você pode impedir manualmente que o atributo de integrante de um grupo dinâmico seja preenchido. Às vezes, o atributo de integrante de um grupo dinâmico é preenchido com valores indesejados. Esses dados subjacentes fazem com que uma entrada corresponda ao URL LDAP do grupo dinâmico, que não pode ser alterado. Esses valores podem ser excluídos manualmente por meio do atributo
dxExcludeMember
dos grupos dinâmicos.Exemplo: excluir o usuário
Joe Bloggs
do grupo Administradores
Considere um usuário que é um administrador fora do diretório (title=Administrator). Esse atributo também tem funções de diretório sobre as quais o usuário não deve ter privilégios de administrador.
Se tivermos o seguinte grupo dinâmico:
dn: cn=Administrators,ou=Groups,o=Democorp,c=AUobjectClass: groupOfNamesobjectClass: dxDynamicGroupOfNamesdxMemberURL: ldap:///ou=Users,o=Democorp,c=AU??sub?(title=Administrator)
O grupo terá o seguinte usuário que satisfaz
dxMemberURL
:dn: cn=Joe Bloggs,ou=Users,o=Democorp,c=AUobjectClass: inetOrgPersonsurname: Bloggstitle: Administrator
Você pode excluir o usuário do grupo dinâmico, mas pode reter o valor do atributo de título, fazendo a seguinte alteração no grupo dinâmico:
dn: cn=administrators,ou=Groups,o=Democorp,c=AUobjectClass: groupOfNamesobjectClass: dxDynamicGroupOfNamesdxMemberURL: ldap:///ou=Users,o=Democorp,c=AU??sub?(title=Administrator)dxExcludeMember: cn=Joe Bloggs,ou=Users,o=Democorp,c=AU
Excluir um integrante da associação de grupo dinâmico afeta as seguintes operações que envolvem um grupo dinâmico:
- Pesquisas de associação: se você excluir um integrante, a pesquisa na subárvore do grupo dinâmico comfilter containing member=<DN>não retornará nenhum resultado.
- Pesquisas de função: se o integrante for excluído explicitamente, a carga de funções quando um usuário se vincular a um DSA será afetada. As funções pertencentes ao integrante excluído não serão mais carregadas. (requerset use-dynamic-roles = true;)
- Expansão do grupo dinâmico: retornar um grupo dinâmico que use uma pesquisa base-object-only que retorne todos os atributos não inclui o integrante excluído na lista de valores de atributos do integrante.
Observações:
- Existe uma limitação ao retornar um grupo dinâmico usando uma pesquisa base-object-only. Se for especificada uma lista de atributos de retorno, ela deverá conter ao menos objectClass,dxMemberURLedxExcludeMemberpara que o atributo do integrante seja preenchido corretamente.
- Se você usardxDynamicGroupOfUniqueNames, configure o grupo dinâmico para usar o atributodxExcludeUniqueMember.
- Se você adicionar um grande número de valores (> 100) adxExcludeMember, talvez seja necessário refazer a configuração da entrada do grupo dinâmico. Esse recurso destina-se às exceções, não à regra.
- Para grupos híbrido (que contenham integrantes estáticos e dinâmicos), um integrante estático será excluído se usado comdxExcludeMember. Em condições ideais, o valor do integrante estático deve ser removido explicitamente.
- Para grupos estáticos,dxExcludeMembernão é usado. Se o valor do integrante estático não for mais necessário, ele poderá simplesmente ser removido.
Exibir a configuração de um grupo dinâmico
Para exibir a configuração do grupo dinâmico em uso em um DSA, use o seguinte comando no console do DSA:
get dynamic-groups;
Este comando gera uma lista dos grupos dinâmicos em uso.
Exemplo: saída do comando get dynamic-groups
************** GROUP ************** Group object class : dxDynamicGroupsOfNames Group Search URL : dxMemberURL Member to Append : member Member to Exclude : dxExcludeMember