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 toestaan dat gebruikers met de machtiging CAN ATTACH TO of CAN RESTART de logboeken op deze clusters kunnen bekijken, set de volgende Spark-configuratie-eigenschap in de clusterconfiguratie: 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 limit wie de logboeken kan lezen, enkel voor gebruikers met de machtiging 'CAN MANAGE', setspark.databricks.acl.needAdminPermissionToViewLogs
om true
.
Bekijk Spark-configuratie voor meer informatie over het toevoegen van Spark-eigenschappen aan een clusterconfiguratie.
Standaardbevoegdheden voor taken
Functies hebben standaard de volgende rechten set:
- De maker van de taak krijgt de machtiging IS OWNER.
- Aan werkruimtebeheerders wordt de machtiging CAN MANAGE verleend.
- De maker van de taak is set voor Uitgevoerd 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 interageren processen 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:
- Unity Catalogbeheerde assets, waaronder tables, volumes, modellen en views.
- Verouderde table toegangsbeheerlijsten (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 table ACL's vereisen compatibele toegangssystemen voor computermodi. 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.
- Als viewer uitvoeren: uitvoeringen van de geplande SQL-taak gebruiken altijd de identiteit set in de taak als veld uitvoeren.
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 naammy_job
. - Gebruiker B configureert
my_job
voor uitvoering met een service-principal met de naamprod_sp
. - Wanneer
my_job
deze wordt uitgevoerd, wordt de identiteit voor Gebruiker A gebruikt om uit te voerenmy_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 identificatieprod_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 set-instelling voor uzelf of een service-principal in de werkruimte waarop u de rechten als service-principalgebruiker hebt.
Als u de instelling Uitvoeren als wilt configureren voor een taak in de gebruikersinterface van de werkruimte, select u een bestaande taak met behulp van de volgende stappen:
- Klik op Werkstromen in de zijbalk.
- Klik in de naamcolumnop de taaknaam.
- Klik in het zijpaneel Taakdetails op het potloodpictogram naast het veld Uitvoeren als .
- Zoek en select een gebruiker of service-principal.
- Klik op Opslaan.
Zie het volgende voor meer informatie over het werken met service-principals:
- Service-principals beheren
- Rollen voor het beheren van service-principals
- List de service-principals die u kunt gebruiken.
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 Unity Catalog-compatibele rekenconfiguraties gebruiken
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 enkele beperkingen hebben. 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 grantkan beheren of is eigenaar van-rechten voor gebruikers die vertrouwd zijn met het wijzigen van productiecode.
Toegang tot een taak beheren
Met taaktoegangsbeheer kunnen taakeigenaren en -beheerders gedetailleerde machtigingen voor taken grant. De volgende machtigingen zijn beschikbaar:
Notitie
Elke machtiging omvat de toekenning van machtigingen die eronder vallen in de onderstaande table.
Machtiging | Grant |
---|---|
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 voor een taak in de gebruikersinterface van de werkruimte wilt configureren, select u een bestaande taak met behulp van de volgende stappen:
- Klik op Werkstromen in de zijbalk.
- Klik in de naamcolumnop de taaknaam.
- Klik in het deelvenster Taakdetails op Machtigingen bewerken. Het dialoogvenster Machtigingsinstellingen wordt weergegeven.
- Klik op het veld Select Gebruiker, Groep of Service-principal... veld en begin een gebruiker, groep of service-principal te typen. In het veld worden alle beschikbare identiteiten in de werkruimte doorzocht.
- Klik op Toevoegen.
- 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.