sql >> Database teknologi >  >> RDS >> Sqlserver

Giv tilladelser på tabelniveau i SQL Server

Start SQL Server Management Studio, og opret forbindelse med legitimationsoplysninger, der har fået rollen 'sa'.

Udvid Sikkerhed , højreklik på Login og vælg Nyt login .

Indtast et beskrivende loginnavn , vælg SQL Server-godkendelse , og indtast en sikker adgangskode. Nederst på siden skal du vælge den database, Chartio vil oprette forbindelse til som Standarddatabase .

Vælg User Mapping fanen, marker afkrydsningsfeltet ud for den ønskede database, bekræft, at kun "offentlig" er valgt, og klik på OK .

Klik på Ny forespørgsel knappen og vælg den database, du opretter forbindelse til Chartio.

Indsæt følgende forespørgsel i forespørgselsvinduet og udfør. Erstat "chartio_read_only" med det faktiske brugernavn på den bruger, du oprettede.

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

Vælg og kopier forespørgselsresultaterne ind i forespørgselsvinduet.

Fjern alle tabeller eller visninger, du ikke ønsker, at "chartio_read_only-brugeren" skal have adgang til. I dette eksempel har jeg fjernet tabellerne Invoice og InvoiceLine, fordi de indeholder følsomme oplysninger.

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"

Udfør forespørgslen.

Dernæst skal du give visningsdefinition på dbo-skemaet. Kopier nedenstående forespørgsel og kør den i SQL Server. Erstat brugernavnet med det brugernavn, du oprettede tidligere.

GRANT VIEW DEFINITION ON SCHEMA :: dbo TO chartio_read_only

Du kan nu bruge disse legitimationsoplysninger til at forbinde Chartio til din database med skrivebeskyttede tilladelser på kun de tabeller, du har angivet.


  1. Eksporter en MySQL-database til SQLite-database

  2. PHP-kode til at konvertere en MySQL-forespørgsel til CSV

  3. Oracle - Sådan opretter du en materialiseret visning med HURTIG OPDATERING og JOINS

  4. Hvad er SYSNAME-datatypen i SQL Server?