Observações de uso
Para revogar privilégios de um objeto, você deve atender a um dos seguintes critérios:
-
Ser o proprietário do objeto.
-
Ser um superusuário.
-
Ter um privilégio concedido para o objeto e privilégio.
Por exemplo, o comando a seguir fornece ao usuário HR a capacidade de executar comandos SELECT na tabela de funcionários e conceder e revogar o mesmo privilégio para outros usuários.
grant select on table employees to HR with grant option;
HR não pode revogar privilégios para qualquer operação além de SELECT ou em qualquer outra tabela que não seja de funcionários.
Superusuários podem acessar todos os objetos, independentemente de comandos GRANT e REVOKE que definem privilégios de objeto.
PUBLIC representa um grupo que inclui sempre todos os usuários. Por padrão, todos os membros de PUBLIC têm privilégios CREATE e USAGE no esquema PUBLIC. Para restringir as permissões de qualquer usuário no esquema PUBLIC, você deve primeiro revogar todas as permissões em PUBLIC no esquema PUBLIC e, depois, conceder privilégios a usuários ou grupos específicos. O exemplo a seguir controla os privilégios de criação de tabela no esquema PUBLIC.
revoke create on schema public from public;
Para revogar privilégios de uma tabela do Lake Formation, a função do IAM associada ao esquema externo da tabela deve ter permissão para revogar privilégios para a tabela externa. O exemplo a seguir cria um esquema externo com uma função do IAM associada myGrantor
. A função do IAM myGrantor
tem permissão para revogar permissões de outros. O comando REVOKE usa a permissão da função do IAM myGrantor
que está associada ao esquema externo para revogar permissão para a função do IAM myGrantee
.
create external schema mySchema from data catalog database 'spectrum_db' iam_role 'arn:aws:iam::123456789012:role/myGrantor' create external database if not exists;
revoke select on external table mySchema.mytable from iam_role 'arn:aws:iam::123456789012:role/myGrantee';
nota
Se a função do IAM também tiver a permissão ALL
em um AWS Glue Data Catalog habilitado para o Lake Formation, a permissão ALL
não será revogada. Somente a permissão SELECT
é revogada. Você pode exibir as permissões do Lake Formation no console do Lake Formation.
Observações de uso para revogar a permissão ASSUMEROLE
As observações de uso a seguir são aplicáveis à revogação do privilégio ASSUMEROLE no Amazon Redshift.
Somente um superusuário de banco de dados pode revogar o privilégio ASSUMEROLE para usuários e grupos. Um superusuário sempre mantém o privilégio ASSUMEROLE.
Para habilitar o uso do privilégio ASSUMEROLE para usuários e grupos, um superusuário executa a instrução a seguir uma vez no cluster. Antes de conceder o privilégio ASSUMEROLE a usuários e grupos, um superusuário deve executar a instrução a seguir uma vez no cluster.
revoke assumerole on all from public for all;
Observações de uso para revogar permissões de machine learning
Você não pode conceder ou revogar diretamente as permissões relacionadas a uma função de ML. Uma função de ML pertence a um modelo de ML e as permissões são controladas por meio do modelo. Em vez disso, você pode revogar permissões relacionadas ao modelo de ML. O exemplo a seguir demonstra como revogar a permissão de execução para todos os usuários associados ao modelo customer_churn
.
REVOKE EXECUTE ON MODEL customer_churn FROM PUBLIC;
Você também pode revogar todas as permissões de um usuário para o modelo de ML customer_churn
.
REVOKE ALL on MODEL customer_churn FROM ml_user;
A concessão ou revogação da permissão EXECUTE
relacionada a uma função de ML falhará se houver uma função de ML no esquema, mesmo que essa função de ML já tenha a permissão EXECUTE
por meio de GRANT EXECUTE ON MODEL
. Recomendamos usar um esquema separado ao usar o comando CREATE MODEL
para manter as funções de ML em um esquema separado. O exemplo a seguir demonstra como fazer isso.
CREATE MODEL ml_schema.customer_churn FROM customer_data TARGET churn FUNCTION ml_schema.customer_churn_prediction IAM_ROLE default SETTINGS ( S3_BUCKET 'amzn-s3-demo-bucket' );