Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric Preview
Verleent machtigingen voor een databasegebruiker, databaserol of toepassingsrol in SQL Server.
Transact-SQL syntaxis-conventies
Syntax
GRANT permission [ ,...n ]
ON
{ [ USER :: database_user ]
| [ ROLE :: database_role ]
| [ APPLICATION ROLE :: application_role ]
}
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ AS <database_principal> ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Arguments
permission
Hiermee geeft u een machtiging op die kan worden verleend voor de database-principal. Zie de sectie Opmerkingen verderop in dit onderwerp voor een lijst met machtigingen.
USER ::database_user
Hiermee geeft u de klasse en naam van de gebruiker waarvoor de machtiging wordt verleend. De kwalificatie voor het bereik (::) is vereist.
ROLE ::database_role
Hiermee geeft u de klasse en naam op van de rol waarvoor de machtiging wordt verleend. De kwalificatie voor het bereik (::) is vereist.
TOEPASSINGSROL ::application_role
Hiermee geeft u de klasse en naam op van de toepassingsrol waarvoor de machtiging wordt verleend. De kwalificatie voor het bereik (::) is vereist.
MET DE OPTIE VERLENEN
Geeft aan dat de principal ook de mogelijkheid krijgt om de opgegeven machtiging aan andere principals te verlenen.
AS-database_principal <>
Hiermee geeft u een principal op waaruit de principal die deze query uitvoert, het recht heeft om de machtiging te verlenen.
Database_user
Hiermee geeft u een databasegebruiker.
Database_role
Hiermee geeft u een databaserol op.
Application_role
Van toepassing op: SQL Server 2008 (10.0.x) en hoger, SQL Database.
Hiermee geeft u een toepassingsrol op.
Database_user_mapped_to_Windows_User
Hiermee geeft u een databasegebruiker die is toegewezen aan een Windows-gebruiker.
Database_user_mapped_to_Windows_Group
Hiermee geeft u een databasegebruiker die is toegewezen aan een Windows-groep.
Database_user_mapped_to_certificate
Hiermee geeft u een databasegebruiker die is toegewezen aan een certificaat.
Database_user_mapped_to_asymmetric_key
Hiermee geeft u een databasegebruiker die is toegewezen aan een asymmetrische sleutel.
Database_user_with_no_login
Hiermee geeft u een databasegebruiker zonder bijbehorende principal op serverniveau op.
Remarks
Informatie over database-principals is zichtbaar in de sys.database_principals catalogusweergave. Informatie over machtigingen op databaseniveau is zichtbaar in de sys.database_permissions catalogusweergave.
Machtigingen voor databasegebruikers
Een databasegebruiker is een beveiligbaar databaseniveau dat is opgenomen in de database die bovenliggend is in de machtigingshiërarchie. De meest specifieke en beperkte machtigingen die kunnen worden verleend voor een databasegebruiker, worden vermeld in de volgende tabel, samen met de meer algemene machtigingen die deze door implicatie bevatten.
| Machtiging voor databasegebruiker | Impliciet door databasegebruikersmachtiging | Impliciet door databasemachtiging |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| IMPERSONATE | CONTROL | CONTROL |
| ALTER | CONTROL | WILLEKEURIGE GEBRUIKER WIJZIGEN |
| VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Machtigingen voor databaserollen
Een databaserol is een beveiligbaar databaseniveau dat is opgenomen in de database die bovenliggend is in de machtigingshiërarchie. De meest specifieke en beperkte machtigingen die kunnen worden verleend voor een databaserol, worden vermeld in de volgende tabel, samen met de meer algemene machtigingen die deze met implicatie bevatten.
| Machtiging voor databaserol | Impliciet door machtiging voor databaserol | Impliciet door databasemachtiging |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| TAKE OWNERSHIP | CONTROL | CONTROL |
| ALTER | CONTROL | ELKE ROL WIJZIGEN |
| VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Machtigingen voor toepassingsrol
Een toepassingsrol is een beveiligbaar databaseniveau dat is opgenomen in de database die bovenliggend is in de machtigingshiërarchie. De meest specifieke en beperkte machtigingen die kunnen worden verleend voor een toepassingsrol, worden vermeld in het volgende, samen met de meer algemene machtigingen die deze door implicatie bevatten.
| Machtiging voor toepassingsrol | Impliciet door machtiging voor toepassingsrol | Impliciet door databasemachtiging |
|---|---|---|
| CONTROL | CONTROL | CONTROL |
| ALTER | CONTROL | ELKE TOEPASSINGSROL WIJZIGEN |
| VIEW DEFINITION | CONTROL | VIEW DEFINITION |
Permissions
De grantor (of de principal die is opgegeven met de AS-optie) moet de machtiging zelf hebben met GRANT OPTION of een hogere machtiging die impliceert dat de machtiging wordt verleend.
Als u de AS-optie gebruikt, zijn de volgende aanvullende vereisten van toepassing.
| AS granting_principal | Aanvullende machtiging vereist |
|---|---|
| Database user | IMITATIE-machtiging voor de gebruiker, lidmaatschap van de db_securityadmin vaste databaserol, lidmaatschap van de db_owner vaste databaserol of lidmaatschap van de vaste serverfunctie sysadmin. |
| Databasegebruiker die is toegewezen aan een Windows-gebruiker | IMITATIE-machtiging voor de gebruiker, lidmaatschap van de db_securityadmin vaste databaserol, lidmaatschap van de db_owner vaste databaserol of lidmaatschap van de vaste serverfunctie sysadmin. |
| Databasegebruiker die is toegewezen aan een Windows-groep | Lidmaatschap van de Windows-groep, lidmaatschap van de db_securityadmin vaste databaserol, lidmaatschap van de db_owner vaste databaserol of lidmaatschap van de vaste serverrol sysadmin. |
| Databasegebruiker die is toegewezen aan een certificaat | Lidmaatschap van de db_securityadmin vaste databaserol, lidmaatschap van de db_owner vaste databaserol of lidmaatschap van de vaste serverrol sysadmin. |
| Databasegebruiker die is toegewezen aan een asymmetrische sleutel | Lidmaatschap van de db_securityadminfixed databaserol, lidmaatschap van de db_owner vaste databaserol of lidmaatschap van de vaste serverrol sysadmin. |
| Databasegebruiker die niet is toegewezen aan een server-principal | IMITATIE-machtiging voor de gebruiker, lidmaatschap van de db_securityadmin vaste databaserol, lidmaatschap van de db_owner vaste databaserol of lidmaatschap van de vaste serverfunctie sysadmin. |
| Database role | ALTER-machtiging voor de rol, lidmaatschap van de db_securityadminfixed databaserol, lidmaatschap van de db_owner vaste databaserol of lidmaatschap van de vaste serverrol sysadmin. |
| Application role | ALTER-machtiging voor de rol, lidmaatschap van de db_securityadmin vaste databaserol, lidmaatschap van de db_owner vaste databaserol of lidmaatschap van de vaste serverrol sysadmin. |
Principals met CONTROL-machtigingen voor een beveiligbaar apparaat kunnen machtigingen verlenen voor die beveiligbare.
Grantees van CONTROL-machtigingen voor een database, zoals leden van de db_owner vaste databaserol, kunnen elke machtiging verlenen voor elke beveiligbare database in de database.
Examples
A. CONTROL-machtiging verlenen aan een gebruiker aan een andere gebruiker
In het volgende voorbeeld wordt een gebruiker Wanida toestemming AdventureWorks2022 verleend CONTROL aan de gebruikerRolandX.
GRANT CONTROL ON USER::Wanida TO RolandX;
GO
B. VIEW DEFINITION-machtiging verlenen voor een rol aan een gebruiker met GRANT OPTION
Het volgende voorbeeld verleent VIEW DEFINITION machtigingen voor AdventureWorks2022 rollen SammamishParking samen met GRANT OPTION een databasegebruiker JinghaoLiu.
GRANT VIEW DEFINITION ON ROLE::SammamishParking
TO JinghaoLiu WITH GRANT OPTION;
GO
C. IMITATIE-machtigingen verlenen aan een gebruiker aan een toepassingsrol
In het volgende voorbeeld wordt toestemming verleend IMPERSONATE aan de gebruiker HamithaL aan de AdventureWorks2022 toepassingsrol AccountsPayable17.
Van toepassing op: SQL Server 2008 (10.0.x) en hoger, SQL Database.
GRANT IMPERSONATE ON USER::HamithaL TO AccountsPayable17;
GO
See Also
Machtigingen voor database-principal weigeren (Transact-SQL)
Machtigingen voor database-principal intrekken (Transact-SQL)
sys.database_principals (Transact-SQL)
sys.database_permissions (Transact-SQL)
GEBRUIKER AANMAKEN (Transact-SQL)
TOEPASSINGSROL MAKEN (Transact-SQL)
ROL AANMAKEN (Transact-SQL)
GRANT (Transact-SQL)
Machtigingen (Database Engine)
Principals (Databasemotor)