sql >> Base de Datos >  >> RDS >> Sqlserver

Otorgar permisos de nivel de tabla en SQL Server

Inicie SQL Server Management Studio y conéctese con las credenciales a las que se les ha otorgado el rol "sa".

Ampliar Seguridad , haga clic derecho en Inicios de sesión y seleccione Nuevo inicio de sesión .

Ingrese un Nombre de inicio de sesión descriptivo , seleccione Autenticación de SQL Server e ingrese una contraseña segura. En la parte inferior de la página, seleccione la base de datos a la que Chartio se conectará como la base de datos predeterminada .

Seleccione la Asignación de usuarios pestaña, marque la casilla junto a la base de datos deseada, confirme que solo está seleccionada la opción "pública" y haga clic en Aceptar .

Haga clic en Nueva consulta y seleccione la base de datos que está conectando a Chartio.

Pegue la siguiente consulta en la ventana de consulta y ejecute. Reemplace "chartio_read_only" con el nombre de usuario real del usuario que creó.

SELECT 'GRANT SELECT ON "' + TABLE_SCHEMA + '"."' + TABLE_NAME + '" TO "chartio_read_only"' FROM information_schema.tables

Seleccione y copie los resultados de la consulta en la ventana de consulta.

Elimine cualquier tabla o vista a la que no desee que tenga acceso el "usuario chartio_read_only". En este ejemplo, eliminé las tablas Invoice y InvoiceLine porque contienen información confidencial.

GRANT SELECT ON "dbo"."Customer" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Employee" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Genre" TO "chartio_read_only"
GRANT SELECT ON "dbo"."MediaType" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Playlist" TO "chartio_read_only"
GRANT SELECT ON "dbo"."PlaylistTrack" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Track" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Album" TO "chartio_read_only"
GRANT SELECT ON "dbo"."Artist" TO "chartio_read_only"

Ejecute la consulta.

A continuación, deberá otorgar la definición de vista en el esquema dbo. Copie la siguiente consulta y ejecútela en SQL Server. Reemplace el nombre de usuario con el nombre de usuario que creó anteriormente.

GRANT VIEW DEFINITION ON SCHEMA :: dbo TO chartio_read_only

Ahora puede usar estas credenciales para conectar Chartio a su base de datos con permisos de solo lectura en las tablas que haya especificado.