Delen via


Een machtiging verlenen aan een principal

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-database in Microsoft Fabric

In dit artikel wordt beschreven hoe u machtigingen kunt verlenen aan een principal in SQL Server met behulp van SQL Server Management Studio of Transact-SQL.

Veiligheid

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.

SQL Server Management Studio gebruiken

Toestemming verlenen aan een principal

  1. Vouw in Objectverkenner de database uit die het object bevat waaraan u machtigingen wilt verlenen.

    Notitie

    Deze stappen hebben specifiek betrekking op het verlenen van machtigingen aan een opgeslagen procedure, maar u kunt vergelijkbare stappen gebruiken om machtigingen toe te voegen aan tabellen, weergaven, functies en assembly's, evenals andere beveiligbare items. Zie GRANT (Transact-SQL) voor meer informatie

  2. Vouw de map Programmeerbaarheid uit.

  3. Vouw de map Opgeslagen procedures uit.

  4. Klik met de rechtermuisknop op een opgeslagen procedure en selecteer Eigenschappen.

  5. Selecteer in het dialoogvenster Eigenschappen van opgeslagen procedure de pagina Machtigingen. Op deze pagina kunt u gebruikers of rollen toevoegen aan de opgeslagen procedure en de machtigingen opgeven die gebruikers of rollen hebben.

  6. Wanneer u klaar bent, selecteert u OK.

Gebruik Transact-SQL

Toestemming verlenen aan een principal

  1. Maak in Objectverkennerverbinding met een exemplaar van Database Engine.

  2. Selecteer Nieuwe queryop de standaardbalk.

  3. Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren. Het volgende voorbeeld verleent EXECUTE-machtigingen voor de opgeslagen procedure HumanResources.uspUpdateEmployeeHireInfo aan een toepassingsrol met de naam 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  
    

Voor meer informatie, zie GRANT (Transact-SQL) en GRANT-objectmachtigingen (Transact-SQL).

Beperkingen

Houd rekening met de volgende aanbevolen procedures om het beheren van machtigingen eenvoudiger te maken.

  • Machtigingen verlenen aan rollen in plaats van afzonderlijke aanmeldingen of gebruikers. Wanneer één persoon wordt vervangen door een andere persoon, verwijdert u de vertrekkende persoon uit de rol en voegt u de nieuwe persoon toe aan de rol. De vele machtigingen die mogelijk aan de rol zijn gekoppeld, zijn automatisch beschikbaar voor de nieuwe persoon. Als meerdere personen in een organisatie dezelfde machtigingen nodig hebben, verleent het toevoegen van elk van hen aan de rol dezelfde machtigingen.

  • Configureer vergelijkbare beveiligbare items (tabellen, weergaven en procedures) die eigendom zijn van een schema en verdeel vervolgens machtigingen aan het schema. Het salarisschema kan bijvoorbeeld eigenaar zijn van verschillende tabellen, weergaven en opgeslagen procedures. Door toegang te verlenen tot het schema, kunnen alle benodigde machtigingen om de salarisadministratiefunctie uit te voeren tegelijkertijd worden verleend. Zie Beveiligbare objectenvoor meer informatie over welke machtigingen aan beveiligbare objecten kunnen worden verleend.

  • In SQL Database in Microsoft Fabric is Microsoft Entra ID voor databasegebruikers de enige ondersteunde verificatiemethode. Functies en machtigingen op serverniveau zijn niet beschikbaar, alleen op databaseniveau. Zie Autorisatie in SQL Database in Microsoft Fabricvoor meer informatie.