Delen via


Identiteiten, machtigingen en bevoegdheden voor Databricks-taken beheren

Dit artikel bevat aanbevelingen en instructies voor het beheren van identiteiten, machtigingen en bevoegdheden voor Databricks-taken.

Notitie

Geheimen worden niet bewerkt vanuit het Spark-stuurprogrammalogboek stdout en stderr de streams van een cluster. Als u gevoelige gegevens wilt beveiligen, kunnen spark-stuurprogrammalogboeken standaard alleen worden weergegeven door gebruikers met de machtiging CAN MANAGE voor de taak, de modus voor toegang van één gebruiker en clusters in de modus voor gedeelde toegang. Als u wilt dat gebruikers met de machtiging CAN ATTACH TO of CAN RESTART hebben om de logboeken op deze clusters weer te geven, stelt u de volgende Spark-configuratie-eigenschap in de clusterconfiguratie in: spark.databricks.acl.needAdminPermissionToViewLogs false

In clusters in de modus Geen isolatie voor gedeelde toegang kunnen de Spark-stuurprogrammalogboeken worden bekeken door gebruikers met de machtiging CAN ATTACH TO of CAN MANAGE. Als u wilt beperken wie de logboeken kan lezen voor alleen gebruikers met de machtiging CAN MANAGE, stelt u in spark.databricks.acl.needAdminPermissionToViewLogs op true.

Bekijk Spark-configuratie voor meer informatie over het toevoegen van Spark-eigenschappen aan een clusterconfiguratie.

Standaardbevoegdheden voor taken

Taken hebben standaard de volgende bevoegdheden ingesteld:

  • De maker van de taak krijgt de machtiging IS OWNER.
  • Aan werkruimtebeheerders wordt de machtiging CAN MANAGE verleend.
  • De maker van de taak is ingesteld voor Uitvoeren als.

Beheerdersmachtigingen voor taken

Werkruimtebeheerders kunnen standaard de eigenaar van de taak of Uitvoeren als-configuratie wijzigen in elke gebruiker of service-principal in de werkruimte. Accountbeheerders kunnen de RestrictWorkspaceAdmins instelling configureren om dit gedrag te wijzigen. Zie Werkruimtebeheerders beperken.

Hoe werken taken met Unity Catalog-machtigingen?

Taken worden uitgevoerd als de identiteit van de gebruiker in de instelling Uitvoeren als . Deze identiteit wordt geëvalueerd op basis van machtigingstoekenningen voor het volgende:

  • Door Unity Catalog beheerde assets, waaronder tabellen, volumes, modellen en weergaven.
  • Verouderde toegangsbeheerlijsten voor tabellen (ACL's) voor assets die zijn geregistreerd in de verouderde Hive-metastore.
  • ACL's voor rekenkracht, notebooks, query's en andere werkruimteassets.
  • Databricks-geheimen. Zie Geheimbeheer.

Notitie

Unity Catalog verleent en verouderde tabel-ACL's vereisen compatibele rekentoegangsmodi. Zie Rekenproces configureren voor taken.

SQL-taken en -machtigingen

De bestandstaak is het enige SQL-taaktype om de Run as-identiteit volledig te respecteren.

SQL-query's, waarschuwingen en verouderde dashboardtaken respecteren geconfigureerde instellingen voor delen.

  • Als eigenaar uitvoeren: uitvoeringen van de geplande SQL-taak gebruiken altijd de identiteit van de eigenaar van de geconfigureerde SQL-asset.
  • Uitvoeren als viewer: Uitvoeringen van de geplande SQL-taak gebruiken altijd de identiteit die is ingesteld in het veld Uitvoeren als taak.

Zie Querymachtigingen configureren voor meer informatie over instellingen voor het delen van query's.

Opmerking

In het volgende scenario ziet u de interactie van instellingen voor het delen van SQL en de taak Uitvoeren als :

  • Gebruiker A is de eigenaar van de SQL-query met de naam my_query.
  • Gebruiker A configureert my_query met de instelling Voor delen uitvoeren als eigenaar.
  • Gebruiker B plant my_query als een taak in een taak met de naam my_job.
  • Gebruiker B configureert my_job om te worden uitgevoerd met een service-principal met de naam prod_sp.
  • Wanneer my_job deze wordt uitgevoerd, wordt de identiteit voor Gebruiker A gebruikt om uit te voeren my_query.

Stel nu dat gebruiker B dit gedrag niet wil. Vanaf de bestaande configuratie vindt het volgende plaats:

  • Gebruiker A wijzigt de instelling voor delen voor my_query Uitvoeren als viewer.
  • Wanneer my_job deze wordt uitgevoerd, wordt de identificatie prod_spgebruikt.

Identiteit configureren voor taakuitvoeringen

Als u de instelling Uitvoeren als wilt wijzigen, moet u de machtiging CAN MANAGE of IS OWNER hebben voor de taak.

U kunt de instelling Uitvoeren als instellen op uzelf of op een service-principal in de werkruimte waarvoor u het gebruikersrecht van de service-principal hebt.

Als u de instelling Uitvoeren als wilt configureren voor een taak in de gebruikersinterface van de werkruimte, selecteert u een bestaande taak met behulp van de volgende stappen:

  1. Klik op Pictogram Werkstromen Werkstromen in de zijbalk.
  2. Klik in de kolom Naam op de taaknaam.
  3. Klik in het zijpaneel Taakdetails op het potloodpictogram naast het veld Uitvoeren als .
  4. Zoek en selecteer een gebruiker of service-principal.
  5. Klik op Opslaan.

Zie het volgende voor meer informatie over het werken met service-principals:

Best practices voor takenbeheer

Databricks raadt het volgende aan voor alle productietaken:

  • Taakeigendom toewijzen aan een service-principal

    Als de gebruiker die eigenaar is van een taak uw organisatie verlaat, kan de taak mislukken. Gebruik service-principals om taken robuust te maken voor het verloop van werknemers.

    Werkruimtebeheerders kunnen standaard taakmachtigingen beheren en zo nodig het eigendom opnieuw toewijzen.

  • Productietaken uitvoeren met behulp van een service-principal

    Taken worden standaard uitgevoerd met de bevoegdheden van de eigenaar van de taak. Als u eigendom toewijst aan een service-principal, worden de machtigingen van de service-principal gebruikt.

    Met behulp van service-principals voor productietaken kunt u schrijfmachtigingen voor productiegegevens beperken. Als u taken uitvoert met behulp van de machtigingen van een gebruiker, heeft die gebruiker dezelfde machtigingen nodig om de productiegegevens te bewerken die nodig zijn voor de taak.

  • Altijd compute-configuraties gebruiken die compatibel zijn met Unity Catalog

    Unity Catalog-gegevensbeheer vereist dat u een ondersteunde rekenconfiguratie gebruikt.

    Serverloze rekenkracht voor taken en SQL-warehouses maken altijd gebruik van Unity Catalog.

    Voor taken met klassieke berekeningen raadt Databricks de modus voor gedeelde toegang aan voor ondersteunde workloads. Gebruik de toegangsmodus voor één gebruiker wanneer dat nodig is.

    Delta Live Tables-pijplijnen die zijn geconfigureerd met Unity Catalog hebben enkele beperkingen. Zie beperkingen.

  • Machtigingen voor productietaken beperken

    Gebruikers die taakuitvoeringen activeren, stoppen of opnieuw starten, hebben de machtiging Uitvoeren beheren nodig.

    Gebruikers die de taakconfiguratie of monitoruitvoeringen bekijken, hebben de machtiging Can View nodig.

    Alleen machtigingen van Can Manage of Is Owner verlenen aan gebruikers die vertrouwd zijn om productiecode te wijzigen.

Toegang tot een taak beheren

Met taaktoegangsbeheer kunnen jobeigenaren en beheerders nauwkeurige machtigingen verlenen voor taken. De volgende machtigingen zijn beschikbaar:

Notitie

Elke machtiging bevat de toekenning van machtigingen eronder in de volgende tabel.

Machtiging Toekennen
Is eigenaar De identiteit die standaard wordt gebruikt voor Uitvoeren als .
Kan beheren Gebruikers kunnen de taakdefinitie bewerken, inclusief machtigingen. Gebruikers kunnen een planning onderbreken en hervatten.
Kan uitvoering beheren Gebruikers kunnen taakuitvoeringen activeren en annuleren.
Kan weergeven Gebruikers kunnen resultaten van de taakuitvoering bekijken.

Zie Taak-ACL's voor informatie over taakmachtigingsniveaus.

Taakmachtigingen configureren

Als u machtigingen wilt configureren voor een taak in de gebruikersinterface van de werkruimte, selecteert u een bestaande taak met behulp van de volgende stappen:

  1. Klik op Pictogram Werkstromen Werkstromen in de zijbalk.
  2. Klik in de kolom Naam op de taaknaam.
  3. Klik in het deelvenster Taakdetails op Machtigingen bewerken. Het dialoogvenster Machtigingsinstellingen wordt weergegeven.
  4. Klik op het veld Gebruiker, Groep of Service-principal selecteren... en begin een gebruiker, groep of service-principal te typen. In het veld worden alle beschikbare identiteiten in de werkruimte doorzocht.
  5. Klik op Toevoegen.
  6. Klik op Opslaan.

De eigenaar van de taak beheren

Alleen werkruimtebeheerders kunnen de eigenaar van de taak bewerken. Precies één jobeigenaar moet worden toegewezen. Jobeigenaren kunnen gebruikers of service-principals zijn.