Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punkt końcowy analizy SQL w usłudze Microsoft Fabric
Hurtownia danych w usłudze Microsoft Fabric
Baza danych SQL w usłudze Microsoft Fabric
Przyznaje uprawnienia do schematu.
Transact-SQL konwencje składni
Syntax
GRANT permission [ ,...n ] ON SCHEMA :: schema_name
TO database_principal [ ,...n ]
[ WITH GRANT OPTION ]
[ AS granting_principal ]
Arguments
permission
Określa uprawnienie, które można udzielić w schemacie. Aby uzyskać listę uprawnień, zobacz sekcję Uwagi w dalszej części tego tematu.
SCHEMAT ::schema_name
Określa schemat, na którym udzielono uprawnień. Kwalifikator zakresu :: jest wymagany.
database_principal
Określa podmiot zabezpieczeń, któremu udzielono uprawnień. Jedna z następujących:
- Użytkownik bazy danych
- Rola bazy danych
- rola w aplikacji
- użytkownik bazy danych zamapowany na dane logowania systemu Windows
- użytkownik bazy danych zamapowany na grupę systemu Windows
- użytkownik bazy danych zamapowany na certyfikat
- użytkownik bazy danych zamapowany na klucz asymetryczny
- użytkownik bazy danych nie jest mapowany na jednostkę serwera.
OPCJA PRZYDZIAŁU
Wskazuje, że podmiot zabezpieczeń będzie również mieć możliwość udzielenia określonego uprawnienia innym podmiotom zabezpieczeń.
JAK granting_principal
Określa podmiot zabezpieczeń, z którego podmiot zabezpieczeń wykonujący to zapytanie ma prawo przyznać uprawnienie. Jedna z następujących:
- Użytkownik bazy danych
- Rola bazy danych
- rola w aplikacji
- użytkownik bazy danych zamapowany na dane logowania systemu Windows
- użytkownik bazy danych zamapowany na grupę systemu Windows
- użytkownik bazy danych zamapowany na certyfikat
- użytkownik bazy danych zamapowany na klucz asymetryczny
- użytkownik bazy danych nie jest mapowany na jednostkę serwera.
Remarks
Important
W niektórych przypadkach kombinacja uprawnień ALTER i REFERENCE może umożliwić użytkownikowi wyświetlanie danych lub wykonywanie nieautoryzowanych funkcji. Na przykład: użytkownik z uprawnieniem ALTER w tabeli i uprawnienie REFERENCE dla funkcji może utworzyć obliczoną kolumnę za pośrednictwem funkcji i mieć ją wykonać. W takim przypadku użytkownik musi mieć również uprawnienie SELECT w obliczonej kolumnie.
Schemat jest zabezpieczany na poziomie bazy danych zawarty w bazie danych, która jest jej elementem nadrzędnym w hierarchii uprawnień. Poniżej wymieniono najbardziej szczegółowe i ograniczone uprawnienia, które można udzielić w schemacie, wraz z bardziej ogólnymi uprawnieniami, które obejmują je przez implikację.
| Zezwolenie na schemat | Dorozumiane przez uprawnienie schematu | Dorozumiane przez uprawnienie bazy danych |
|---|---|---|
| ALTER | CONTROL | ZMIENIANIE DOWOLNEGO SCHEMATU |
| CONTROL | CONTROL | CONTROL |
| UTWÓRZ SEKWENCJĘ | ALTER | ZMIENIANIE DOWOLNEGO SCHEMATU |
| DELETE | CONTROL | DELETE |
| EXECUTE | CONTROL | EXECUTE |
| INSERT | CONTROL | INSERT |
| REFERENCES | CONTROL | REFERENCES |
| SELECT | CONTROL | SELECT |
| PRZEJMIJ ODPOWIEDZIALNOŚĆ | CONTROL | CONTROL |
| UPDATE | CONTROL | UPDATE |
| WYŚWIETLANIE ŚLEDZENIA ZMIAN | CONTROL | CONTROL |
| DEFINICJA WIDOKU | CONTROL | DEFINICJA WIDOKU |
Caution
Użytkownik z uprawnieniem ALTER w schemacie może używać łańcucha własności do uzyskiwania dostępu do zabezpieczanych w innych schematach, w tym zabezpieczanych, do których ten użytkownik jawnie odmawia dostępu. Dzieje się tak, ponieważ łańcuch własności pomija kontrole uprawnień w obiektach, do których odwołuje się odwołanie, gdy są własnością podmiotu zabezpieczeń będącego właścicielem obiektów odwołujących się do nich. Użytkownik z uprawnieniem ALTER do schematu może tworzyć procedury, synonimy i widoki należące do właściciela schematu. Te obiekty będą miały dostęp (za pośrednictwem łańcucha własności) do informacji w innych schematach należących do właściciela schematu. Jeśli to możliwe, należy unikać udzielania uprawnień ALTER schematu, jeśli właściciel schematu jest również właścicielem innych schematów.
Na przykład ten problem może wystąpić w następujących scenariuszach. W tych scenariuszach przyjęto założenie, że użytkownik, określany jako U1, ma uprawnienie ALTER w schemacie S1. Użytkownik U1 nie może uzyskać dostępu do obiektu tabeli, o nazwie T1, w schemacie S2. Schemat S1 i schemat S2 należą do tego samego właściciela.
Użytkownik U1 ma uprawnienie CREATE PROCEDURE w bazie danych i uprawnienie EXECUTE w schemacie S1. W związku z tym użytkownik U1 może utworzyć procedurę składowaną, a następnie uzyskać dostęp do obiektu odmowy T1 w procedurze składowanej.
Użytkownik U1 ma uprawnienie CREATE SYNONYM w bazie danych i uprawnienie SELECT w schemacie S1. W związku z tym użytkownik U1 może utworzyć synonim w schemacie S1 dla obiektu odmowy T1, a następnie uzyskać dostęp do odrzuconego obiektu T1 przy użyciu synonimu.
Użytkownik U1 ma uprawnienie CREATE VIEW w bazie danych i uprawnienie SELECT w schemacie S1. W związku z tym użytkownik U1 może utworzyć widok w schemacie S1 w celu wykonywania zapytań o dane z obiektu odmowy T1, a następnie uzyskać dostęp do obiektu odmowy T1 przy użyciu widoku.
Permissions
Grantor (lub podmiot zabezpieczeń określony z opcją AS) musi mieć uprawnienie z opcją GRANT lub wyższe uprawnienie, które oznacza przyznanie uprawnienia.
W przypadku korzystania z opcji AS te dodatkowe wymagania mają zastosowanie.
| JAK granting_principal | Wymagane dodatkowe uprawnienia |
|---|---|
| Użytkownik bazy danych | Uprawnienie IMPERSONATE dla użytkownika, członkostwo w db_securityadmin stałej roli bazy danych, członkostwo w db_owner stałej roli bazy danych lub członkostwo w stałej roli serwera sysadmin. |
| Użytkownik bazy danych zamapowany na logowanie do systemu Windows | Uprawnienie IMPERSONATE dla użytkownika, członkostwo w db_securityadmin stałej roli bazy danych, członkostwo w db_owner stałej roli bazy danych lub członkostwo w stałej roli serwera sysadmin. |
| Użytkownik bazy danych zamapowany na grupę systemu Windows | Członkostwo w grupie systemu Windows, członkostwo w db_securityadmin stałej roli bazy danych, członkostwo w db_owner stałej roli bazy danych lub członkostwo w stałej roli serwera sysadmin. |
| Użytkownik bazy danych zamapowany na certyfikat | Członkostwo w db_securityadmin stałej roli bazy danych, członkostwo w db_owner stałej roli bazy danych lub członkostwo w stałej roli serwera sysadmin. |
| Użytkownik bazy danych zamapowany na klucz asymetryczny | Członkostwo w db_securityadmin stałej roli bazy danych, członkostwo w db_owner stałej roli bazy danych lub członkostwo w stałej roli serwera sysadmin. |
| Użytkownik bazy danych nie jest mapowany na żadną jednostkę serwera | Uprawnienie IMPERSONATE dla użytkownika, członkostwo w db_securityadmin stałej roli bazy danych, członkostwo w db_owner stałej roli bazy danych lub członkostwo w stałej roli serwera sysadmin. |
| Rola bazy danych | UPRAWNIENIE ALTER dla roli, członkostwo w db_securityadmin stałej roli bazy danych, członkostwo w db_owner stałej roli bazy danych lub członkostwo w stałej roli serwera sysadmin. |
| Rola aplikacji | UPRAWNIENIE ALTER dla roli, członkostwo w db_securityadmin stałej roli bazy danych, członkostwo w db_owner stałej roli bazy danych lub członkostwo w stałej roli serwera sysadmin. |
Właściciele obiektów mogą udzielać uprawnień do obiektów, których są właścicielami. Podmioty z uprawnieniami CONTROL do zabezpieczania mogą udzielać uprawnień do tego zabezpieczanego.
Udziel uprawnień SERWERA KONTROLI, takich jak członkowie stałej roli serwera sysadmin, mogą udzielić wszelkich uprawnień do zabezpieczania na serwerze. Grantees uprawnień KONTROLI w bazie danych, takich jak członkowie db_owner stałej roli bazy danych, mogą udzielić wszelkich uprawnień do zabezpieczania w bazie danych. Grantees uprawnień CONTROL w schemacie może przyznać dowolne uprawnienie do dowolnego obiektu w schemacie.
Examples
A. Udzielanie uprawnień INSERT w schemacie HumanResources gościowi
GRANT INSERT ON SCHEMA :: HumanResources TO guest;
B. Udzielanie uprawnień SELECT dla osoby schematu dla użytkownika bazy danych WilJo
GRANT SELECT ON SCHEMA :: Person TO WilJo WITH GRANT OPTION;
Zobacz też
ODMOWA uprawnień schematu (Transact-SQL)
UPRAWNIENIA DO ODWOŁYWANIE schematu (Transact-SQL)
DOTACJA (Transact-SQL)
Uprawnienia (aparat bazy danych)
Podmioty (aparat bazy danych)
UTWÓRZ CERTYFIKAT (Transact-SQL)
CREATE ASYMETRYCZNY KLUCZ (Transact-SQL)
TWORZENIE ROLI APLIKACJI (Transact-SQL)
Hierarchia szyfrowania
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)