Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Warehouse i Microsoft Fabric
Använd GRANT och DENY satser för att ge eller neka en behörighet (såsom UPDATE) på en securable (såsom en databas, tabell, vy, etc.) till en säkerhetschef (en inloggning, en databasanvändare eller en databasroll). Använd REVOKE för att ta bort beviljandet eller neka ett tillstånd.
Behörigheter på servernivå tillämpas på inloggningar. Behörigheter på databasnivå tillämpas på databasanvändare och databasroller.
Om du vill se vilka behörigheter som har beviljats och nekats frågar du vyerna sys.server_permissions och sys.database_permissions. Behörigheter som inte uttryckligen beviljas eller nekas till ett säkerhetsobjekt kan ärvas genom att ha medlemskap i en roll som har behörigheter. Behörigheterna för de fasta databasrollerna kan inte ändras och visas inte i vyerna sys.server_permissions och sys.database_permissions.
GRANT Ger uttryckligen en eller flera behörigheter.
DENY Förnekar uttryckligen huvudmannen att ha en eller flera tillstånd.
REVOKE tar bort befintliga GRANT eller DENY behörigheter.
Transact-SQL syntaxkonventioner
Syntax
-- Azure Synapse Analytics and Parallel Data Warehouse and Microsoft Fabric
GRANT
<permission> [ ,...n ]
[ ON [ <class_type> :: ] securable ]
TO principal [ ,...n ]
[ WITH GRANT OPTION ]
[;]
DENY
<permission> [ ,...n ]
[ ON [ <class_type> :: ] securable ]
TO principal [ ,...n ]
[ CASCADE ]
[;]
REVOKE
<permission> [ ,...n ]
[ ON [ <class_type> :: ] securable ]
[ FROM | TO ] principal [ ,...n ]
[ CASCADE ]
[;]
<permission> ::=
{ see the tables below }
<class_type> ::=
{
LOGIN
| DATABASE
| OBJECT
| ROLE
| SCHEMA
| USER
}
Argument
<behörighet>[ ,...n ]
En eller flera behörigheter för att bevilja, neka eller återkalla.
ON [ <class_type> :: ] satsen ON beskriver den skyddsbara parameter som behörigheter ska beviljas, nekas eller återkallas på.
<class_type> Klasstypen för den säkra. Detta kan vara LOGIN, DATABASE, OBJEKT,SCHEMA , ROLE, eller USER. Behörigheter kan också beviljas till SERVERclass_type, men SERVER- har inte angetts för dessa behörigheter. DATABASE anges inte när tillståndet inkluderar ordet DATABASE (till exempel ALTER ANY DATABASE). När ingen class_type har angetts och behörighetstypen inte är begränsad till server- eller databasklassen antas klassen vara OBJECT.
Namnet på inloggningen, databasen, tabellen, vyn, schemat, proceduren, rollen eller användaren som du vill bevilja, neka eller återkalla behörigheter på. Objektnamnet kan anges med namngivningsregler i tre delar som beskrivs i Transact-SQL syntaxkonventioner.
ATT huvudnamn [ ,...n ]
Ett eller flera huvudkonton beviljas, nekas eller återkallas. Huvudnamn är namnet på en inloggnings-, databasanvändares eller databasroll.
FRÅN huvudnamn [ ,...n ]
Ett eller flera huvudnamn att återkalla behörigheter från. Huvudnamn är namnet på en inloggnings-, databasanvändares eller databasroll.
FROM kan endast användas med ett REVOKE uttalande.
TO kan användas med GRANT, DENY, eller REVOKE.
MED GRANT OPTION
Anger att den beviljande också kommer att ges möjlighet att bevilja den angivna behörigheten till andra huvudkonton.
KASKAD
Anger att behörigheten nekas eller återkallas till det angivna huvudkontot och till alla andra huvudnamn som huvudkontot har beviljat behörigheten till. Krävs när huvudpersonen har tillstånd med GRANT OPTION.
GRANT ALTERNATIV FÖR
Anger att möjligheten att bevilja den angivna behörigheten kommer att återkallas. Detta krävs när du använder argumentet CASCADE.
Viktig
Om huvudmannen har det angivna tillståndet utan alternativet GRANT , kommer själva tillståndet att dras in.
Behörigheter
För att bevilja ett tillstånd måste givaren antingen ha själva tillståndet med MED-ALTERNATIVET GRANT , eller ha ett högre tillstånd som innebär att tillståndet beviljas. Objektägare kan bevilja behörigheter för de objekt de äger. Huvudkonton med CONTROL- behörighet för en skyddsbar kan bevilja behörighet för den skyddsbara filen. Medlemmar i db_owner- och db_securityadmin fasta databasroller kan ge alla behörigheter i databasen.
Allmänna kommentarer
Neka eller återkalla behörigheter till ett huvudnamn påverkar inte begäranden som har godkänts och körs för närvarande. Om du vill begränsa åtkomsten omedelbart måste du avbryta aktiva begäranden eller avsluta aktuella sessioner.
Not
De flesta fasta serverroller är inte tillgängliga i den här versionen. Använd användardefinierade databasroller i stället. Inloggningar kan inte läggas till i sysadmin fast serverroll. Om du beviljar KONTROLLSERVER behörighet uppskattas medlemskapet i sysadmin fast serverroll.
Vissa instruktioner kräver flera behörigheter. Till exempel krävs CREATE TABLE behörigheter i databasen för att skapa en tabell, samt behörigheter ALTER SCHEMA för tabellen som ska innehålla tabellen.
Analytics Platform System (PDW) kör ibland lagrade procedurer för att distribuera användaråtgärder till beräkningsnoderna. Därför kan inte körningsbehörigheten för en hel databas nekas. (Till exempel misslyckas DENY EXECUTE ON DATABASE::<name> TO <user>;.) Som en lösning nekar du körningsbehörigheten till användarscheman eller specifika objekt (procedurer).
I Microsoft Fabric kan de CREATE USER för närvarande inte exekveras explicit. När GRANT eller DENY körs kommer användaren att skapas automatiskt.
I Microsoft Fabric är behörigheter på servernivå inte hanterbara.
Implicita och explicita behörigheter
En uttrycklig behörighet är en behörighet av typen GRANT eller DENY som ges till ett säkerhetsobjekt genom en sats av typen GRANT eller DENY.
En implicit behörighet är en GRANT eller DENY behörighet som en huvudperson (inloggning, användare eller databasroll) har ärvt från en annan databasroll.
En implicit behörighet kan också ärvas från en överordnad eller överordnad behörighet. Till exempel UPDATE kan behörighet på en tabell ärvas genom att ha UPDATE behörighet på schemat som innehåller tabellen, eller CONTROL-behörighet på tabellen.
Ägarskapslänkning
När flera databasobjekt kommer åt varandra sekventiellt kallas sekvensen för en -kedja. Även om sådana kedjor inte finns oberoende av varandra, utvärderar SQL Server behörigheter för de ingående objekten på ett annat sätt när SQL Server passerar länkarna i en kedja än om de skulle komma åt objekten separat. Ägarskapslänkning har viktiga konsekvenser för att hantera säkerheten. Mer information om ägarskapskedjor finns i Ägarskapskedjor och Självstudie: Ägarskapskedjor och Kontextväxling.
Behörighetslista
Behörigheter på servernivå
Behörigheter på servernivå kan beviljas, nekas och återkallas från inloggningar.
behörigheter som gäller för servrar
KONTROLLSERVER
ADMINISTRERA MASSÅTGÄRDER
ÄNDRA ALLA ANSLUTNINGAR
ÄNDRA NÅGON DATABASE
SKAPA VALFRITT DATABASE
ÄNDRA NÅGON EXTERNAL DATA SOURCE
ÄNDRA NÅGON EXTERNAL FILE FORMAT
ÄNDRA NÅGON LOGIN
ÄNDRA SERVERTILLSTÅND
ANSLUT SQL
VIEW VALFRI DEFINITION
VIEW NÅGON DATABASE
VIEW SERVERTILLSTÅND
behörigheter som gäller för inloggningar
STYRNING PÅ LOGIN
ALTER ON LOGIN
IMITERA PÅ LOGIN
VIEW DEFINITION
Behörigheter på databasnivå
Behörigheter på databasnivå kan beviljas, nekas och återkallas från databasanvändare och användardefinierade databasroller.
behörigheter som gäller för alla databasklasser
KONTROLL
ÄNDRA
VIEW DEFINITION
behörigheter som gäller för alla databasklasser utom användare
- TA ÄGARSKAP
behörigheter som endast gäller för databaser
ÄNDRA NÅGON DATABASE
ALTER ON DATABASE
ÄNDRA ALLA DATARYMDER
ÄNDRA NÅGON ROLE
ÄNDRA NÅGON SCHEMA
ÄNDRA NÅGON USER
BACKUP DATABASE
KOPPLA UPP DATABASE
CREATE PROCEDURE
CREATE ROLE
CREATE SCHEMA
CREATE TABLE
CREATE VIEW
SHOWPLAN
behörigheter som endast gäller för användare
- PERSONIFIERA
behörigheter som gäller för databaser, scheman och objekt
ÄNDRA
DELETE
UTFÖRA
INSERT
UTVALD
UPDATE
REFERENSER
En definition av varje typ av behörighet finns i Behörigheter (databasmotor).
Standardbehörigheter
I följande lista beskrivs standardbehörigheterna:
När en inloggning skapas med satsen CREATE LOGIN får den nya inloggningen CONNECT SQL-behörigheten .
Alla inloggningar är medlemmar i den offentliga serverrollen och kan inte tas bort från offentliga.
När en databasanvändare skapas med hjälp av behörigheten CREATE USER får databasanvändaren CONNECT-behörigheten i databasen.
Alla huvudnamn, inklusive offentliga roll, har som standard inga explicita eller implicita behörigheter.
När en inloggning eller användare blir ägare till en databas eller ett objekt har inloggningen eller användaren alltid alla behörigheter för databasen eller objektet. Ägarskapsbehörigheterna kan inte ändras och visas inte som explicita behörigheter. , , och REVOKE uttalandena GRANTDENYhar ingen effekt på ägarna.
Inloggningen sa har alla behörigheter för installationen. På samma sätt som ägarskapsbehörigheter kan sa behörigheter inte ändras och visas inte som explicita behörigheter. , GRANTDENY, och REVOKE satserna har ingen effekt på sa-inloggning. Det går inte att byta namn på sa inloggning.
Instruktionen USE kräver inte behörigheter. Alla huvudnamn kan köra instruktionen USE på valfri databas.
Exempel: Azure Synapse Analytics and Analytics Platform System (PDW)
A. Bevilja en servernivå behörighet till en inloggning
Följande två instruktioner ger en servernivå behörighet till en inloggning.
GRANT CONTROL SERVER TO [Ted];
GRANT ALTER ANY DATABASE TO Mary;
B. Bevilja en servernivå behörighet till en inloggning
I följande exempel ges en behörighet på servernivå vid en inloggning till ett serverhuvudnamn (en annan inloggning).
GRANT VIEW DEFINITION ON LOGIN::Ted TO Mary;
C. Bevilja en användare behörighet på databasnivå
I följande exempel ges en behörighet på databasnivå för en användare till ett databashuvudnamn (en annan användare).
GRANT VIEW DEFINITION ON USER::[Ted] TO Mary;
D. Bevilja, neka och återkalla en schemabehörighet
Följande GRANT formulering ger Yuen möjlighet att välja data från vilken tabell eller vy som helst i dbo-schemat.
GRANT SELECT ON SCHEMA::dbo TO [Yuen];
Följande DENY sats förhindrar att Yuen väljer data från någon tabell eller vy i dbo-schemat. Yuen kan inte läsa data även om han har behörighet på något annat sätt, till exempel genom ett rollmedlemskap.
DENY SELECT ON SCHEMA::dbo TO [Yuen];
Följande REVOKE uttalande tar bort behörigheten DENY . Nu är Yuens explicita behörigheter neutrala. Yuen kanske kan välja data från valfri tabell via någon annan implicit behörighet, till exempel ett rollmedlemskap.
REVOKE SELECT ON SCHEMA::dbo TO [Yuen];
E. Demonstrerar den valfria OBJECT:: -satsen
Eftersom OBJECT är standardklassen för en behörighetsinstruktion är följande två instruktioner desamma. Satsen OBJECT:: är valfri.
GRANT UPDATE ON OBJECT::dbo.StatusTable TO [Ted];
GRANT UPDATE ON dbo.StatusTable TO [Ted];