Delen via


Rollen voor het beheren van service-principals

In dit artikel wordt beschreven hoe u rollen beheert voor service-principals in uw Azure Databricks-account.

Een service-principal is een identiteit die je in Azure Databricks maakt voor gebruik met geautomatiseerde hulpprogramma's, taken en toepassingen. Service-principals bieden geautomatiseerde hulpprogramma's en scripts API-toegang tot Azure Databricks-resources, wat een betere beveiliging biedt dan het gebruik van gebruikers of groepen.

U kunt Azure Databricks-gebruikers, service-principals en accountgroepen toegang verlenen om een service-principal te gebruiken. Hierdoor kunnen gebruikers taken uitvoeren als de service-principal, in plaats van als hun identiteit. Dit voorkomt dat taken mislukken als een gebruiker uw organisatie verlaat of als een groep wordt gewijzigd.

Zie Service-principals beheren voor een overzicht van service-principals.

Service-principalrollen

Service-principalrollen zijn rollen op accountniveau. Dit betekent dat ze slechts eenmaal hoeven te worden gedefinieerd, in uw account en voor alle werkruimten moeten worden toegepast. Er zijn twee rollen die u kunt verlenen aan een service-principal: Service Principal Manager en Service Principal User.

  • Met Service Principal Manager kunt u rollen voor een service-principal beheren. De maker van een service-principal heeft de rol Service Principal Manager voor de service-principal. Accountbeheerders hebben de rol Service Principal Manager voor alle service-principals in een account.

Notitie

Als er vóór 13 juni 2023 een service-principal is gemaakt, heeft de maker van de service-principal niet standaard de rol Service Principal Manager . Als u een manager moet zijn, vraagt u een accountbeheerder om u de rol Service Principal Manager te verlenen.

  • Met service-principalgebruiker kunnen werkruimtegebruikers taken uitvoeren als de service-principal. De taak wordt uitgevoerd met de identiteit van de service-principal, in plaats van de identiteit van de eigenaar van de taak.

Gebruikers met de rol Service Principal Manager nemen de gebruikersrol service-principal niet over. Als u de service-principal wilt gebruiken om taken uit te voeren, moet u uzelf expliciet de gebruikersrol service-principal toewijzen, zelfs nadat u de service-principal hebt gemaakt.

Notitie

Azure Databricks-service-principalrollen overlappen niet met Azure-rollen of Microsoft Entra ID-rollen (voorheen Azure Active Directory). Deze rollen omvatten alleen het Azure Databricks-account.

Service-principalrollen beheren met behulp van de accountconsole

Accountbeheerders kunnen rollen van service-principals beheren met behulp van de accountconsole.

Rollen weergeven in een service-principal

  1. Meld u als accountbeheerder aan bij de accountconsole.
  2. Klik in de zijbalk op Gebruikersbeheer.
  3. Zoek en klik op het tabblad Service-principals op de naam.
  4. Klik op het tabblad Machtigingen .

U kunt de lijst met principals en de rollen zien die ze voor de service-principal krijgen. U kunt ook de zoekbalk gebruiken om te zoeken naar een specifieke principal of rol.

Rollen verlenen aan een service-principal

  1. Meld u als accountbeheerder aan bij de accountconsole.

  2. Klik in de zijbalk op Gebruikersbeheer.

  3. Zoek en klik op het tabblad Service-principals op de naam.

  4. Klik op het tabblad Machtigingen .

  5. Klik op Toegang verlenen.

  6. Zoek en selecteer de gebruiker, service-principal of groep en kies de rol of rollen (service-principal: Manager of service-principal: gebruiker) die u wilt toewijzen.

    Notitie

    Gebruikers met de rol Service Principal Manager nemen de gebruikersrol service-principal niet over. Als u wilt dat de gebruiker de service-principal gebruikt om taken uit te voeren, moet u expliciet de gebruikersrol Service-principal toewijzen.

  7. Klik op Opslaan.

Rollen intrekken voor een service-principal

  1. Meld u als accountbeheerder aan bij de accountconsole.
  2. Klik in de zijbalk op Gebruikersbeheer.
  3. Zoek en klik op het tabblad Service-principals op de naam.
  4. Klik op het tabblad Machtigingen .
  5. Zoek de gebruiker, service-principal of groep om hun rollen te bewerken.
  6. Klik in de rij met de principal ophetmenu Menu VanGelezen en selecteer Bewerken. U kunt ook Verwijderen selecteren om alle rollen voor de principal in te trekken.
  7. Klik op Bewerken.
  8. Klik op de X naast de rollen die u wilt intrekken.
  9. Klik op Opslaan.

Service-principalrollen beheren met behulp van de pagina met werkruimtebeheerdersinstellingen

Werkruimtebeheerders kunnen rollen voor service-principals beheren voor service-principals waarvoor ze de rol Service Principal Manager hebben met behulp van de pagina met beheerdersinstellingen.

Rollen weergeven in een service-principal

  1. Meld u als werkruimtebeheerder aan bij de Azure Databricks-werkruimte.
  2. Klik op uw gebruikersnaam in de bovenste balk van de Azure Databricks-werkruimte en selecteer Instellingen.
  3. Klik op het tabblad Identiteit en toegang .
  4. Klik naast Service-principals op Beheren.
  5. Zoek en klik op de naam.
  6. Klik op het tabblad Machtigingen .

U kunt de lijst met principals en de rollen zien die ze voor de service-principal krijgen. U kunt ook de zoekbalk gebruiken om te zoeken naar een specifieke principal of rol.

Rollen verlenen aan een service-principal

U moet de rol Service Principal Manager hebben voor een service-principal om rollen te kunnen verlenen.

  1. Meld u als werkruimtebeheerder aan bij de Azure Databricks-werkruimte.

  2. Klik op uw gebruikersnaam in de bovenste balk van de Azure Databricks-werkruimte en selecteer Instellingen.

  3. Klik op het tabblad Identiteit en toegang .

  4. Klik naast Service-principals op Beheren.

  5. Zoek en klik op de naam.

  6. Klik op het tabblad Machtigingen .

  7. Klik op Toegang verlenen.

  8. Zoek en selecteer de gebruiker, service-principal of groep en kies de rol of rollen (service-principal: Manager of service-principal: gebruiker) die u wilt toewijzen.

    Notitie

    Rollen kunnen worden verleend aan elke gebruiker, service-principal of groep op accountniveau, zelfs als ze geen lid zijn van de werkruimte. Rollen kunnen niet worden verleend aan werkruimte-lokale groepen.

    Gebruikers met de rol Service Principal Manager nemen de gebruikersrol service-principal niet over. Als u wilt dat de gebruiker de service-principal gebruikt om taken uit te voeren, moet u expliciet de gebruikersrol Service-principal toewijzen.

  9. Klik op Opslaan.

Rollen intrekken voor een service-principal

U moet de rol Service Principal Manager hebben voor een service-principal om rollen in te trekken.

  1. Meld u als werkruimtebeheerder aan bij de Azure Databricks-werkruimte.
  2. Klik op uw gebruikersnaam in de bovenste balk van de Azure Databricks-werkruimte en selecteer Instellingen.
  3. Klik op het tabblad Identiteit en toegang .
  4. Klik naast Service-principals op Beheren.
  5. Zoek en klik op de naam.
  6. Klik op het tabblad Machtigingen .
  7. Zoek de gebruiker, service-principal of groep om hun rollen te bewerken.
  8. Klik in de rij met de principal ophetmenu Menu VanGelezen en selecteer Bewerken. U kunt ook Verwijderen selecteren om alle rollen voor de principal in te trekken.
  9. Klik op Bewerken.
  10. Klik op de X naast de rollen die u wilt intrekken.
  11. Klik op Opslaan.

Service-principalrollen beheren met behulp van de Databricks CLI

U moet de rol Service Principal Manager hebben om rollen voor een service-principal te beheren. U kunt de Databricks CLI gebruiken om rollen te beheren. Zie Wat is de Databricks CLI voor informatie over het installeren en verifiëren van de Databricks CLI.

U kunt ook service-principal-rollen beheren met behulp van de Api voor toegangsbeheer voor accounts. De API voor toegangsbeheer voor accounts wordt ondersteund via het Azure Databricks-account en werkruimten.

Accountbeheerders roepen de API aan op accounts.azuredatabricks.net ({account-domain}/api/2.0/preview/accounts/{account_id}/access-control).

Gebruikers met de rol Service Principal Manager die geen accountbeheerders zijn, roepen de API aan in het werkruimtedomein ({workspace-domain}/api/2.0/preview/accounts/access-control/).

Rollen verlenen aan een service-principal met behulp van de Databricks CLI

De Toegangsbeheer-API voor accounts en CLI maakt gebruik van een etag veld om consistentie te garanderen. Als u service-principal-rollen wilt verlenen of intrekken via de API, geeft u eerst een opdracht voor een GET regelset uit en ontvangt u een etag reactie. Vervolgens kunt u wijzigingen lokaal toepassen en ten slotte een PUT regelset uitgeven met de etag.

Geef bijvoorbeeld een GET regelset op voor de service-principal waartoe u toegang wilt verlenen door de volgende opdracht uit te voeren:

databricks account access-control get-rule-set accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default <etag>

Vervangen:

  • <account-id> met de account-id.
  • <application-id> met de toepassings-id van de service-principal.
  • <etag> met ""

Voorbeeld van een reactie:

{
  "etag":"<etag>",
  "grant_rules": [
    {
      "principals": [
        "users/user@example.com"
      ],
      "role":"roles/servicePrincipal.manager"
    },
    {
      "principals": [
        "users/user@example.com"
      ],
      "role":"roles/servicePrincipal.user"
    }
  ],
  "name":"<name>"
}

Kopieer het veld uit de hoofdtekst van het etag antwoord voor later gebruik.

Vervolgens kunt u lokaal updates uitvoeren wanneer u besluit over de uiteindelijke status van de regels en vervolgens de regelset bijwerkt met behulp van de etag. Voer de volgende opdracht uit om de service-principal: gebruikersrol toe te kennen aan de gebruiker user2@example.com:

databricks account access-control update-rule-set --json '{
  "name": "accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default",
  "rule_set": {
      "name": "accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default",
      "grant_rules": [
        {
            "role": "roles/servicePrincipal.user",
            "principals": ["users/user2@example.com"]
        }
      ],
      "etag": "<etag>"
  }
}'

Vervangen:

  • <account-id> met de account-id.
  • <application-id> met de toepassings-id van de service-principal.
  • <etag> met de etag die u hebt gekopieerd uit het laatste antwoord.

Voorbeeld van een reactie:

{
  "etag":"<new-etag>",
  "grant_rules": [
    {
      "principals": [
        "users/user2@example.com"
      ],
      "role":"roles/servicePrincipal.user"
    }
  ],
  "name":"accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default"
}

Belangrijk

Omdat dit een PUT methode is, worden alle bestaande rollen overschreven. Als u bestaande rollen wilt behouden, moet u deze toevoegen aan de grant_roles matrix.

Een lijst weergeven van de service-principals die u kunt gebruiken

Met behulp van de API voor werkruimteservice-principals kunt u de service-principals vermelden waarop u de gebruikersrol hebt door te filteren op servicePrincipal/use.

Voer de volgende opdracht uit om de service-principals weer te geven waarvoor u de gebruikersrol Service-principal hebt:

databricks service-principals list -p WORKSPACE --filter "permission eq 'servicePrincipal/use'"

U kunt ook service-principals weergeven met behulp van de API voor werkruimteservice-principals.