Partilhar via


Resumo da tecnologia de ACLs

Este tópico resume informações sobre a API gerenciado para listas de controle de acesso discricional (DACLs), listas de controle de acesso do sistema (SACLs) e entradas de controle de acesso (ACEs).Você pode usar as classes no System.Security.AccessControl namespace para acessar programaticamente DACLs e SACLs ACEs para vários tipos de recursos protegidos no .NET estrutura versão 2.0 e posteriores.

A ACL gerenciado API facilita o trabalho com ACLs que a desinstalação gerenciado implementação, fornecendo várias classes que tenha o cuidado de muitos detalhes para você.Por exemplo, não é possível criar null DACLs em implementação gerenciada e você não precisa mais se preocupar sobre como criar acidentalmente uma DACL insegura devido de ordenação incorretamente as ACEs.

Palavras-chave

Lista de controle de acesso (ACL), lista de controle de acesso discricional (DACL), lista de controle de acesso do sistema (SACL), entrada de controle de acesso (ACE) ACE de auditoria

Namespaces

System.Security.AccessControl

Tecnologias relacionadas

Segurança no .NET Framework

Segundo plano

Uma lista de controle de acesso discricional (DACL), que às vezes é geralmente a ACL, é um mecanismo usado pelo Microsoft Windows NT e posteriormente para proteger recursos sistema autônomo arquivos e pastas.DACLs contém várias entradas de controle de acesso (ACEs) que um objeto (geralmente uma conta de usuário ou agrupar de contas) associados a uma regra que controla o uso do recurso.As DACLs e ACEs permitem conceder ou negar direitos aos recursos com base nas permissões que você pode associar às contas de usuário.Por exemplo, você pode criar uma ACE e aplicar-o para a DACL de um arquivo para somente um administrador depois de ler o arquivo de BAR.

Uma lista de controle de acesso do sistema (SACL), que é às vezes chamada sistema autônomo uma ACE de auditoria, é um mecanismo que controla sistema autônomo mensagens de auditoria associadas a um recurso.Semelhante às DACLs, SACLs contêm ACEs que definem as regras de auditoria para um determinado recurso.ACEs de auditoria permitem registro bem-sucedida ou tentativas fracassadas de acessar um recurso, mas diferem das ACEs de acesso porque eles não determinam quais contas podem usar um recurso.Por exemplo, você pode criar uma ACE e aplicar-o para a SACL de um arquivo de log tudo bem-sucedida tenta em aberto o arquivo.

Classes ACL em uma visão geral

A tabela a seguir lista as classes principais que você pode usar para criar e modificar as ACLs para várias áreas de tecnologia com facilidade.Isso não é uma lista abrangente do System.Security.AccessControl espaço para nome, mas em vez disso, uma lista das classes principais que você deve usar para trabalhar com ACLs.

Área de tecnologia

Classes

Chaves criptográficas

CryptoKeySecurity

CryptoKeyAccessRule

CryptoKeyAuditRule

Diretórios

DirectorySecurity

FileSystemAccessRule

FileSystemAuditRule

Alças de espera do evento

EventWaitHandleSecurity

EventWaitHandleAccessRule

EventWaitHandleAuditRule

Files

FileSecurity

FileSystemAccessRule

FileSystemAuditRule

Exclusões mútuas

MutexSecurity

MutexAccessRule

MutexAuditRule

Chaves do registro

RegistrySecurity

RegistryAccessRule

RegistryAuditRule

Semáforos

SemaphoreSecurity

SemaphoreAccessRule

SemaphoreAuditRule

Para consulta as informações de ACL existentes para um recurso ou aplicar modificadas informações de ACL para um recurso, você deve usar um dos vários métodos que fornecem acesso às ACLs de um recurso existente.As classes na tabela anterior fornecem métodos para criar e edição as ACLs mas não fornecem maneiras consulta ou aplicar ACLs.

Cada recurso possui métodos aplicam ACLs durante a criação do recurso (geralmente uma sobrecarga de construtor), que recuperar as ACLs de um recurso existente e que aplique ACLs a um recurso existente associados.

A tabela a seguir lista os métodos usados para obter e conjunto ACLs para cada área de tecnologia.Esses métodos estão localizados em vários namespaces fora o System.Security.AccessControl namespace e são parte das classes de alto nível que representam um recurso específico. Por exemplo, para consultar as ACLs de um diretório especificado, você usar o Directory.GetAccessControl método para obter o DirectorySecurity objeto que encapsula as DACLs e SACLs para o diretório. Observe que alguns recursos, tais sistema autônomo arquivos e diretórios, tem vários métodos equivalentes em diferentes classes que fornecem acesso às ACLs.

Área de tecnologia

Métodos para obter e conjunto ACLs

Chaves criptográficas

CspParameters.CryptoKeySecurity

CspParameters.CspParameters

CspParameters.CspParameters

CspKeyContainerInfo.CryptoKeySecurity

Diretórios

Directory.GetAccessControl

Directory.SetAccessControl

DirectoryInfo.GetAccessControl

DirectoryInfo.SetAccessControl

DirectoryInfo.Create

Alças de espera do evento

EventWaitHandle.GetAccessControl

EventWaitHandle.SetAccessControl

EventWaitHandle.EventWaitHandle

Files

FileStream.GetAccessControl

FileStream.SetAccessControl

FileStream.FileStream

File.GetAccessControl

File.SetAccessControl

File.Create

FileInfo.GetAccessControl

FileInfo.SetAccessControl

Exclusões mútuas

Mutex.GetAccessControl

Mutex.SetAccessControl

Mutex.Mutex

Chaves do registro

RegistryKey.GetAccessControl

RegistryKey.SetAccessControl

RegistryKey.CreateSubKey

Semáforos

Semaphore.GetAccessControl

Semaphore.SetAccessControl

Semaphore.Semaphore

Consulte também

Outros recursos

ACL Technology Overview

Segurança no .NET Framework