DetailPage-MSS-KB

Base de Dados de Conhecimento

ID do artigo: 922836 - Última revisão: quinta-feira, 11 de outubro de 2007 - Revisão: 3.4

 

Nesta página

Sumário

serviço de diretório no Active Directory para o Microsoft Windows Server 2000 e para o Microsoft Windows Server 2003, é difícil impedir que um usuário autenticado um atributo de leitura. Em geral, se o usuário solicita READ_PROPERTY as permissões para um atributo ou sua propriedade definida, será concedido acesso de leitura. Segurança padrão no Active Directory está definida para que os usuários autenticados têm acesso de leitura a todos os atributos. Este artigo descreve como impedir o acesso de leitura para um atributo no Windows Server 2003 Service Pack 1 (SP1).

INTRODUÇÃO

Este artigo descreve como marcar um atributo como confidenciais no Windows Server 2003 Service Pack 1.

Mais Informações

Windows Server 2003 SP1 apresenta uma maneira de marcar um atributo como confidenciais. Para fazer isso, você modificar o valor do atributo searchFlags no esquema. O valor do atributo searchFlags contém vários bits que representam várias propriedades de um atributo. Por exemplo, se bit 1 for definido, o atributo será indexado. Bit 7 (128) designa o atributo como confidenciais.

Requisitos e restrições

Somente controladores de domínio que executam o Windows Server 2003 SP1 ou uma versão posterior impõem a verificação de acesso de leitura de atributos confidenciais. O recurso de atributos confidenciais está vinculado à instalação do Windows Server 2003 SP1 ou uma versão posterior. Este recurso não depende se a um domínio ou um nível funcional da floresta está habilitado.

Não use o recurso de atributos confidenciais as seguintes condições forem verdadeiras:
  • Todos os controladores de domínio baseados no Windows Server 2003 possuem o Windows Server 2003 SP1 ou posterior instalado.
  • Todos os controladores de domínio baseados no Windows 2000 tenham sido atualizados ou removidos.
Se um domínio contiver uma mistura de controladores de domínio que executam o Windows 2000 Server, a versão original do Windows Server 2003 e Windows Server 2003 SP1, a seguinte situação pode ocorrer:
  • Se um cliente não autorizado consultas controladores de domínio baseados em Windows Server 2003 no Windows 2000 Server e para dados confidenciais de atributo, o cliente pode ler os dados.
  • Se um cliente não autorizado consulta o controlador de domínio baseados no Windows Server 2003 SP1 para dados confidenciais de atributo, o cliente não é possível ler os dados.
Não é possível marcar um atributo de esquema base como confidenciais. Um código do funcionário é um exemplo de um atributo de esquema base. Este atributo não pode ser marcado como confidencial porque seu valor de atributo systemsFlags é definido como 0 x 10 (esquema base). Para obter mais informações, consulte a seção "Como determinar se um atributo é um atributo de esquema base" e a seção "Como determinar o valor do atributo searchFlags quando você usa um atributo existente".

Teste

Como você poderia testar qualquer alteração para o Active Directory e qualquer extensão de esquema, recomendamos que você teste exaustivamente as alterações de atributo em um laboratório que espelha a floresta de produção. Teste ajuda a garantia de que o procedimento funciona sem problemas e problemas são detectados.

Verificações de controle de acesso

Após a instalação do Windows Server 2003 SP1 e depois do Active Directory executa uma verificação de acesso de leitura, o Active Directory procura atributos confidenciais. Se existem atributos confidenciais e se as permissões READ_PROPERTY são definidas para esses atributos, Active Directory também exigirá CONTROL_ACCESS permissões para os atributos ou para seus conjuntos de propriedades.

Observação A configuração da permissão Full Control inclui a permissão CONTROL_ACCESS.

O Active Directory executa uma verificação acesso de leitura em um objeto nos seguintes casos:
  • Quando você avaliar se o objeto com o filtro de pesquisa.
  • Quando você retornar atributos de um objeto que correspondem ao filtro pesquisa.
Por padrão, somente os administradores têm permissões CONTROL_ACCESS para todos os objetos. Portanto, somente os administradores podem ler atributos confidenciais. Os administradores podem delegar essas permissões para qualquer usuário ou para qualquer grupo.

Entradas de controle de acesso de objeto específicos e genéricos

Cada objeto no Active Directory possui as informações de controle do acesso associadas a ele. Essas informações são conhecidas como um descritor de segurança. O descritor de segurança controla o tipo de acesso que está disponível para usuários e grupos. O descritor de segurança é criado automaticamente quando o objeto é criado.

O conjunto de entradas de permissão em um descritor de segurança é conhecido como uma lista de controle de acesso discricional (DACL). Cada entrada de permissão na DACL é conhecida como uma entrada de controle de acesso (ACE).

Você pode conceder permissões para o objeto ou conceder permissões CONTROL_ACCESS para atributos confidenciais usando uma entrada de controle de acesso genéricos ou específicos de objeto no objeto. Você pode conceder permissões por carimbo-los explicitamente no objeto ou por meio de herança. Herança significa que você definir uma entrada de controle de acesso herdáveis em um recipiente que é superior na hierarquia do recipiente.

Entradas de controle de acesso de objeto específicos e genéricos são basicamente os mesmos. O que define os separar é o grau de controle que oferecem as entradas de controle de acesso através de herança e sobre acesso a objetos. Aplicam entradas de controle de acesso genérico ao objeto inteiro. Entradas de controle de acesso específicas do objeto oferecem mais controle sobre quais objetos herdarão a entrada de controle de acesso. Quando você usa uma entrada de controle de acesso específicas do objeto, você pode especificar o atributo ou o conjunto de propriedades do objeto herdará a entrada de controle de acesso.

Quando você usa o recurso de atributos confidenciais, CONTROL_ACCESS permissão é concedida atribuindo uma entrada de controle de acesso genérico a um usuário. Se CONTROL_ACCESS permissão for concedida, atribuindo uma entrada de controle de acesso específicas do objeto, o usuário terá somente CONTROL_ACCESS permissão para o atributo confidencial.

As seguintes permissões são concedidas ao usar uma entrada de controle de acesso genérico:
  • Todos os direitos estendidos
  • Permissão para autenticar
  • Alterar senha
  • Receber como
  • Redefinir senha
  • Enviar como
As permissões concedidas ao usar uma entrada de controle de acesso genérico podem fornecer mais acesso não desejado sobre o objeto inteiro. Se esta for uma preocupação, você pode definir uma entrada de controle de acesso específicas do objeto no objeto para que a entrada de controle de acesso se aplica somente ao atributo confidencial. Quando você usar entradas de controle de acesso específicas do objeto, você pode controlar a propriedade ou a propriedade definida ao qual a entrada de controle de acesso se aplica.

A interface do usuário no Windows Server 2003 não expõe Control_Access permissões. Você pode usar a ferramenta Dsacls.exe para definir permissões Control_Access atribuindo uma entrada de controle de acesso genérico. No entanto, você não pode usar essa ferramenta para atribuir uma entrada de controle de acesso específicas do objeto. A única ferramenta que pode definir permissões Control_Access atribuindo uma entrada de controle de acesso específicas do objeto é a ferramenta LDP.exe.

Observação Uma discussão detalhada de controle de acesso está além do escopo deste artigo. Para obter mais informações sobre controle de acesso, visite os seguintes sites:
http://msdn.microsoft.com/en-us/library/aa374860(VS.85).aspx (http://msdn.microsoft.com/en-us/library/aa374860(VS.85).aspx)
http://technet.microsoft.com/en-us/library/cc749433.aspx (http://technet.microsoft.com/en-us/library/cc749433.aspx)

Como usar a herança

Em um domínio grande, não é prático atribuir manualmente controlar o acesso a um usuário ou a um grupo para cada objeto que tem um atributo confidencial. A solução é usar a herança para definir uma entrada de controle de acesso herdáveis superior na hierarquia do recipiente. Essa entrada de controle de acesso se aplica a todos os objetos filho desse recipiente.

Por padrão, a herança será habilitado para todas as unidades organizacionais (OU) e para todas as contas de usuário, exceto para a conta de administrador interna. Se você criar contas de usuário que tenha desabilitada a herança ou se você criar contas administrativas, copiando a conta de administrador interna, você deve ativar a herança para essas contas. Caso contrário, o modelo de herança não se aplica a essas contas.

Como criar um atributo confidencial

  1. Determinar quais atributos para marcar como confidenciais ou adicionar um atributo que você deseja tornar confidenciais.
  2. Conceda os usuários apropriados Control_Access permissões para que os usuários possam ver os dados de atributo.
Ferramentas como a ferramenta LDP.exe e a ferramenta ADSIEdit.msc podem ser usadas para criar um atributo confidencial. arquivos .ldf normalmente são usados para estender o esquema. Esses arquivos também podem ser usados para marcar um atributo como confidenciais. Os arquivos que você criar para uma implementação devem ser ajustados durante a fase de teste para que você saiba exatamente o que você está adicionando o esquema quando você implantar para produção. arquivos .ldf ajudar a evitar erros.

Os seguintes arquivos .ldf exemplo podem ser usados para fazer o seguinte:
  • Adicionar um atributo ao esquema
  • Marcar o atributo como confidenciais
  • Adicione o atributo para a classe de usuário
Observação Antes de usar arquivos .ldf, certifique-se de que você leia as seções "Identificadores de objeto" e "atributo sintaxe" para obter informações importantes sobre como adicionar objetos e atributos ao esquema.

Exemplos de arquivos .ldf

O código a seguir adiciona um atributo ao esquema e, em seguida, marca o atributo como confidenciais.
dn: CN=ConfidentialAttribute-LDF,CN=Schema,Cn=Configuration,DC=domain,DC=com
changetype: add
objectClass: attributeSchema
lDAPDisplayName: ConfidentialAttribute
adminDescription: This attribute stores user's confidential data
attributeID: 1.2.840.113556.1.xxxx.xxxx.1.x
attributeSyntax: 2.5.5.12
oMSyntax: 64
isSingleValued: TRUE
showInAdvancedViewOnly: TRUE
searchFlags: 128

dn:
changeType: modify
add: schemaupdatenow
schemaupdatenow: 1
-
O código a seguir adiciona o novo atributo à class. usuário
dn: CN=User,CN=Schema,CN=Configuration,DC=domain,DC=com
changetype: modify
add: mayContain
mayContain: ConfidentialAttribute

dn:
changeType: modify
add: schemaupdatenow
schemaupdatenow: 1
-

Como permitir que usuários não administrativos consulte os dados de atributo

Observação Os procedimentos a seguir exigem que você use a ferramenta LDP.exe está incluída com o Windows Server 2003 R2 aplicativo modo ADAM (Active Directory). Outras versões da ferramenta LDP.exe não é possível definir permissões.

Como definir permissões Control_Access manualmente em uma conta de usuário

  1. Abra a ferramenta LDP.exe está incluída no Windows Server 2003 R2 ADAM.
  2. Conectar e vincular para o diretório.
  3. Selecione uma conta de usuário, clique com o botão direito do mouse na conta, clique em Avançado , clique em Descritor de segurança e, em seguida, clique em OK .
  4. Na caixa DACL , clique em Adicionar ACE .
  5. Na caixa Trustee , digite o nome de grupo ou o nome de usuário ao qual você deseja conceder permissões.
  6. Na caixa de Controle , verifique se as alterações que você fez na etapa 5.

Como usar a herança para atribuir permissões Control_Access

Para usar a herança, crie uma entrada de controle de acesso que concede permissões Control_Access para os usuários desejados ou grupos que são superiores na hierarquia recipiente que os objetos que têm atributos confidenciais. Você pode definir essa entrada de controle de acesso no nível do domínio ou em qualquer ponto na hierarquia de contêiner que funciona bem para uma empresa. Os objetos filho que têm atributos confidenciais devem ter herança habilitada.

Para atribuir permissões Control_Access, execute estas etapas:
  1. Abra o arquivo Ldp.exe que está incluído no Windows Server 2003 R2 ADAM.
  2. Conectar e vincular a um diretório.
  3. Selecione uma OU ou um recipiente é quanto mais alto na hierarquia do recipiente de clique com o botão os objetos que têm atributos confidenciais, direito OU ou o recipiente, clique em Avançado , clique em Descritor de segurança e, em seguida, clique em OK .
  4. Na caixa DACL , clique em Adicionar ACE .
  5. Na caixa Trustee , digite o nome de grupo ou o nome de usuário ao qual você deseja conceder permissões.
  6. Na caixa de Controle , verifique se as alterações que você fez na etapa 5.
  7. Na caixa Tipo de objeto , clique no atributo confidencial que você adicionou.
  8. Certifique-se que a herança é ativada nos objetos de destino.

Como determinar o valor do atributo systemFlags quando você usa um atributo existente

Se você usar um objeto existente, você deve verificar o valor de atributo searchFlags atual. Se você adicionar um objeto, você pode definir o valor quando você adiciona o objeto. Há várias maneiras para obter o valor do atributo searchFlags . Use o método que funciona melhor para você.

Para usar a ferramenta LDP.exe para obter o valor do atributo searchFlags , execute essas etapas:
  1. Clique em Iniciar , clique em Executar , digite LDP e, em seguida, clique em OK .
  2. Clique em conexão e, em seguida, clique em BIND .
  3. Ligar como o administrador do domínio raiz ou ligar como uma conta que seja um administrador de empresas.
  4. Clique em Exibir e, em seguida, clique em árvore .
  5. Clique em CN = schema, cn = configuration, dc = rootdomain e em seguida, clique em OK .
  6. No painel esquerdo, expanda CN = schema, cn = configuration, dc = rootdomain.
  7. Localize o nome de domínio do atributo que você deseja marcar como confidencial e depois expandi-lo.
  8. Na lista de atributos que são preenchidos para o objeto, localize searchFlags para determinar o valor de atributo searchFlags atual para esse objeto.
Observação Para determinar o novo valor do atributo searchFlags , use a seguinte fórmula:
128 + current searchFlags attribute value = new searchFlags attribute value

Como determinar se um atributo é um atributo de esquema base

Para determinar se um atributo é um atributo de esquema base, use a ferramenta LDP.exe para examinar o valor do atributo systemFlags .

LDP saída do funcionário-ID – systemFlags: 0 x 10 = (FLAG_SCHEMA_BASE_OBJECT)

A saída de LDP.exe exemplo seguinte, LDP.exe identifica o valor do atributo systemFlags como 0 x 10 e como um atributo de esquema base. Portanto, você não pode marcar esse atributo como confidenciais.
>> Dn: CN=Employee-ID,CN=Schema,CN=Configuration,DC=domain,DC=com
	2> objectClass: top; attributeSchema; 
	1> cn: Employee-ID; 
	1> distinguishedName: CN=Employee-ID,CN=Schema,CN=Configuration,DC=domain,DC=com; 
	1> instanceType: 0x4 = ( IT_WRITE ); 
	1> whenCreated: 08/05/2005 14:58:58 Central Standard Time; 
	1> whenChanged: 08/05/2005 14:58:58 Central Standard Time; 
	1> uSNCreated: 220; 
	1> attributeID: 1.2.840.113556.1.4.35; 
	1> attributeSyntax: 2.5.5.12 = ( SYNTAX_UNICODE_TYPE ); 
	1> isSingleValued: TRUE; 
	1> rangeLower: 0; 
	1> rangeUpper: 16; 
	1> uSNChanged: 220; 
	1> showInAdvancedViewOnly: TRUE; 
	1> adminDisplayName: Employee-ID; 
	1> adminDescription: Employee-ID; 
	1> oMSyntax: 64 = ( OM_S_UNICODE_STRING ); 
	1> searchFlags: 0x0 = (  ); 
	1> lDAPDisplayName: employeeID; 
	1> name: Employee-ID; 
	1> objectGUID: 64fb3ed1-338f-466e-a879-595bd3940ab7; 
	1> schemaIDGUID: bf967962-0de6-11d0-a285-00aa003049e2; 
	1> systemOnly: FALSE; 
	1> systemFlags: 0x10 = ( FLAG_SCHEMA_BASE_OBJECT ); 
	1> objectCategory: CN=Attribute-Schema,CN=Schema,CN=Configuration,DC=domain,DC=com;

Saída LDP do número de funcionário systemFlags: 0 x 0 =)

Na saída de LDP.exe exemplo seguinte, o LDP.exe identifica o valor do atributo systemFlags como 0. This attribute can be marked as confidential.
>> Dn: CN=Employee-Number,CN=Schema,CN=Configuration,DC=warrenw,DC=com
	2> objectClass: top; attributeSchema; 
	1> cn: Employee-Number; 
	1> distinguishedName: CN=Employee-Number,CN=Schema,CN=Configuration,DC=warrenw,DC=com; 
	1> instanceType: 0x4 = ( IT_WRITE ); 
	1> whenCreated: 08/05/2005 14:58:58 Central Standard Time; 
	1> whenChanged: 08/05/2005 14:58:58 Central Standard Time; 
	1> uSNCreated: 221; 
	1> attributeID: 1.2.840.113556.1.2.610; 
	1> attributeSyntax: 2.5.5.12 = ( SYNTAX_UNICODE_TYPE ); 
	1> isSingleValued: TRUE; 
	1> rangeLower: 1; 
	1> rangeUpper: 512; 
	1> mAPIID: 35943; 
	1> uSNChanged: 221; 
	1> showInAdvancedViewOnly: TRUE; 
	1> adminDisplayName: Employee-Number; 
	1> adminDescription: Employee-Number; 
	1> oMSyntax: 64 = ( OM_S_UNICODE_STRING ); 
	1> searchFlags: 0x0 = (  ); 
	1> lDAPDisplayName: employeeNumber; 
	1> name: Employee-Number; 
	1> objectGUID: 2446d04d-b8b6-46c7-abbf-4d8e7e1bb6ec; 
	1> schemaIDGUID: a8df73ef-c5ea-11d1-bbcb-0080c76670c0; 
	1> systemOnly: FALSE; 
	1> systemFlags: 0x0 = (  ); 
	1> objectCategory: CN=Attribute-Schema,CN=Schema,CN=Configuration,DC=warrenw,DC=com; 
-----------

Identificadores de objeto

Quando você adiciona um atributo ou um objeto de classe no esquema, um dos atributos necessários é o identificador de objeto (também conhecido como OID). Identificadores de objeto são usados para definir exclusivamente classes e os atributos do objeto. Certifique-se de que sua empresa obtém um identificador de objeto exclusivo para identificar seu atributo. Não há suporte para ferramentas que geram identificadores de objeto, como a ferramenta Oidgen.exe. Para obter um identificador de objeto da Microsoft, visite o seguinte site:
http://msdn2.microsoft.com/en-us/library/ms677620.aspx (http://msdn2.microsoft.com/en-us/library/ms677620.aspx)

Sintaxe de atributo

O atributo attributeSyntax também é necessário para adicionar novos objetos no esquema. Esse atributo define a representação de armazenamento, ordem de byte e regras de correspondência para comparações dos tipos de propriedade. A sintaxe define se o valor do atributo deve ser uma seqüência de caracteres, um número ou uma unidade de tempo. Cada atributo de cada objeto é associado a exatamente uma sintaxe. Certifique-se de que selecionar a sintaxe do atributo correto para o novo atributo. Isso é especialmente importante se você sincronizar um diretório (LIGHTWEIGHT Directory Access Protocol) com o LDAP outro diretório. Depois que o atributo é adicionado ao esquema, sua sintaxe de atributo não pode ser alterado.

Para obter mais informações sobre o atributo attributeSyntax , visite o seguinte site:
hhttp://msdn.microsoft.com/en-us/library/ms675236(VS.85).aspx (http://msdn.microsoft.com/en-us/library/ms675236(VS.85).aspx)
Para obter mais informações sobre valores no atributo searchFlags , visite o seguinte site e, em seguida, procure por "Efeitos de indexação no comportamento de pesquisa":
http://technet2.microsoft.com/WindowsServer/en/library/8196d68e-776a-4bbc-99a6-d8c19f36ded41033.mspx?mfr=true (http://technet2.microsoft.com/WindowsServer/en/library/8196d68e-776a-4bbc-99a6-d8c19f36ded41033.mspx?mfr=true)

A informação contida neste artigo aplica-se a:
  • Microsoft Windows Server 2003 Service Pack 1 nas seguintes plataformas
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Standard x64 Edition
Palavras-chave: 
kbmt kbhowto kbinfo KB922836 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 922836  (http://support.microsoft.com/kb/922836/en-us/ )
Compartilhar
Opções de suporte adicionais
Fóruns de Suporte do Microsoft Community
Contate-nos diretamente
Localize um parceiro certificado da Microsoft
Microsoft Store