sql >> Database >  >> RDS >> Sqlserver

Machtigingen op tabelniveau verlenen in SQL Server

Start SQL Server Management Studio en maak verbinding met referenties die de 'sa'-rol hebben gekregen.

Vouw Beveiliging uit , klik met de rechtermuisknop op Aanmeldingen en selecteer Nieuwe login .

Voer een beschrijvende Inlognaam in , selecteer SQL Server-verificatie en voer een veilig wachtwoord in. Selecteer onderaan de pagina de database waarmee Chartio verbinding zal maken als de Standaarddatabase .

Selecteer de Gebruikerstoewijzing tabblad, vink het vakje aan naast de gewenste database, bevestig dat alleen 'openbaar' is geselecteerd en klik op OK .

Klik op de Nieuwe zoekopdracht en selecteer de database waarmee u verbinding maakt met Chartio.

Plak de volgende query in het queryvenster en voer deze uit. Vervang “chartio_read_only” door de daadwerkelijke gebruikersnaam van de gebruiker die je hebt aangemaakt.

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

Selecteer en kopieer de zoekresultaten naar het zoekvenster.

Verwijder alle tabellen of weergaven waartoe u niet wilt dat de "chartio_read_only gebruiker" toegang heeft. In dit voorbeeld heb ik de tabellen Invoice en InvoiceLine verwijderd omdat ze gevoelige informatie bevatten.

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"

Voer de query uit.

Vervolgens moet u een weergavedefinitie verlenen voor het dbo-schema. Kopieer de onderstaande query en voer deze uit in SQL Server. Vervang de gebruikersnaam door de gebruikersnaam die u eerder heeft aangemaakt.

GRANT VIEW DEFINITION ON SCHEMA :: dbo TO chartio_read_only

U kunt deze inloggegevens nu gebruiken om Chartio te verbinden met uw database met alleen-lezen machtigingen voor alleen de tabellen die u hebt opgegeven.


  1. Maximale waarden in rijen vinden

  2. Hoe kan ik alle kolommen in een tabel doorzoeken?

  3. psql - sla de resultaten van de opdracht op in een bestand

  4. verander tabel hernoem kolom in Oracle-database