Controlar Direitos de Acesso (AD DS)

Todos os objetos nos Serviços de Domínio Active Directory oferecem suporte a um conjunto padrão de direitos de acesso definidos na enumeração ADS_RIGHTS_ENUM. Esses direitos de acesso podem ser usados nas ACEs (Entradas de Controle de Acesso) do descritor de segurança de um objeto para controlar o acesso ao objeto; ou seja, para controlar quem pode executar operações padrão, como criar e excluir objetos filho ou ler e gravar os atributos do objeto. No entanto, para algumas classes de objeto, pode ser desejável controlar o acesso de uma maneira não suportada pelos direitos de acesso padrão. Para facilitar isso, os Serviços de Domínio Active Directory permitem que o mecanismo de controle de acesso padrão seja estendido por meio do objeto controlAccessRight .

Os direitos de acesso de controle são usados de três maneiras:

  • Para direitos estendidos, que são operações especiais não cobertas pelo conjunto padrão de direitos de acesso. Por exemplo, a classe de usuário pode receber um direito "Enviar como" que pode ser usado pelo Exchange, Outlook ou qualquer outro aplicativo de email, para determinar se um determinado usuário pode fazer com que outro usuário envie emails em seu nome. Os direitos estendidos são criados em objetos controlAccessRight definindo o atributo validAccesses como igual ao direito de acesso ADS_RIGHT_DS_CONTROL_ACCESS (256).

  • Para definir conjuntos de propriedades, para habilitar o controle de acesso a um subconjunto de atributos de um objeto, em vez de apenas aos atributos individuais. Usando os direitos de acesso padrão, uma única ACE pode conceder ou negar acesso a todos os atributos de um objeto ou a um único atributo. Os direitos de acesso de controle fornecem uma maneira de uma única ACE controlar o acesso a um conjunto de atributos. Por exemplo, a classe de usuário oferece suporte ao conjunto de propriedades Personal-Information que inclui atributos como endereço e número de telefone. Os direitos do conjunto de propriedades são criados em objetos controlAccessRight definindo o atributo validAccesses para conter os direitos de acesso ACTR_DS_READ_PROP (16) e ACTRL_DS_WRITE_PROP (32).

  • Para gravações validadas, exigir que o sistema execute a verificação de valores, ou validação, além do que é exigido pelo esquema, antes de gravar um valor em um atributo em um objeto DS. Isso garante que o valor inserido para o atributo esteja em conformidade com a semântica necessária, esteja dentro de um intervalo legal de valores ou passe por alguma outra verificação especial que não seria executada para uma simples gravação de baixo nível no atributo. Uma gravação validada é associada a uma permissão especial que é distinta da permissão "Atributo> de gravação<" que permitiria que qualquer valor fosse gravado no atributo sem nenhuma verificação de valor executada. A gravação validada é o único dos três direitos de acesso de controle que não podem ser criados como um novo direito de acesso de controle para um aplicativo. Isso ocorre porque o sistema existente não pode ser modificado programaticamente para impor a validação. Se um direito de acesso de controle foi configurado no sistema como uma gravação validada, o atributo validAccesses nos objetos controlAccessRight conterá o direito de acesso ADS_RIGHT_DS_SELF (8).

    Há apenas três gravações validadas definidas no esquema do Active Directory do Windows 2000:

    • Permissão de autoassociação em um objeto Group, que permite que a conta do chamador, mas nenhuma outra conta, seja adicionada ou removida da associação de um grupo.
    • Permissão Validated-DNS-Host-Name em um objeto Computer, que permite que um atributo de nome de host DNS compatível com o nome do computador e o nome de domínio seja definido.
    • Permissão SPN validada em um objeto Computer, que permite que um atributo SPN compatível com o nome de host DNS do computador seja definido.

Por conveniência, cada direito de acesso de controle é representado por um objeto controlAccessRight no contêiner Extended-Rights da partição Configuration, mesmo que conjuntos de propriedades e gravações validadas não sejam considerados direitos estendidos. Como o contêiner Configuração é replicado em toda a floresta, os direitos de controle são propagados em todos os domínios em uma floresta. Há uma série de direitos de acesso de controle predefinidos e, é claro, direitos de acesso personalizados também podem ser definidos.

Todos os direitos de acesso de controle podem ser exibidos como permissões no Editor de ACL.

Para obter mais informações e um exemplo de código C++ e Visual Basic que define uma ACE para controlar o acesso de leitura/gravação a um conjunto de propriedades, consulte Código de exemplo para definir uma ACE em um objeto de diretório.

Para obter mais informações sobre como usar direitos de acesso de controle para controlar o acesso a operações especiais, consulte: