Se você criou um banco de dados em uma versão do Access antes do Access 2007 e aplicou segurança no nível do usuário a esse banco de dados, essas configurações de segurança permanecerão em vigor quando você abrir esse arquivo no Access 2007 ou superior. Além disso, você pode iniciar as ferramentas de segurança fornecidas pelo Microsoft Office Access 2003 – o Assistente de Segurança User-Level e as várias caixas de diálogo de permissão de usuário e grupo – de versões posteriores do Access. Este artigo explica como funcionam os recursos de segurança do Access 2003 e explica como iniciá-los e usá-los no Access 2007 ou superior.
Observação: As informações neste artigo se aplicam apenas a um banco de dados criado no Access 2003 ou versões anteriores (um arquivo .mdb). A segurança no nível do usuário não está disponível para bancos de dados criados no Access 2007 ou superior (arquivos.accdb). Além disso, se você converter seu arquivo .mdb no novo formato (um arquivo .accdb), o Access descartará suas configurações de segurança no nível do usuário.
Neste artigo
Como a segurança no nível do usuário se comporta no Access 2007 ou superior
O Access 2007 e versões posteriores fornece segurança no nível do usuário apenas para bancos de dados que usam o Access 2003 e formatos de arquivo anteriores (.mdb e arquivos .mde). Em versões posteriores, se você abrir um banco de dados criado em uma versão anterior do Access e esse banco de dados tiver a segurança no nível do usuário aplicada, esse recurso de segurança funcionará conforme projetado para esse banco de dados. Por exemplo, os usuários devem inserir uma senha para usar o banco de dados.
Além disso, você pode iniciar e executar as várias ferramentas de segurança fornecidas pelo Access 2003 e versões anteriores, como o Assistente de Segurança User-Level e as várias caixas de diálogo de permissão de usuário e grupo. À medida que você prossegue, lembre-se de que essas ferramentas ficam disponíveis somente quando você abre um arquivo de .mdb ou .mde. Se você converter os arquivos no formato de arquivo .accdb, o Access removerá todos os recursos de segurança existentes no nível do usuário.
Visão geral da segurança no nível do usuário do Access 2003
As seções a seguir fornecem informações em segundo plano sobre segurança no nível do usuário no Access 2003 e versões anteriores. Se você já estiver familiarizado com o modelo de segurança anterior e a segurança no nível do usuário, poderá ignorar essas seções e ir diretamente para Definir segurança no nível do usuário ou Remover segurança no nível do usuário, mais adiante neste artigo.
O básico da segurança no nível do usuário
A segurança no nível do usuário no Access se assemelha aos mecanismos de segurança em sistemas baseados em servidor – ele usa senhas e permissões para permitir ou restringir o acesso de indivíduos, ou grupos de indivíduos, aos objetos em seu banco de dados. No Access 2003 ou versões anteriores, quando você implementa a segurança no nível do usuário em um banco de dados access, um administrador de banco de dados ou o proprietário de um objeto pode controlar as ações que usuários individuais ou grupos de usuários podem executar nas tabelas, consultas, formulários, relatórios e macros no banco de dados. Por exemplo, um grupo de usuários pode alterar os objetos em um banco de dados, outro grupo só pode inserir dados em determinadas tabelas e um terceiro grupo só pode exibir os dados em um conjunto de relatórios.
A segurança no nível do usuário no Access 2003 e versões anteriores usa uma combinação de senhas e permissões – um conjunto de atributos que especifica os tipos de acesso que um usuário tem aos dados ou objetos em um banco de dados. Você pode definir senhas e permissões para indivíduos ou grupos de indivíduos, e essas combinações de senhas e permissões se tornam contas de segurança que definem os usuários e grupos de usuários que têm acesso permitido aos objetos em seu banco de dados. Por sua vez, a combinação de usuários e grupos é conhecida como um grupo de trabalho e o Access armazena essas informações em um arquivo de informações do grupo de trabalho. Na inicialização, o Access lê o arquivo de informações do grupo de trabalho e impõe as permissões com base nos dados no arquivo.
Por padrão, o Access fornece uma ID de usuário interna e dois grupos internos. A ID do usuário padrão é Administração e os grupos padrão são Usuários e Administradores. Por padrão, o Access adiciona a ID interna do usuário ao grupo Usuários porque todas as IDs devem pertencer a pelo menos um grupo. Por sua vez, o grupo Usuários tem permissões completas em todos os objetos em um banco de dados. Além disso, o Administração ID também é membro do grupo de administradores. O grupo de administradores deve conter pelo menos uma ID de usuário (deve haver um administrador de banco de dados) e a ID Administração é o administrador de banco de dados padrão até alterá-la.
Quando você inicia o Access 2003 ou versões anteriores, o Access atribui a ID do usuário Administração a você e, portanto, faz de você um membro de cada grupo padrão. Essa ID e esses grupos (Administração e Usuários) fornecem a todos os usuários permissões completas em todos os objetos em um banco de dados – isso significa que qualquer usuário pode abrir, exibir e alterar todos os objetos em todos os arquivos .mdb, a menos que você implemente a segurança no nível do usuário.
Uma maneira de implementar a segurança no nível do usuário no Access 2003 ou versões anteriores é alterar as permissões para o grupo Usuários e adicionar novos administradores aos grupos de administradores. Ao fazer isso, o Access atribui automaticamente novos usuários ao grupo Usuários. Ao executar essas etapas, os usuários devem fazer logon com uma senha sempre que abrirem o banco de dados protegido. No entanto, se você precisar implementar uma segurança mais específica – permitir que um grupo de usuários insira dados e outro leia apenas esses dados, por exemplo – você deve criar usuários e grupos adicionais e conceder-lhes permissões específicas para alguns ou todos os objetos no banco de dados. Implementar esse tipo de segurança no nível do usuário pode se tornar uma tarefa complexa. Para ajudar a simplificar o processo, o Access fornece o Assistente de Segurança User-Level, o que facilita a criação de usuários e grupos em um processo de uma etapa.
O Assistente de Segurança User-Level ajuda você a atribuir permissões e criar contas de usuário e grupo. As contas de usuário contêm nomes de usuário e PIDs (números de ID pessoais) exclusivos necessários para gerenciar as permissões de um usuário para exibir, usar ou alterar objetos de banco de dados em um grupo de trabalho do Access. As contas de grupo são uma coleção de contas de usuário que, por sua vez, residem em um grupo de trabalho. O Access usa um nome de grupo e PID para identificar cada grupo de trabalho e as permissões atribuídas a um grupo se aplicam a todos os usuários do grupo. Para obter mais informações sobre como usar o assistente, consulte Definir segurança no nível do usuário e, posteriormente, neste artigo.
Depois de concluir o assistente, você pode atribuir, modificar ou remover manualmente permissões para contas de usuário e grupo em seu grupo de trabalho para um banco de dados e suas tabelas, consultas, formulários, relatórios e macros existentes. Você também pode definir as permissões padrão que o Access atribui para quaisquer novas tabelas, consultas, formulários, relatórios e macros que você ou outro usuário adicione a um banco de dados.
Arquivos de informações de grupos de trabalho e grupos de trabalho
No Access 2003 e versões anteriores, um grupo de trabalho é um grupo de usuários em um ambiente multiusuário que compartilham dados. Um arquivo de informações do grupo de trabalho contém as contas de usuário e grupo, senhas e permissões definidas para cada usuário individual ou grupo de usuários. Quando você abre um banco de dados, o Access lê os dados no arquivo de informações do grupo de trabalho e impõe as configurações de segurança que o arquivo contém. Por sua vez, uma conta de usuário é uma combinação de nome de usuário e ID pessoal (PID) que o Access cria para gerenciar as permissões do usuário. As contas de grupo são coleções de contas de usuário e o Access também as identifica pelo nome do grupo e por uma ID pessoal (PID). As permissões atribuídas a um grupo se aplicam a todos os usuários do grupo. Essas contas de segurança podem então receber permissões para bancos de dados e suas tabelas, consultas, formulários, relatórios e macros. As próprias permissões são armazenadas no banco de dados habilitado para segurança.
Na primeira vez que um usuário executa o Access 2003 ou versões anteriores, o Access cria automaticamente um arquivo de informações do grupo de trabalho access que é identificado pelo nome e pelas informações da organização especificadas pelo usuário ao instalar o Access. Para o Access 2003, o programa de instalação adiciona o local relativo deste arquivo de informações do grupo de trabalho às seguintes chaves de registro:
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\Jet\4.0\Engines\SystemDB
e programas
HKEY_USERS\.DEFAULT\Software\Microsoft\Office\11.0\Access\Jet\4.0\Engines\SystemDB
Os usuários subsequentes herdarão o caminho de arquivo de grupo de trabalho padrão do valor na chave do registro HKEY_USERS. Como essas informações geralmente são fáceis de determinar, é possível que usuários não autorizados criem outra versão desse arquivo de informações do grupo de trabalho. Consequentemente, usuários não autorizados poderiam assumir as permissões irrevogáveis de uma conta de administrador (membro do grupo de administradores) no grupo de trabalho definido por esse arquivo de informações do grupo de trabalho. Para impedir que usuários não autorizados supondo essas permissões, crie um novo arquivo de informações do grupo de trabalho e especifique uma ID do grupo de trabalho (WID), uma cadeia de caracteres alfanumérica sensível a casos de 4 a 20 caracteres de comprimento que você insira ao criar um novo arquivo de informações do grupo de trabalho. A criação de um novo grupo de trabalho identifica exclusivamente o grupo de Administração para este arquivo de grupo de trabalho. Somente alguém que conhece o WID poderá criar uma cópia do arquivo de informações do grupo de trabalho. Para criar o novo arquivo, use o Assistente de Segurança User-Level.
Importante: Certifique-se de anotar o nome exato, a organização e a ID do grupo de trabalho – incluindo se as letras são maiúsculas ou minúsculas (para todas as três entradas) e mantê-las em um lugar seguro. Se você precisar recriar o arquivo de informações do grupo de trabalho, deverá fornecer exatamente o mesmo nome, organização e ID do grupo de trabalho. Se você esquecer ou perder essas entradas, poderá perder o acesso aos bancos de dados.
Como as permissões funcionam e quem pode atribuí-las
A segurança no nível do usuário reconhece dois tipos de permissões: explícita e implícita. As permissões explícitas são aquelas que são concedidas diretamente a uma conta de usuário; nenhum outro usuário é afetado. Permissões implícitas são as permissões concedidas a uma conta de grupo. Adicionar um usuário a esse grupo concede as permissões do grupo a esse usuário; a remoção de um usuário do grupo tira as permissões do grupo desse usuário.
Quando um usuário tenta executar uma operação em um objeto de banco de dados que emprega recursos de segurança, o conjunto de permissões desse usuário se baseia na interseção das permissões explícitas e implícitas desse usuário. O nível de segurança de um usuário é sempre o menos restritivo das permissões explícitas desse usuário e das permissões de todo e qualquer grupo ao qual esse usuário pertence. Por esse motivo, a maneira menos complicada de administrar um grupo de trabalho é criar novos grupos e atribuir permissões aos grupos, em vez de usuários individuais. Em seguida, você pode alterar as permissões de usuários individuais adicionando ou removendo esses usuários de grupos. Além disso, se você precisar conceder novas permissões, poderá concedê-las a todos os membros de um grupo em uma única operação.
As permissões podem ser alteradas para um objeto de banco de dados por:
-
Membros do grupo de administradores do arquivo de informações do grupo de trabalho em uso quando o banco de dados foi criado.
-
O proprietário do objeto.
-
Qualquer usuário que tenha permissões de Administração para o objeto.
Embora os usuários possam não ser capazes de executar uma ação no momento, eles podem ser capazes de conceder a si mesmos permissões para executar a ação. Isso é verdade se um usuário for um membro do grupo de administradores ou se um usuário for o proprietário de um objeto.
O usuário que cria uma tabela, consulta, formulário, relatório ou macro é o proprietário desse objeto. Além disso, o grupo de usuários que podem alterar permissões no banco de dados também pode alterar a propriedade desses objetos ou eles podem recriar esses objetos, ambos os quais são maneiras de alterar a propriedade dos objetos. Para recriar um objeto, você pode fazer uma cópia do objeto ou importá-lo ou exportá-lo para outro banco de dados. Essa é a maneira mais fácil de transferir a propriedade de objetos, incluindo o próprio banco de dados.
Observação: Copiar, importar ou exportar não altera a propriedade de uma consulta que tem sua propriedade RunPermissions definida como Proprietário. Você só poderá alterar a propriedade de uma consulta se sua propriedade RunPermissions for definida como do Usuário.
Contas de segurança
Um arquivo de informações do grupo de trabalho access 2003 contém as seguintes contas predefinidas.
Conta |
Função |
Admin |
A conta de usuário padrão. Essa conta é exatamente a mesma para cada cópia do Access e outros programas que podem usar o mecanismo de banco de dados do Microsoft Jet, como Visual Basic for Applications (VBA) e Microsoft Office Excel 2003. |
Administradores |
A conta de grupo do administrador. Essa conta é exclusiva para cada arquivo de informações do grupo de trabalho. Por padrão, o usuário Administração é membro do grupo de administradores. Deve haver pelo menos um usuário no grupo de administradores o tempo todo. |
Usuários |
A conta de grupo que compreende todas as contas de usuário. O Access adiciona automaticamente contas de usuário ao grupo Usuários quando um membro do grupo Admins as cria. Essa conta é a mesma para qualquer arquivo de informações do grupo de trabalho, mas contém apenas contas de usuário criadas por membros do grupo de administradores desse grupo de trabalho. Por padrão, essa conta tem permissões completas em todos os objetos recém-criados. A única maneira de remover uma conta de usuário do grupo Usuários é que um membro do grupo de administradores exclua esse usuário. |
Na verdade, a segurança no Access 2003 e nas versões anteriores está sempre ativa. Até ativar o procedimento de logon para um grupo de trabalho, o Access faz logon invisivelmente em todos os usuários na inicialização usando a conta de usuário padrão Administração com uma senha em branco. Nos bastidores, o Access usa a conta Administração como a conta de administrador do grupo de trabalho. O Access usa a conta Administração além do proprietário (grupo ou usuário) de quaisquer bancos de dados e tabelas, consultas, formulários, relatórios e macros criados.
Administradores e proprietários são importantes porque têm permissões que não podem ser retiradas:
-
Os administradores (membros do grupo de administradores) sempre podem obter permissões completas para objetos criados no grupo de trabalho.
-
Uma conta que possui uma tabela, consulta, formulário, relatório ou macro sempre pode obter permissões completas para esse objeto.
-
Uma conta que possui um banco de dados sempre pode abrir esse banco de dados.
Como a conta de usuário Administração é exatamente a mesma para cada cópia do Access, as primeiras etapas para ajudar a proteger seu banco de dados são definir contas de usuário administrador e proprietário (ou usar uma única conta de usuário como as contas de administrador e proprietário) e, em seguida, remover a conta de usuário Administração do grupo administradores. Caso contrário, qualquer pessoa com uma cópia do Access pode fazer logon em seu grupo de trabalho usando a conta Administração e ter permissões completas para tabelas, consultas, formulários, relatórios e macros do grupo de trabalho.
Você pode atribuir quantas contas de usuário quiser ao grupo de administradores, mas apenas uma conta de usuário pode ser dona do banco de dados – a conta de propriedade é a conta de usuário que está ativa quando o banco de dados é criado ou quando a propriedade é transferida criando um novo banco de dados e importando todos os objetos de um banco de dados para ele. No entanto, as contas de grupo podem possuir tabelas, consultas, formulários, relatórios e macros em um banco de dados.
Considerações ao organizar contas de segurança
-
Somente contas de usuário podem fazer logon no Access; você não pode fazer logon usando uma conta de grupo.
-
As contas que você cria para usuários do banco de dados devem ser armazenadas no arquivo de informações do grupo de trabalho que esses usuários ingressarão quando usarem o banco de dados. Se você estiver usando um arquivo diferente para criar o banco de dados, altere o arquivo antes de criar as contas.
-
Crie uma senha exclusiva para suas contas de administrador e usuário. Um usuário que pode fazer logon usando a conta de administrador sempre pode obter permissões completas para quaisquer tabelas, consultas, formulários, relatórios e macros que foram criadas no grupo de trabalho. Um usuário que pode fazer logon usando uma conta proprietária sempre pode obter permissões completas para esses objetos pertencentes a esse usuário.
Depois de criar contas de usuário e grupo, você pode exibir e imprimir as relações entre eles. O Access imprime um relatório das contas no grupo de trabalho que mostra os grupos aos quais cada usuário pertence e os usuários que pertencem a cada grupo.
Observação: Se você estiver usando um arquivo de informações de grupo de trabalho criado com o Microsoft Access 2.0, deverá estar conectado como membro do grupo de administradores para imprimir informações de usuário e grupo. Se o arquivo de informações do grupo de trabalho foi criado com o Microsoft Access 97 ou posterior, todos os usuários do grupo de trabalho poderão imprimir informações de usuário e grupo.
Definir segurança no nível do usuário
As etapas nesta seção explicam como iniciar e executar o Assistente de Segurança User-Level. Lembre-se de que essas etapas se aplicam apenas a bancos de dados que têm um formato de arquivo do Access 2003 ou anterior, aberto no Access 2007 ou versões posteriores.
Importante: No Access 2007 ou versões posteriores, se você usar o assistente de segurança User-Level para especificar um arquivo de informações padrão do grupo de trabalho, você também deve usar a opção de linha de comando /WRKGP para apontar para o arquivo de informações do grupo de trabalho quando iniciar o Access. Para obter mais informações sobre como usar uma opção de linha de comando com o Access, confira o artigo Comutadores de linha de comando para produtos do Microsoft Office.
Iniciar o Assistente de Segurança User-Level
-
Abra o arquivo .mdb ou .mde que você deseja administrar.
-
Na guia Ferramentas de Banco de Dados , no grupo Administrar , clique na seta abaixo de Usuários e Permissões e clique em Assistente de Segurança no Nível do Usuário.
-
Siga as etapas em cada página para concluir o assistente.
Observações:
-
O Assistente de Segurança User-Level cria uma cópia de backup do banco de dados access atual com o mesmo nome e uma extensão .bak nome do arquivo e, em seguida, emprega medidas de segurança para os objetos selecionados no banco de dados atual.
-
Se o banco de dados do Access atual ajudar a proteger o código VBA usando uma senha, o assistente solicitará a senha, que você deve inserir para que o assistente conclua sua operação com êxito.
-
Todas as senhas criadas por meio do assistente são impressas no relatório do Assistente de Segurança User-Level, que é impresso quando você termina de usar o assistente. Você deve manter este relatório em um local seguro. Você pode usar este relatório para recriar o arquivo do grupo de trabalho se ele estiver perdido ou corrompido.
-
Remover a segurança no nível do usuário
Para remover a segurança no nível do usuário enquanto trabalha no Access 2007 ou superior, salve o arquivo .mdb como um arquivo .accdb.
Salve uma cópia do arquivo no . Formato ACCDB
-
Clique na guia Arquivo. A exibição de bastidores é aberta.
-
À esquerda, clique em Compartilhar.
-
À direita, clique em Salvar Banco de Dados Como e clique em Acessar Banco de Dados (*.accdb).
A caixa de diálogo Salvar como é exibida.
-
Use a lista Salvar Em para encontrar um local no qual salvar o banco de dados convertido.
-
Na lista Salvar como tipo , selecione Access 2007-2016 Database (*.accdb).
-
Clique em Salvar.
Observação: Se você estiver usando o Access 2007, clique no botão Microsoft Office e clique em Converter para abrir a caixa de diálogo Salvar para salvar o banco de dados no . Formato de arquivo ACCDB.
Referência de permissões de objeto
A tabela a seguir lista as permissões que você pode definir para um banco de dados e os objetos no banco de dados e descreve o efeito ou o resultado do uso de cada configuração de permissão.
Permissão |
Aplica-se a esses objetos |
Resultado |
Abrir/Executar |
Banco de dados inteiro, formulários, relatórios, macros |
Os usuários podem abrir ou executar o objeto, incluindo procedimentos em módulos de código. |
Abrir exclusivo |
Banco de dados inteiro |
Os usuários podem abrir um banco de dados e bloquear outros usuários. |
Ler Design |
Tabelas, consultas, formulários, macros, módulos de código |
Os usuários podem abrir os objetos listados no modo design. Observação: Sempre que você conceder acesso aos dados em uma tabela ou consulta atribuindo outra permissão, como Dados de Leitura ou Dados de Atualização, você também concede permissões de Design de Leitura porque o design deve estar visível para apresentar corretamente e exibir os dados. |
Modificar Design |
Tabelas, consultas, formulários, macros, módulos de código |
Os usuários podem alterar o design dos objetos listados. |
Administrar |
Banco de dados inteiro, tabelas, consultas, formulários, macros, módulos de código |
Os usuários podem atribuir permissões aos objetos listados, mesmo quando o usuário ou o grupo não possui o objeto. |
Ler dados |
Tabelas, consultas |
Os usuários podem ler os dados em uma tabela ou consulta. Para conceder aos usuários permissões para ler consultas, você também deve dar a esses usuários permissões para ler as tabelas ou consultas pai. Essa configuração implica permissão de Design de Leitura, o que significa que os usuários podem ler sua tabela ou design de consulta além dos dados. |
Atualizar dados |
Tabelas, consultas |
Os usuários podem atualizar os dados em uma tabela ou consulta. Os usuários devem ter permissões para atualizar a tabela pai ou consultas. Essa configuração implica permissões de Design de Leitura e Dados de Leitura. |
Inserir dados |
Tabelas, consultas |
Os usuários podem inserir dados em uma tabela ou consulta. Para consultas, os usuários devem ter permissões para inserir dados nas tabelas ou consultas pai. Essa configuração implica permissões de Leitura de Dados e Design de Leitura. |
Excluir dados |
Tabelas, consultas |
Os usuários podem excluir dados de uma tabela ou consulta. Para consultas, os usuários devem ter permissões para excluir dados das tabelas ou consultas pai. Essa configuração implica permissões de Leitura de Dados e Design de Leitura. |