Controlar direitos de acesso (AD DS)

Todos os objetos nos Serviços de Domínio Ative 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 Entradas de Controle de Acesso (ACEs) 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 forma não suportada pelos direitos de acesso padrão. Para facilitar isso, os Serviços de Domínio Ative 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 alargados, que são operações especiais não abrangidas pelo conjunto normalizado 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 usuário específico pode fazer com que outro usuário envie email em seu nome. Os direitos estendidos são criados em objetos de controlAccessRight definindo o atributo validAccesses como igual ao direito de acesso ADS_RIGHT_DS_CONTROL_ACCESS (256).

  • Para definir conjuntos de propriedades, para permitir 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 para uma única ACE controlar o acesso a um conjunto de atributos. Por exemplo, a classe de usuário suporta o conjunto de propriedades Informações Pessoais que inclui atributos como endereço e número de telefone. Os direitos de conjunto de propriedade são criados em objetos de 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, para exigir que o sistema execute a verificação de valor, 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 está associada a uma permissão especial que é distinta da permissão "Gravar <atributo>" 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 no objetos controlAccessRight conterá o direito de acesso ADS_RIGHT_DS_SELF (8).

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

    • Self-Membership permissão em um objeto Grupo, que permite que a conta do chamador, mas nenhuma outra conta, seja adicionada ou removida da associação de um grupo.
    • Validated-DNS-Host-Name permissão 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.
    • Validated-SPN permissão 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 de 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 de uma floresta. Há uma série de direitos de acesso de controle predefinidos e, é claro, os direitos de acesso personalizados também podem ser definidos.

Todos os direitos de acesso de controle podem ser vistos 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: