Universidade do Access - Curso Completo - Do Básico Até a Criação de Sistemas Profissionais Completos - Passo a Passo
FORMAÇÃO ONLINE COM CERTIFICADO - 13 CURSOS - 574 VÍDEO-AULAS - 63:32 HORAS - CLIQUE AQUI
Você está em: PrincipalArtigosOffice : Segurancaaccessxp_p1
Quer receber novidades e e-books gratuitos?
Segurança com o Microsoft Access XP - Parte 1

Neste artigo aprenderemos a fazer as configurações de segurança para banco de dados do Microsoft Access. O Microsoft Access oferece diferentes configurações de segurança, dependendo das necessidades específicas da aplicação. Podemos ter desde uma simples definição de senha para abertura de um banco de dados, passando pela criptografia do banco de dados, entrando nas refinadas configurações a nível de usuário e finalizando com o uso de mecanismos de segurança do próprio sistema operacional, no caso do Windows 2000 Professional ou Windows XP Professional. Também é possível combinar diferentes configurações, como por exemplo, usar configurações a nível de usuário, em conjunto com as configurações de segurança do Sistema Operacional, para obter a melhor proteção possível.

Por padrão, ao criarmos um banco de dados com o Microsoft Access não são definidas configurações de segurança, ou seja, qualquer usuário pode abrir o banco de dados, alterar registros, inserir novos registros, excluir registros e criar ou alterar quaisquer elementos do banco de dados – tabelas, consultas, formulários, etc. Para muitas situações práticas do dia-a-dia é necessária alguma forma de proteger o acesso aos diversos elementos de um banco de dados. Com as configurações que serão vistas neste artigo você terá condições de definir, em detalhes, os níveis de acesso aos diversos elementos de um banco de dados.

Existem diferentes maneiras para fazer as configurações de segurança para um banco de dados do Microsoft Access, conforme listado a seguir:

Configurações de Sistema Operacional (Windows NT Server, 2000 Professional ou Windows Server e XP Professional): Estas configurações são feitas usando as opções do próprio sistema operacional e serão vistas no último artigo desta série. São as chamadas permissões NTFS e de Compartilhamento.

Definição de uma senha para a abertura do banco de dados: Esta é a configuração de segurança mais simples de ser efetuada. Apenas definimos uma senha, senha esta que deve ser fornecida toda vez que o banco de dados for aberto. Se o usuário não souber a senha, ele não conseguirá abrir o banco de dados. Se o usuário souber a senha, ele consegue abrir o banco de dados e tem acesso completo a todos os elementos do banco de dados: tabelas, dados, consultas, formulários, relatórios, macros e módulos.

Definição de um grupo de trabalho, com criação de contas de usuários e grupos de usuários, com definição de permissões individualizadas, para os diferentes elementos de um banco de dados: Estas configurações são mais trabalhosas para serem definidas, porém nos fornecem um nível de controle de acesso muito maior do que os outros tipos de configurações de segurança. Com estas configurações podemos definir diferentes níveis de acesso, para diferentes usuários. Por exemplo, o usuário jsilva pode ter apenas permissão para ler os dados das tabelas de um banco de dados, já o usuário maria pode ter permissão de leitura e alteração, porém sem poder inserir novos registros ou excluir registros existentes. Você aprenderá em detalhes a definir este tipo de segurança, nessa série de artigos. Este tipo de segurança é conhecido como "Segurança a Nível de Usuário".

Também será abordada a importância de "Criptografar" um banco de dados que contenha informações confidenciais.

Nesse primeiro artigo sobre segurança no Access XP, abordaremos os seguintes tópicos:
  • Definição de uma senha para abertura de um banco de dados;

  • Como criptografar um banco de dados;

  • A teoria da Segurança a Nível de Usuário.
  • Nos próximos dois artigos da serão abordados os seguintes tópicos:
  • Exemplo prático de configuração de Segurança a Nível de Usuário.

  • Recursos de segurança do Sistema Operacional para proteger o banco de dados.
  • Definição de uma senha para a abertura do banco de dados:

    Após definir uma senha para o banco de dados, esta senha deverá ser digitada toda vez que o banco de dados for aberto. A senha é individual para cada banco de dados - arquivo .mdb. Se o usuário esquecer a senha não terá mais como abrir o banco de dados (na prática existem programas comerciais capazes de “descobrir” essa senha, tais como o Passware Kit no site www.lostpassword.com. Por isso que esse tipo de configuração é extremamente frágil e não recomendada na prática). Conhecendo a senha o usuário tem acesso ao banco de dados e "poderes totais" sobre todos os elementos do banco de dados. Pode criar novos registros, excluir e alterar registros, criar novas tabelas ou excluir as tabelas existentes, criar novos formulários, alterar ou excluir os formulários existentes e assim por diante.

    Este tipo de segurança é conhecido como segurança de nível compartilhado (shared-level security).

    Para definir uma senha de abertura siga os seguintes passos:
    1. Abra o banco de dados para o qual você deseja definir uma senha. Para o nosso exemplo, abra o banco de dados segurança.mdb. Para que você possa definir uma senha, o banco de dados deve ser aberto em modo exclusivo. Para abrir um banco de dados em modo exclusivo, clique na setinha para baixo ao lado do botão Abrir e no menu de opções que surge selecione a opção "Abrir exclusivo", indicado na Figura 1 Antes de selecionar a opção Abrir exclusivo o banco de dados Segurança.mdb já deve estar selecionado.


    Figura 1 – Abrindo o banco de dados Segurança.mdb no modo exclusivo.

    2. Selecione o comando: Ferramentas -> Segurança -> Definir senha do banco de dados...

    3. Surge a janela "Definir a senha do banco de dados", onde devemos digitar a senha duas vezes, para confirmação. Digite a seguinte senha: senha123. Digite a senha novamente no campo Confirmar, conforme indicado na Figura 2. Dê um clique no botão OK e pronto, a senha do banco de dados será definida.


    Figura 2 – Definindo a senha do banco de dados.

    4. Feche o banco de dados Segurança.mdb e abra-o novamente. Surge a janela indicada na Figura 3, solicitando que você digite a senha. Digite a senha definida no passo anterior (senha123) e dê um clique no botão OK.


    Figura 3 – Janela solicitando que você digite a senha definida anteriormente.

    5. O banco de dados Segurança.mdb será aberto e o usuário terá acesso completo a todos os elementos (tabelas, consultas, etc) do banco de dados.

    6. Para fazer com que não seja mais necessária a digitação da senha de abertura, basta utilizar o comando Ferramentas -> Segurança -> Definir senha do banco de dados... e definir uma senha em branco.
    Esta é a configuração de segurança mais simples que existe. Ao mesmo tempo que é simples de implementar, não apresenta maiores recursos, tais como a definição de permissões para diferentes usuários ou grupos de usuários. Pode ser utilizado quando um único usuário utiliza o banco de dados e quer proteger o acesso ao banco de dados através da definição de uma senha.

    Protegendo os dados - Criptografando o banco de dados:

    Mesmo que sejam implementadas todas as configurações de segurança descritas neste tópico, uma pessoa não autorizada ainda será capaz de ler os dados de um banco de dados do Microsoft Access, utilizando um "Editor Binário de Discos". Um Editor Binário de Discos é um programa capaz de ler as informações de um arquivo diretamente do disco rígido, sem ter que abrir o arquivo utilizando o Microsoft Access. Como não foi utilizado o Microsoft Access, todas as configurações de segurança não terão efeito, ou seja, o usuário será capaz, com o Editor de Discos, de ler as informações contidas no arquivo .mdb.

    Para resolver este problema de segurança, você deve "criptografar" as informações contidas o banco de dados (arquivo .mdb). Ao criptografar as informações, estas tornam-se ilegíveis quando lidas diretamente do disco rígido, utilizando um Editor Binário de Discos. Somente ao abrir o arquivo usando o Microsoft Access é que as informações poderão ser descriptografados, tornando-se novamente legíveis. Ao abrir o arquivo com o Microsoft Access, todas as definições de segurança que foram configuradas, serão aplicadas.

    Para criptografar um banco de dados (arquivo .mdb), faça o seguinte:
    1. Abra o Microsoft Access.

    IMPORTANTE: O Arquivo a ser criptografado não pode estar aberto. Se o arquivo estiver aberto será gerada uma mensagem de erro e a criptografia não prosseguirá.

    2. Selecione o comando: Ferramentas -> Segurança -> Criptografar/Descriptografar banco de dados...

    3. Surge a "Criptografar/Descriptografar banco de dados", para que você selecione o arquivo a ser Criptografado. Selecione o arquivo Segurança.mdb e dê um clique no botão OK.

    4. Se o banco de dados a ser criptografado tiver uma senha definida, o Microsoft Access solicitará a senha do banco de dados. Digite a senha e dê um clique no botão OK.

    5. O Microsoft Access abre a janela "Criptografar banco de dados como". Nesta janela você define a pasta onde será gerada uma cópia criptografada do banco de dados Segurança.mdb, bem como o nome da cópia criptografada. É possível gerar a cópia criptografada na mesma pasta e com o mesmo nome do banco de dados original, com isso o banco de dados original será substituído pela versão criptografada. Nesse caso você deve, sempre, fazer uma cópia de segurança do banco de dados antes de tentarmos criptografá-lo. Para o nosso exemplo informe o nome Segurança Criptografado.mdb como nome do arquivo, conforme indicado na Figura 4:


    Figura 4 – Definindo um novo nome para a versão criptografada do banco de dados.

    6. O Microsoft Access criptografa o banco de dados Segurança.mdb e salva a versão criptografada com o nome de Segurança Critografado.mdb, conforme definido no item anterior. Se o banco de dados original tiver uma senha definida, a cópia criptografada também terá a mesma senha.

    IMPORTANTE: Cada vez que o Microsoft Access abre um banco de dados criptografado, ele precisa descriptografar os diversos objetos do banco de dados (Tabelas, Consultas, Formulários, etc) a medido que estes forem sendo utilizados. A operação de criptografar/descriptografar faz com que haja uma queda no desempenho do banco de dados, da ordem de 15% (segundo a Ajuda do Access XP). Em outras palavras, a criptografia/descriptografia torna as operações com o banco de dados um pouco mais lentas.
    Configurando a segurança a nível de usuário – um pouco de teoria:

    Conforme descrito anteriormente, a definição de uma senha para o banco de dados somente é aconselhável em situações em que o banco de dados é utilizado por um único usuário. Para ambientes mais complexos, onde existe um grupo de trabalho que deve ter acesso ao banco de dados, sendo que diferentes participantes do grupo devem ter diferentes níveis de acesso aos elementos do banco de dados (somente consulta, consulta e alteração, consulta, alteração e exclusão e assim por diante), deve ser utilizada a segurança a nível de usuário (em combinação com as configurações de segurança do Sistema Operacional, para um nível de proteção máximo) . Se você quiser definir permissões de acesso individualizadas para cada usuário, em cada elemento de um banco de dados do Microsoft Access, você precisa utilizar as configurações de segurança a nível de usuário.

    As configurações de segurança a nível de usuário são definidas através da criação ou associação a um arquivo que define um Grupo de Trabalho. O arquivo que define o Grupo de Trabalho tem a extensão .mdw (m – Microsoft, d- Database, w- Workgroup), normalmente com o nome System.mdw na pasta de instalação do Office (normalmente: C:\Arquivos de Programas\Microsoft OfficePRO\Office). Uma vez definido o Grupo de Trabalho você pode criar contas de usuários e grupos. Cada usuário tem a sua própria senha e, ao abrir o banco de dados deve ser informado o nome do usuário e a respectiva senha. Com base no nome do usuário, o Microsoft Access aplica as restrições de segurança previamente definidas.

    Além de usuários podemos criar grupos de usuários. Por exemplo, você pode criar um grupo chamado PerfilConsulta. Em seguida definir que o grupo PerfilConsulta somente deve ter permissões para consultar os dados, não podendo fazer alterações, inclusões ou exclusões de registros. Ao cadastrar um novo usuário, que deve ter permissões somente de consulta, basta incluir o usuário como membro do grupo PerfilConsulta e este novo usuário irá "herdar" todas as permissões atribuídas ao grupo. Se um usuário pertencer a mais de um grupo, ele irá herdar as permissões dos diversos grupos, permissões estas que serão cumulativas. Por exemplo, vamos supor que o usuário jsilva pertence ao grupo PerfilConsulta, grupo este que tem somente permissões para consultar aos dados; e que o usuário jsilva também pertence ao grupo PerfilAlteração, grupo este que tem permissão para alterar os dados. O usuário jsilva, por pertencer aos dois grupos, irá herdar as duas permissões e, com isso, poderá consultar e também alterar os dados.

    Com a segurança a nível de usuário você pode chegar a um nível de detalhamento que não é possível com os outros tipos de configurações de segurança. Por exemplo, um determinado usuário pode ter permissão para executar uma consulta, sem ter permissão para alterar a consulta no modo estrutura. Um outro usuário pode ter permissão somente para consultar os dados de uma tabela enquanto tem permissões para alterar os dados de uma segunda tabela.
    Para definir as configurações de segurança a nível de usuário, devemos seguir os seguintes passos:
    1. Utilizar o Administrador de Grupos (wrkgadm.exe) para fazer a associação com um arquivo de Workgroup (.mdw) existente ou para criar um novo arquivo de Workgroup.

    2. Definir uma senha não nula para o usuário Admin.

    3. Criar um novo usuário que passará a ser o Administrador do banco de dados. O Administrador é o usuário com permissões completas sobre todos os elementos do banco de dados.

    4. Adicionar o usuário criado no passo 3., como membro do grupo Admins.

    5. Fazer o logon com a conta do novo Administrador, criar um banco de dados em branco e importar os objetos do banco de dados original. Esta operação é feita para alterar o "dono" do banco de dados, evitando problemas de segurança, conforme será detalhado mais adiante.

    6. Remover a conta Admin do grupo Administradores.

    7. Criar usuários e grupos, de acordo com os usuários e perfis de acesso que serão necessários.

    8. Colocar cada usuário como membro de um ou mais grupos, conforme a necessidade de acesso do usuário.

    9. Retirar todas as permissões do grupo Usuários.

    10. Definir as permissões para os grupos criados no passo 7, de acordo com o perfil de acesso de cada usuário.
    A partir de agora você vai aprender os passo necessários para executar cada um dos passos da listagem anterior. Para aprender os diversos passos, vou utilizar um exemplo prático, onde definiremos diversas configurações de segurança para o arquivo Segurança.mdb. Nos demais artigos da série você aprenderá, passo-a-passo, a executar cada uma das ações necessárias para completar os passos indicados na listagem anterior.

    Para exemplificar as diversas configurações de segurança disponíveis no Access XP, você irá criar diversos usuários e grupos. Serão criados os seguintes usuários:
  • jsilva

  • maria

  • pedro

  • carlos

  • andreia

  • carla
  • A tabela a seguir descreve de quais grupos cada usuários fará parte:

    Usuário Pertence aos seguintes grupos
    jsilva PerfilConsulta
    PerfilAlteração
    PerfilExclusão
    maria PerfilConsulta
    PerfilAltCon
    PerfilAltForm
    pedro PerfilConsulta
    PerfilAltCon
    PerfilAbreRel
    PerfilAltTab
    carlos PerfilConsulta
    PerfilAlteração
    PerfilInclusões
    PerfilExclusão
    PerfilTudo
    andreia PerfilConsulta
    PerfilAlteração
    PerfilInclusões
    PerfilExclusão
    carla PerfilConsulta
    PerfilAbreForm
    PerfilAbreRel

    Descrição das permissões que terá cada grupo de usuários:

    PerfilConsulta: Os membros deste grupo terão permissões apenas para ler os dados de uma tabela, sem fazer quaisquer alterações, inclusões ou exclusões. Também terão permissões para abrir consultas.

    PerfilAlteração: Os membros deste grupo terão permissões para ler e alterar dados nas tabelas do banco de dados. Não poderão fazer inclusões e exclusões.

    PerfilExclusão: Os membros deste grupo terão permissões para ler e excluir dados nas tabelas do banco de dados. Não poderão fazer inclusões ou alterações.

    PerfilInclusões: Os membros deste grupo terão permissões para ler e adicionar dados (registros) nas tabelas do banco de dados. Não poderão fazer exclusões ou alterações.

    PerfilConsulta: Os membros deste grupo terão permissões executar consultas no banco de dados.

    PerfilAltCon: Os membros deste grupo terão permissões para acessar o Modo Estrutura e alterar a estrutura das consultas no banco de dados.

    PerfilAltTab: Os membros deste grupo terão permissões para acessar o Modo Estrutura e alterar a estrutura das tabelas no banco de dados.

    PerfilAbreRel: Os membros deste grupo terão permissões para abrir os Relatórios no banco de dados.

    PerfilAbreForm: Os membros deste grupo terão permissões para abrir os Formulários no banco de dados.

    PerfilTudo: Os membros deste grupo terão permissões totais, ou seja, poderão efetuar qualquer operação em qualquer elemento do banco de dados.

    Existem alguns grupos e usuário que, por padrão, já são criados durante a instalação do Access XP.

    Usuário Administrador: Esse usuário tem permissões totais no banco de dados. O Microsoft Access associa um identificador interno com cada conta de usuário. Em termos efetivos de permissão o que vale é esse identificador interno e não o nome do usuário. O identificador interno do usuário Administrador é o mesmo para toda e qualquer instalação do Microsoft Access. Essa implementação pode trazer problemas de segurança. Na Parte II desse artigo, você verá como eliminar o problema de segurança associado a conta Administrador. Por padrão essa conta pertence ao grupo Administradores, de onde herda todas as suas permissões.

    Grupo Administradores: Por padrão esse grupo tem permissões completas em todos os elementos do banco de dados. O usuário Administrador é automaticamente incluído como membro desse grupo. É possível retirar o usuário Administrador desse grupo, porém sempre deve existir, pelo menos, um usuário como membro desse grupo. Se você tentar retirar o último usuário desse grupo, será gerada uma mensagem de erro.

    Grupo Usuários: Por padrão todas as contas de usuários são membros do grupo Usuários e não é possível retirá-las desse grupo. Ao ser criada uma nova conta de usuário, esta é, automaticamente, adicionada ao grupo Usuários. Definimos para o grupo usuários aquelas permissões que devem ser atribuídas a todos os usuários. Por exemplo, se todos os usuários devem ter permissão para executar consultas, devemos atribuir essa permissão ao grupo Usuários, com isso todos os usuários herdarão esta permissão.

    Conclusão

    Neste artigo você, amigo leitor, foi apresentado aos aspectos básicos de segurança do Access XP e à teoria da Segurança em Nível de Usuário. Na Parte II deste artigo veremos, passo-a-passo, como implementar a segurança em nível de usuário. Entre em contato, envie as suas críticas e sugestões para o seguinte e-mail: webmaster@juliobattisti.com.br.


    Outras partes do Artigo
    Parte 1 Modelo de Segurança do Access XP
    Parte 2 Exemplo Prático Parte 1
    Parte 3 Exemplo Prático Parte 2
    Parte 4 Exemplo Prático Parte 3




    você conhece a universidade do access?

    Universidade do Access - Curso Completo de Access
    com tudo para você dominar o Access - do Básico ao
    Avançado - até a Criação de Sistemas Profissionais
    Completos - Passo a Passo - Tela a Tela

    Capa da Universidade do Access

    Aplica-se ao Access 2019, 2016, 2013 e 2010!

    13 Cursos - 574 Vídeo-Aulas - 63:32 horas

    Para todos os detalhes, acesse:

    https://juliobattisti.com.br/universidade-do-access.asp


    Quer receber novidades e e-books gratuitos?

     
     

    Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

    Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

    Todos os direitos reservados, Júlio Battisti 2001-2024 ®

    LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO

    DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI