Seguridad de los metadatos
De igual modo que la seguridad en el nivel de la fila de Amazon Redshift, la seguridad de los metadatos le proporciona un mayor control sobre los metadatos. Si la seguridad de los metadatos está habilitada para el clúster aprovisionado o el grupo de trabajo sin servidor, los usuarios pueden ver los metadatos de los objetos a los que tienen acceso de visualización. La seguridad de los metadatos le permite separar la visibilidad en función de sus necesidades. Por ejemplo, puede usar un único almacenamiento de datos para centralizar todo su almacenamiento de datos. Sin embargo, si almacena datos de varios sectores, administrar la seguridad puede convertirse en una tarea compleja. Con la seguridad de los metadatos habilitada, puede configurar su visibilidad. Los usuarios de un sector pueden tener más visibilidad sobre sus objetos, mientras que usted restringe el acceso de visualización a los usuarios de otro sector. La seguridad de los metadatos admite todos los tipos de objetos, como los esquemas, las tablas, las vistas, las vistas materializadas, los procedimientos almacenados, las funciones definidas por el usuario y los modelos de machine learning.
Los usuarios pueden ver los metadatos de los objetos en las siguientes circunstancias:
-
Si se concede acceso a los objetos al usuario.
-
Si el acceso al objeto se concede a un grupo o un rol al que pertenece el usuario.
-
El objeto es público.
-
El usuario es el propietario del objeto de base de datos.
Para habilitar la seguridad de los metadatos, utilice el comando ALTER SYSTEM. La siguiente es la sintaxis de cómo utilizar el comando ALTER SYSTEM con la seguridad de los metadatos.
ALTER SYSTEM SET metadata_security=[true|t|on|false|f|off];
Al habilitar la seguridad de los metadatos, todos los usuarios que tengan los permisos necesarios pueden ver los metadatos pertinentes de los objetos a los que tienen acceso. Si desea que solo determinados usuarios puedan ver la seguridad de los metadatos, conceda el permiso ACCESS CATALOG
a un rol y, a continuación, asígnelo al usuario. Para obtener más información sobre el uso de los roles para controlar mejor la seguridad, consulte Control de acceso basado en roles.
En el siguiente ejemplo se muestra cómo conceder el permiso ACCESS CATALOG
a un rol y, a continuación, asignar el rol a un usuario. Para obtener más información sobre cómo conceder permisos, consulte el comando GRANT.
CREATE ROLE sample_metadata_viewer; GRANT ACCESS CATALOG TO ROLE sample_metadata_viewer; GRANT ROLE sample_metadata_viewer to salesadmin;
Si prefiere usar roles ya definidos, los roles definidos por el sistema operator
, secadmin
, dba
y superuser
tienen todos los permisos necesarios para ver los metadatos de los objetos. De forma predeterminada, los superusuarios pueden ver el catálogo completo.
GRANT ROLE operator to sample_user;
Si usa roles para controlar la seguridad de los metadatos, tendrá acceso a todas las vistas y funciones del sistema que incluyan el control de acceso basado en roles. Por ejemplo, puede consultar la vista de SVV_ROLES para ver todos los roles. Para ver si un usuario es miembro de un rol o grupo, utilice la función USER_IS_MEMBER_OF. Para obtener una lista completa de las vistas SVV, consulte las vistas de metadatos SVV. Para obtener una lista de las funciones de información del sistema, consulte Funciones de información del sistema.