-
Ao definir permissões, independentemente do usuário ou função, eles são os objetos para definir permissões. Exceto que as funções de aplicativo são especiais e têm relacionamentos mutuamente exclusivos com outras funções e usuários, as funções e membros do banco de dados têm um relacionamento muito próximo em termos de permissões. Um usuário pode pertencer a várias funções de banco de dados ao mesmo tempo, e cada função pode ter permissões diferentes. Neste momento, o princípio para os usuários obterem permissões reais é "união", a menos que haja uma configuração de negação (proibida). Por exemplo, a função A está proibida de ler a tabela de dados B, mas a função C pode ler a tabela de dados
B, neste momento, o usuário que pertence às funções A e C ainda não consegue ler a tabela de dados B porque foi banido.
Os objetos de permissões podem ser divididos em servidores e bancos de dados, ou seja, as permissões podem ser definidas separadamente para estes dois, veja a explicação a seguir.
Especifique as permissões do servidor (1) Clique com o botão direito no servidor no Object Explorer e selecione "Propriedades".
(2) Mude para “Permissões” na caixa de diálogo.
(3) Selecione o objeto para o qual as permissões devem ser definidas em "Nome de login ou função" e verifique a autorização respectivamente em "Permissões explícitas".
Após a conclusão, clique no botão “OK”, conforme mostrado na Figura 15-21.
Conforme mostrado na Figura 15-21, é a configuração de permissão do servidor. O "autorizador" é aquele atualmente conectado ao SQL Server
O nome de login do servidor; “Permissões” são as permissões que podem ser definidas por todos os nomes de login atuais; “Conceder” significa conceder permissões; se “Have Grant” estiver marcado, significa que sa concede permissões ao objeto selecionado e pode; em seguida, conceda-os a outros logins; "Rejeitar" É simplesmente proibido usar.
A seleção dessas três opções está relacionada. Se "Negar" estiver marcado, "Conceder" e "Conceder" serão automaticamente desmarcados; se "Conceder" estiver marcado, "Rejeitar" será desmarcado e "Conceder" será selecionado; .
"Nome ou função de login" é o objeto para o qual as permissões são definidas. Os leitores podem clicar no botão "Adicionar" para especificar outros nomes de login ou funções. No entanto, todas as funções de servidor integradas não podem alterar as permissões, mas as permissões podem ser especificadas para o. papel público.
Para visualizar as permissões do login ou função atualmente selecionada, clique no botão Permissões Efetivas, pois as permissões efetivas podem não apenas ser definidas na Figura 15-21, mas também depender da função à qual o login pertence. Portanto, a Figura 15-21 exibirá apenas as permissões definidas nesta configuração e as permissões padrão existentes não serão exibidas.
Figura 15-21 Defina as permissões do servidor e especifique as permissões do banco de dados (1) Selecione o banco de dados do e-book no Object Explorer, clique com o botão direito e selecione "Propriedades".
(2) Mude para “Permissões” na caixa de diálogo.
(3) Selecione o objeto para o qual as permissões serão definidas em "Usuário ou Função", verifique as permissões em "Permissões Explícitas" e clique no botão "OK" quando concluído, conforme mostrado na Figura 15-22.
Permissões do objeto (1) Selecione o banco de dados do e-book no explorador de objetos, abra a "Tabela de Dados", selecione a tabela de dados "Pedidos", clique com o botão direito e selecione "Propriedades".
(2) Mude para “Permissões” na caixa de diálogo.
(3) Clique no botão "Adicionar" e especifique o usuário, função de banco de dados ou função de aplicativo cujas permissões você deseja alterar na caixa de diálogo.
(4) Selecione o objeto para o qual as permissões serão definidas em “Usuário ou Função”, verifique as permissões em “Permissões Explícitas” e clique no botão “OK” quando concluído, conforme mostrado na Figura 15-23.
Os métodos de operação da Figura 15-21 e Figura 15-23 são exatamente os mesmos. A diferença é que as permissões do servidor, banco de dados e objetos são definidas separadamente, e os objetos que podem ser definidos também são diferentes. Na Figura 15-21, as permissões podem ser especificadas para o nome de login e a função do servidor.
Na Figura 15-23, as permissões podem ser especificadas para usuários, funções de banco de dados e funções de aplicativos. Outra diferença é que as permissões que podem ser especificadas são diferentes;
Figura 15-22 Configurando permissões do banco de dados
Figura 15-23 Configurando permissões e permissões de objeto
As permissões que podem ser definidas no SQL Server são muito complexas. Existem 94 permissões do servidor para o objeto. O que é mais difícil de entender são as propriedades do servidor e do banco de dados.
Tabela 15-4 Descrições importantes de permissões
Descrição do conteúdo da permissão
CONTROL confere capacidades semelhantes às de propriedade ao beneficiário. Na verdade, o beneficiário tem o direito garantido de
Todas as permissões definidas no ícone
ALTER Concede a capacidade de alterar as propriedades (exceto propriedade) de um objeto protegível específico. em um intervalo específico
Quando a permissão ALTER é concedida a um escopo, ela também é concedida para alterar, criar ou excluir o escopo.
As capacidades de qualquer objeto de segurança contido
ALTER ANY <objeto protegido por servidor> Concede a capacidade de criar, alterar ou excluir instâncias individuais de um objeto protegido por servidor
ALTER ANY <objeto seguro do banco de dados> Concede CREATE, ALTER ou DROP a uma instância individual de um objeto seguro do banco de dados.
habilidade
TAKE OWNERSHIP permite que o beneficiário assuma a propriedade do objeto de segurança concedido
CREATE <objeto de segurança do servidor> Concede a capacidade de criar objetos de segurança do servidor ao beneficiário
CREATE <objeto de segurança de banco de dados> Concede ao beneficiário a capacidade de criar objetos de segurança de banco de dados
VER DEFINIÇÃO permite que o beneficiário acesse metadados
O "objeto de segurança" na Tabela 15-4 refere-se ao objeto da operação de configuração de permissão, como "Role" em "Create Role"
Este é o objeto seguro aqui.
Use T-SQL para definir permissões Para definir permissões em T-SQL, você pode usar as três instruções GRANT (conceder), DENY (negar) e REVOKE (revogar).
Essas três declarações têm muitos usos e suas formas básicas são as seguintes:
GRANT ALL ou nome de permissão ON objeto TO usuário ou nome de função COM opção
REVOKE ALL ou nome de permissão ON objeto TO usuário ou nome de função CASCADE
DENY ALL ou nome de permissão ON objeto TO usuário ou nome de função CASCADE
Cada instrução possui três elementos, nomeadamente nome de permissão, objeto e usuário (função), como segue (Ch151524Grant.sql):
USE e-book
GRANT SELECT ON OBJECT::dbo.members PARA David
REFERÊNCIAS DE CONCESSÃO (MemberID) EM OBJECT::dbo.Orders
PARA DAVID COM OPÇÃO DE CONCESSÃO
As instruções acima usam a instrução Grant para conceder permissões a David respectivamente, mas o conteúdo do objeto é diferente.
Comece com “OBJETO::”, seguido do nome completo, de preferência seguido do proprietário. A segunda instrução Grant atua em um objeto especial, "(MemberID) ON OBJECT::dbo.Orders", que representa o MemberID atuando no objeto Orders.
campo, conceda permissões de visualização nesta coluna a David. Ao mesmo tempo, adicionar “COM GRANT OPTION” significa que David pode conceder essa permissão a outros, o que equivale a “with grant” na Figura 15-23.
Nas instruções Revoke e Deny, Cascade pode ser adicionado no final. A função desta palavra-chave é revogar as permissões que o usuário pode conceder a outros após To, ou seja, cancelar "ter concedido".
Veja as permissões disponíveis Como há muitas permissões disponíveis, não há opções para escolher no T-SQL, então use GRANT, DENY e
Ao REVOKE, você deve primeiro saber o nome da permissão antes de poder defini-la. Os leitores podem visualizar sys.fn_builtin_permissions,
As três tabelas de dados do sistema sys.database_permissions e sys.server_permissions são mostradas na Figura 15-24.
Figura 15-24 Visualizar permissões disponíveis “Permission_name” na Figura 15-24 é o nome da permissão disponível, que pode ser aplicado a Grant, DENY ou DENY.
Revogar declaração.
Visualizar conteúdo de permissão Para visualizar o nome de login atual e o conteúdo de permissão do usuário, você pode executar o procedimento armazenado sp_helprotect, conforme mostrado na Figura 15-25
mostrado.
Beneficiário na Figura 15-25 é o nome do usuário que concede permissões, e Concedente é o nome do usuário que concede permissões a outros.
Até quatro parâmetros podem ser usados após o procedimento armazenado sp_helprotect, representando o nome do objeto, o nome do usuário e o nome do concedente. O quarto parâmetro pode ser o ou s, representando permissões de objeto de consulta ou permissões de instrução, respectivamente.