Compartilhar via


Controle direitos de acesso (AD DS)

Todos os objetos no Active Directory Domain Services dão suporte a um conjunto padrão de direitos de acesso definido 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 de objeto. No entanto, para algumas classes de objeto, pode ser desejável controlar o acesso de uma maneira não compatível com os direitos de acesso padrão. Para facilitar isso, os Serviços de Domínio do 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 do acesso a um subconjunto dos 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 um único ACE controlar o acesso a um conjunto de atributos. Por exemplo, a classe de usuário dá suporte ao conjunto de propriedades informações pessoais que inclui atributos como endereço de rua e número de telefone. Os direitos de 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, 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 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 "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 tiver sido configurado no sistema como uma gravação validada, o atributo validAccesses no controlAccessRight objetos 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:

    • Self-Membership permissã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.
    • Validated-DNS-Host-Name permissão em um objeto Computer, que permite que um atributo de nome de host DNS que esteja em conformidade com o nome do computador e o nome de domínio sejam definidos.
    • Validated-SPN permissão em um objeto Computer, que permite que um atributo SPN que esteja em conformidade com o nome do 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 De configuração, embora conjuntos de propriedades e gravações validadas não sejam considerados direitos estendidos. Como o contêiner de 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 um ACE para controlar o acesso de leitura/gravação a um conjunto de propriedades, consulte código de exemplo para definir um 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: