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. Om gevoelige gegevens te beveiligen, kunnen spark-stuurprogrammalogboeken standaard alleen worden weergegeven door gebruikers met de machtiging CAN MANAGE voor taken, toegewezen toegangsmodus en clusters in de standaardtoegangsmodus. 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 spark.databricks.acl.needAdminPermissionToViewLogs in op true.

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

Standaardbevoegdheden voor taken

Functies 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.

Administratieve permissies voor taken

Werkruimtebeheerders kunnen standaard de eigenaar van de taak of de Run as-configuratie wijzigen in elke gebruiker of service-principal in de werkruimte. Accountbeheerders kunnen de RestrictWorkspaceAdmins instelling configureren om dit gedrag te wijzigen. Zie Beperk werkruimtebeheerders.

Hoe gaan functies samen met Unity Catalog-machtigingen?

Taken worden uitgevoerd onder 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 activa 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-vergunningen en ACL's voor verouderde tabellen vereisen compatibele berekeningsmodi. 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-queries, waarschuwingen en verouderde dashboardtaken respecteren de 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.
  • Als viewer uitvoeren: uitvoeringen van de geplande SQL-taak gebruiken altijd de identiteit die is ingesteld in de taak Uitvoeren als veld.

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

Voorbeeld

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 deelinstelling Uitvoeren als eigenaar.
  • Gebruiker B plant my_query als een taak in een taak met de naam my_job.
  • Gebruiker B configureert my_job voor uitvoering met een service-principal met de naam prod_sp.
  • Wanneer my_job uitgevoerd wordt, wordt de identiteit voor Gebruiker A gebruikt om my_query uit te voeren.

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 naar Uitvoeren als viewer.
  • Wanneer my_job draait, wordt de identificatie prod_sp gebruikt.

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 de Service-principal Gebruiker bevoegdheid hebt.

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

  1. Klik op Pictogram WerkstromenWerkstromen 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 banenbeheer

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 bestand te maken tegen 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, maken taakuitvoeringen gebruik van de machtigingen van de service-principal.

    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 gebruikmaken van rekenconfiguraties 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 compute raadt Databricks de standaardtoegangsmodus aan voor ondersteunde workloads. Gebruik de toegewezen toegangsmodus indien nodig.

    DLT-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.

    Verleen alleen de bevoegdheden kan beheren of is eigenaar 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 Subsidie
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 WerkstromenWerkstromen 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 de Gebruiker, groep of service-principal selecteren... veld 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 taakeigenaar moet worden toegewezen. Jobeigenaren kunnen gebruikers of serviceprincipals zijn.