MySQL REVOGAR

MySQL REVOGAR

Resumo : neste tutorial, você aprenderá como usar REVOKEa instrução MySQL para revogar privilégios de contas de usuários .

Introdução à instrução MySQL REVOKE

A REVOKEinstrução revoga um ou mais privilégios de uma conta de usuário.

A REVOKEdeclaração tem vários formatos.

Revogar um ou mais privilégios

O seguinte ilustra a sintaxe básica da REVOKEinstrução que revoga um ou mais privilégios de contas de usuário:

REVOKE privilegee [,privilege]..
ON [object_type] privilege_level
FROM user1 [, user2] ..;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe:

  • Primeiro, especifique uma lista de privilégios separados por vírgula que você deseja revogar de uma conta de usuário após a REVOKEpalavra-chave.
  • Segundo, especifique o tipo de objeto e o nível de privilégio dos privilégios após a ONpalavra-chave; confira a GRANTdeclaração para obter mais informações sobre o nível de privilégio.
  • Terceiro, especifique uma ou mais contas de usuário das quais deseja revogar os privilégios na FROMcláusula.

Observe que para executar esta forma de REVOKEinstrução, você deve ter GRANT OPTIONprivilégios ou deve ter os privilégios que está revogando.

Revogar todos os privilégios

Para revogar todos os privilégios de um usuário, você usa o seguinte formato de REVOKE ALLdeclaração:

REVOKE 
    ALL [PRIVILEGES], 
    GRANT OPTION 
FROM user1 [, user2];Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Para executar a REVOKE ALLinstrução, você deve ter um CREATE USERprivilégio global ou o UPDATEprivilégio do mysqlbanco de dados do sistema.

Revogar proxy

Para revogar um usuário proxy, você usa o REVOKE PROXYcomando:

REVOKE PROXY 
ON proxied_user 
FROM proxy_user1[,proxy_user1]...;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Um usuário proxy é um usuário válido no MySQL que pode se passar por outro usuário, portanto, o usuário proxy tem todos os privilégios do usuário que ele representa.

É uma boa prática mostrar os privilégios das contas de usuário usando a SHOW GRANTSinstrução antes de revogar os privilégios do usuário:

SHOW GRANTS FOR user;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Exemplos de MySQL REVOKE

Vejamos alguns exemplos de revogação de privilégios.

1) Exemplo de uso do MySQL REVOKE para revogar privilégios de uma conta de usuário

Primeiro, crie uma conta de usuário chamada rfc@localhost:

CREATE USER rfc@localhost 
IDENTIFIED BY 'Secret1Pass!';Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Segundo, conceda rfc@localhostos privilégios SELECT, UPDATEe INSERTno classicmodelsbanco de dados:

GRANT SELECT, UPDATE, INSERT 
ON classicmodels.*
TO rfc@localhost;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Terceiro, exiba os privilégios concedidos ao rfc@localhostusuário:

SHOW GRANTS FOR rfc@localhost;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Quarto, revogue os privilégios UPDATEe INSERTde rfc@localhost:

REVOKE INSERT, UPDATE
ON classicmodels.*
FROM rfc@localhost;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Quinto, exiba os privilégios de rfc@localhost:

SHOW GRANTS FOR rfc@localhost;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
Exemplo de privilégios de revogação do MySQL

2) Usando MySQL REVOKE para revogar todos os privilégios de um exemplo de conta de usuário

Primeiro, conceda o EXECUTEprivilégio ao rfc@localhost:

GRANT EXECUTE
ON classicmodels.*
TO rfc@localhost;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Segundo, mostre os privilégios de rfc@localhostusuário concedidos anteriormente:

Terceiro, revogue todos os privilégios da rfc@localhostconta do usuário usando a REVOKE ALLinstrução:

REVOKE ALL, GRANT OPTION
FROM rfc@localhost;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Por fim, mostre os privilégios do rfc@localhostpara verificar a revogação:

SHOW GRANTS FOR rfc@localhost;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
MySQL revogar todos os exemplos

O rfc@localhostnão tem privilégios. Observe que USAGEprivilégio significa nenhum privilégio no MySQL.

3) Usando MySQL REVOKE para revogar exemplo de privilégio PROXY

Primeiro, conceda o PROXYprivilégio à rfc@localhostconta do usuário:

GRANT PROXY 
ON root 
TO rfc@localhost;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Em segundo lugar, mostre os privilégios concedidos de rfc@localhost:

SHOW GRANTS FOR rfc@localhost;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
MySQL revogar proxy

Terceiro, revogue o PROXYprivilégio de rfc@localhost:

REVOKE PROXY 
ON root 
FROM rfc@localhost;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Por fim, mostre os privilégios concedidos rfc@lcoalhostpara verificar a ação:

SHOW GRANTS FOR rfc@localhost;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Quando o comando MySQL REVOKE entra em vigor

O efeito da REVOKEinstrução depende do nível de privilégio:

Nível global

As alterações entram em vigor quando a conta do usuário se conecta ao servidor MySQL nas sessões subsequentes. As alterações não se aplicam a todos os usuários conectados no momento.

Nível de banco de dados

As alterações entram em vigor após a próxima USEinstrução.

Níveis de tabela e coluna

As alterações entram em vigor em todas as consultas subsequentes.

Resumo

  • Use a REVOKEinstrução MySQL para revogar privilégios de contas de usuário.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *