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. 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
- Meld u als accountbeheerder aan bij de accountconsole.
- Klik in de zijbalk op Gebruikersbeheer.
- Zoek en klik op het tabblad Service-principals op de naam.
- 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
Meld u als accountbeheerder aan bij de accountconsole.
Klik in de zijbalk op Gebruikersbeheer.
Zoek en klik op het tabblad Service-principals op de naam.
Klik op het tabblad Machtigingen .
Klik op Toegang verlenen.
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.
Klik op Opslaan.
Rollen intrekken voor een service-principal
- Meld u als accountbeheerder aan bij de accountconsole.
- Klik in de zijbalk op Gebruikersbeheer.
- Zoek en klik op het tabblad Service-principals op de naam.
- Klik op het tabblad Machtigingen .
- Zoek de gebruiker, service-principal of groep om hun rollen te bewerken.
- Klik in de rij met de principal ophetmenu en selecteer Bewerken. U kunt ook Verwijderen selecteren om alle rollen voor de principal in te trekken.
- Klik op Bewerken.
- Klik op de X naast de rollen die u wilt intrekken.
- 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
- Meld u als werkruimtebeheerder aan bij de Azure Databricks-werkruimte.
- Klik op uw gebruikersnaam in de bovenste balk van de Azure Databricks-werkruimte en selecteer Instellingen.
- Klik op het tabblad Identiteit en toegang .
- Klik naast Service-principals op Beheren.
- Zoek en klik op de naam.
- 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.
Meld u als werkruimtebeheerder aan bij de Azure Databricks-werkruimte.
Klik op uw gebruikersnaam in de bovenste balk van de Azure Databricks-werkruimte en selecteer Instellingen.
Klik op het tabblad Identiteit en toegang .
Klik naast Service-principals op Beheren.
Zoek en klik op de naam.
Klik op het tabblad Machtigingen .
Klik op Toegang verlenen.
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.
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.
- Meld u als werkruimtebeheerder aan bij de Azure Databricks-werkruimte.
- Klik op uw gebruikersnaam in de bovenste balk van de Azure Databricks-werkruimte en selecteer Instellingen.
- Klik op het tabblad Identiteit en toegang .
- Klik naast Service-principals op Beheren.
- Zoek en klik op de naam.
- Klik op het tabblad Machtigingen .
- Zoek de gebruiker, service-principal of groep om hun rollen te bewerken.
- Klik in de rij met de principal ophetmenu en selecteer Bewerken. U kunt ook Verwijderen selecteren om alle rollen voor de principal in te trekken.
- Klik op Bewerken.
- Klik op de X naast de rollen die u wilt intrekken.
- 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.