Dela via


Roller för att hantera tjänstens huvudnamn

Den här artikeln beskriver hur du hanterar roller för tjänstens huvudnamn i ditt Azure Databricks-konto.

Ett huvudnamn för tjänsten är en identitet som du skapar i Azure Databricks för användning med automatiserade verktyg, jobb och program. Tjänstens huvudnamn ger automatiserade verktyg och skript ENDAST API-åtkomst till Azure Databricks-resurser, vilket ger större säkerhet än att använda användare eller grupper.

Du kan ge Azure Databricks-användare, tjänstens huvudnamn och kontogrupper åtkomst till att använda tjänstens huvudnamn. På så sätt kan användare köra jobb som tjänstens huvudnamn, i stället för som sin identitet. Detta förhindrar att jobb misslyckas om en användare lämnar organisationen eller om en grupp ändras.

En översikt över tjänstens huvudnamn finns i Hantera tjänstens huvudnamn.

Roller för tjänstens huvudnamn

Tjänstens huvudnamnsroller är roller på kontonivå. Det innebär att de bara behöver definieras en gång, i ditt konto och tillämpas på alla arbetsytor. Det finns två roller som du kan bevilja för ett huvudnamn för tjänsten: Tjänstens huvudnamnshanterare och användaren av tjänstens huvudnamn.

  • Med Tjänstens huvudnamnshanterare kan du hantera roller på ett huvudnamn för tjänsten. Skaparen av tjänstens huvudnamn har tjänstens huvudnamnsroll i tjänstens huvudnamn. Kontoadministratörer har rollen Som huvudnamn för tjänstens huvudnamn för alla tjänsthuvudnamn i ett konto.

Kommentar

Om ett huvudnamn för tjänsten skapades före den 13 juni 2023 har skaparen av tjänstens huvudnamn inte rollen som tjänsthuvudnamnshanterare som standard. Om du behöver vara chef ber du en kontoadministratör att ge dig rollen Som ansvarig för tjänsten.

  • Med tjänstens huvudnamn kan arbetsyteanvändare köra jobb som tjänstens huvudnamn. Jobbet körs med identiteten för tjänstens huvudnamn i stället för jobbägarens identitet.

Användare med tjänstens huvudnamnshanterare ärver inte användarrollenFör tjänstens huvudnamn. Om du vill använda tjänstens huvudnamn för att köra jobb måste du uttryckligen tilldela dig själv användarrollen för tjänstens huvudnamn, även efter att du har skapat tjänstens huvudnamn.

Kommentar

Azure Databricks-tjänstens huvudroller överlappar inte Azure-roller eller Microsoft Entra-ID-roller (tidigare Azure Active Directory). De här rollerna omfattar endast Azure Databricks-kontot.

Hantera roller för tjänstens huvudnamn med hjälp av kontokonsolen

Kontoadministratörer kan hantera roller för tjänstens huvudnamn med hjälp av kontokonsolen.

Visa roller på ett huvudnamn för tjänsten

  1. Logga in på kontokonsolen som kontoadministratör.
  2. I sidofältet klickar du på Användarhantering.
  3. På fliken Tjänstens huvudnamn letar du upp och klickar på namnet.
  4. Klicka på fliken Behörigheter .

Du kan se listan över huvudnamn och de roller som de beviljas för tjänstens huvudnamn. Du kan också använda sökfältet för att söka efter ett specifikt huvudnamn eller en viss roll.

Bevilja roller för ett huvudnamn för tjänsten

  1. Logga in på kontokonsolen som kontoadministratör.

  2. I sidofältet klickar du på Användarhantering.

  3. På fliken Tjänstens huvudnamn letar du upp och klickar på namnet.

  4. Klicka på fliken Behörigheter .

  5. Klicka på Bevilja åtkomst.

  6. Sök efter och välj den användare, tjänstens huvudnamn eller grupp och välj den roll eller de roller (tjänstens huvudnamn: Chef eller Tjänstens huvudnamn: Användare) som ska tilldelas.

    Kommentar

    Användare med tjänstens huvudnamnshanterare ärver inte användarrollenFör tjänstens huvudnamn. Om du vill att användaren ska använda tjänstens huvudnamn för att köra jobb måste du uttryckligen tilldela användarrollen Tjänstens huvudnamn.

  7. Klicka på Spara.

Återkalla roller för tjänstens huvudnamn

  1. Logga in på kontokonsolen som kontoadministratör.
  2. I sidofältet klickar du på Användarhantering.
  3. På fliken Tjänstens huvudnamn letar du upp och klickar på namnet.
  4. Klicka på fliken Behörigheter .
  5. Sök efter användaren, tjänstens huvudnamn eller grupp för att redigera deras roller.
  6. På raden med huvudnamnet klickar du på menyn för kebab Lodrät ellips och väljer sedan Redigera. Du kan också välja Ta bort för att återkalla alla roller för huvudkontot.
  7. Klicka på Redigera.
  8. Klicka på X bredvid de roller som du vill återkalla.
  9. Klicka på Spara.

Hantera roller för tjänstens huvudnamn med hjälp av sidan administratörsinställningar för arbetsytan

Arbetsyteadministratörer kan hantera tjänstens huvudnamnsroller för tjänstens huvudnamn som de har rollen Tjänsthuvudnamnshanterare på med hjälp av sidan administratörsinställningar.

Visa roller på ett huvudnamn för tjänsten

  1. Som arbetsyteadministratör loggar du in på Azure Databricks-arbetsytan.
  2. Klicka på ditt användarnamn i det övre fältet på Azure Databricks-arbetsytan och välj Inställningar.
  3. Klicka på fliken Identitet och åtkomst .
  4. Bredvid Tjänstens huvudnamn klickar du på Hantera.
  5. Leta upp och klicka på namnet.
  6. Klicka på fliken Behörigheter .

Du kan se listan över huvudnamn och de roller som de beviljas för tjänstens huvudnamn. Du kan också använda sökfältet för att söka efter ett specifikt huvudnamn eller en viss roll.

Bevilja roller för ett huvudnamn för tjänsten

Du måste ha rollen Som huvudnamn för tjänstens huvudnamn för att kunna bevilja roller.

  1. Som arbetsyteadministratör loggar du in på Azure Databricks-arbetsytan.

  2. Klicka på ditt användarnamn i det övre fältet på Azure Databricks-arbetsytan och välj Inställningar.

  3. Klicka på fliken Identitet och åtkomst .

  4. Bredvid Tjänstens huvudnamn klickar du på Hantera.

  5. Leta upp och klicka på namnet.

  6. Klicka på fliken Behörigheter .

  7. Klicka på Bevilja åtkomst.

  8. Sök efter och välj den användare, tjänstens huvudnamn eller grupp och välj den roll eller de roller (tjänstens huvudnamn: Chef eller Tjänstens huvudnamn: Användare) som ska tilldelas.

    Kommentar

    Roller kan beviljas till alla användare på kontonivå, tjänstens huvudnamn eller grupp, även om de inte är medlemmar i arbetsytan. Roller kan inte beviljas till arbetsytelokala grupper.

    Användare med tjänstens huvudnamnshanterare ärver inte användarrollenFör tjänstens huvudnamn. Om du vill att användaren ska använda tjänstens huvudnamn för att köra jobb måste du uttryckligen tilldela användarrollen Tjänstens huvudnamn.

  9. Klicka på Spara.

Återkalla roller för tjänstens huvudnamn

Du måste ha rollen Som huvudnamn för tjänstens huvudnamn för att kunna återkalla roller.

  1. Som arbetsyteadministratör loggar du in på Azure Databricks-arbetsytan.
  2. Klicka på ditt användarnamn i det övre fältet på Azure Databricks-arbetsytan och välj Inställningar.
  3. Klicka på fliken Identitet och åtkomst .
  4. Bredvid Tjänstens huvudnamn klickar du på Hantera.
  5. Leta upp och klicka på namnet.
  6. Klicka på fliken Behörigheter .
  7. Sök efter användaren, tjänstens huvudnamn eller grupp för att redigera deras roller.
  8. På raden med huvudnamnet klickar du på menyn för kebab Lodrät ellips och väljer sedan Redigera. Du kan också välja Ta bort för att återkalla alla roller för huvudkontot.
  9. Klicka på Redigera.
  10. Klicka på X bredvid de roller som du vill återkalla.
  11. Klicka på Spara.

Hantera roller för tjänstens huvudnamn med hjälp av Databricks CLI

Du måste ha rollen Som huvudansvarig för tjänsten för att hantera roller på ett huvudnamn för tjänsten. Du kan använda Databricks CLI för att hantera roller. Information om hur du installerar och autentiserar till Databricks CLI finns i Vad är Databricks CLI?.

Du kan också hantera roller för tjänstens huvudnamn med hjälp av API:et för åtkomstkontroll för konton. API:et för åtkomstkontroll för konton stöds via Azure Databricks-kontot och arbetsytorna.

Kontoadministratörer anropar API:et på accounts.azuredatabricks.net ({account-domain}/api/2.0/preview/accounts/{account_id}/access-control).

Användare med tjänstens huvudnamnshanterare som inte är kontoadministratörer anropar API:et på arbetsytedomänen ({workspace-domain}/api/2.0/preview/accounts/access-control/).

Bevilja roller för ett huvudnamn för tjänsten med hjälp av Databricks CLI

API:et för åtkomstkontroll för konton och CLI använder ett etag fält för att säkerställa konsekvens. Om du vill bevilja eller återkalla tjänstens huvudnamnsroller via API:et utfärdar du först ett GET regeluppsättningskommando och tar emot ett etag svar. Du kan sedan tillämpa ändringar lokalt och slutligen utfärda en PUT regeluppsättning med etag.

Utfärda till exempel en GET regeluppsättning för tjänstens huvudnamn som du vill bevilja åtkomst till genom att köra följande kommando:

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

Ersätta:

  • <account-id> med konto-ID:t.
  • <application-id> med program-ID:t för tjänstens huvudnamn.
  • <etag> med ""

Exempelsvar:

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

Kopiera fältet etag från svarstexten för senare användning.

Sedan kan du göra uppdateringar lokalt när du bestämmer dig för reglernas slutliga tillstånd och sedan uppdatera regeluppsättningen med hjälp av etag. Om du vill bevilja tjänstens huvudnamn: Användarroll till användaren user2@example.comkör du följande:

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>"
  }
}'

Ersätta:

  • <account-id> med konto-ID:t.
  • <application-id> med program-ID:t för tjänstens huvudnamn.
  • <etag> med den etag som du kopierade från det senaste svaret.

Exempelsvar:

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

Viktigt!

Eftersom det här är en PUT metod skrivs alla befintliga roller över. Om du vill behålla befintliga roller måste du lägga till dem i matrisen grant_roles .

Visa en lista över de tjänsthuvudnamn som du kan använda

Med hjälp av API:et för tjänstens huvudnamn för arbetsytan kan du lista de tjänsthuvudnamn som du har användarrollen på genom att filtrera på servicePrincipal/use.

Kör följande kommando för att lista de tjänsthuvudnamn som du har användarrollen För tjänstens huvudnamn på:

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

Du kan också lista tjänstens huvudnamn med hjälp av API:et för arbetsytetjänstens huvudnamn.