Udostępnij za pośrednictwem


Udzielenie uprawnienia podmiotowi

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Database w Microsoft Fabric

W tym artykule opisano sposób udzielania uprawnień podmiotowi zabezpieczeń w programie SQL Server przy użyciu programu SQL Server Management Studio lub Języka Transact-SQL.

Bezpieczeństwo

Grantor (lub główny podmiot określony z opcją AS) musi mieć samodzielne uprawnienie z opcją GRANT lub wyższe uprawnienie, które zawiera w sobie przyznanie uprawnienia.

Korzystanie z programu SQL Server Management Studio

Udzielanie uprawnień głównemu podmiotowi

  1. W Eksploratorze obiektów rozwiń bazę danych zawierającą obiekt, do którego chcesz udzielić uprawnień.

    Notatka

    Niniejsze kroki dotyczą konkretnie udzielania uprawnień do procedury składowanej, ale można użyć podobnych kroków, aby dodać uprawnienia do tabel, widoków, funkcji, zestawów oraz innych obiektów zabezpieczalnych. Aby uzyskać więcej informacji, zobacz GRANT (Transact-SQL)

  2. Rozwiń folder Programmability.

  3. Rozwiń folder o nazwie Procedury składowane.

  4. Kliknij prawym przyciskiem myszy procedurę składowaną i wybierz z menu Właściwości .

  5. W oknie dialogowym Właściwości procedury składowanej wybierz stronę Uprawnienia. Użyj tej strony, aby dodać użytkowników lub role do procedury składowanej i określić uprawnienia, które mają ci użytkownicy lub role.

  6. Po zakończeniu wybierz pozycję OK.

Korzystanie z Transact-SQL

Udziel uprawnień podmiotowi

  1. W Eksploratorze obiektów nawiąż połączenie z wystąpieniem silnika bazy danych.

  2. Na pasku standardowym wybierz pozycję Nowe zapytanie.

  3. Skopiuj poniższy przykład i wklej go w oknie zapytania, a następnie wybierz pozycję Wykonaj. Poniższy przykład przyznaje uprawnienie EXECUTE w procedurze składowanej HumanResources.uspUpdateEmployeeHireInfo roli aplikacji o nazwie Recruiting11.

    -- Grants EXECUTE permission on stored procedure HumanResources.uspUpdateEmployeeHireInfo to an application role called Recruiting11.   
    USE AdventureWorks2022;  
    GO  
    GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
        TO Recruiting11;  
    GO  
    

Aby uzyskać więcej informacji, zobacz GRANT (Transact-SQL) i GRANT object permissions (Transact-SQL).

Ograniczenia

Rozważ następujące najlepsze rozwiązania, które mogą ułatwić zarządzanie uprawnieniami.

  • Przyznawanie uprawnień do ról zamiast poszczególnych logowań lub użytkowników. Gdy jedna osoba zostanie zastąpiona przez inną, usuń odchodzącą osobę z roli i dodaj nową osobę do roli. Wiele uprawnień, które mogą być skojarzone z rolą, będzie automatycznie dostępne dla nowej osoby. Jeśli kilka osób w organizacji wymaga tych samych uprawnień, dodanie każdego z nich do roli spowoduje przyznanie im tych samych uprawnień.

  • Skonfiguruj podobne elementy zabezpieczeń (tabele, widoki i procedury), aby należały do schematu, a następnie przyznaj uprawnienia do tego schematu. Na przykład schemat listy płac może zawierać kilka tabel, widoków i procedur składowanych. Udzielając dostępu do schematu, można jednocześnie udzielić wszystkich niezbędnych uprawnień do wykonywania funkcji listy płac. Aby uzyskać więcej informacji na temat obiektów, którym można przyznać uprawnienia, zapoznaj się z Securables.

  • W bazie danych SQL w ramach Microsoft Fabric Microsoft Entra ID dla użytkowników baz danych jest jedyną obsługiwaną metodą uwierzytelniania. Role i uprawnienia na poziomie serwera nie są dostępne, tylko na poziomie bazy danych. Aby uzyskać więcej informacji, zobacz Autoryzacja w bazie danych SQL w usłudze Microsoft Fabric.