Configurer le contrôle d'accès Lakewatch
Aperçu
Lakewatch est en aperçu privé. Pour demander l'accès, contactez votre équipe de compte Databricks.
La configuration de groupes, d’un service principal d’exécution et d’autorisations Unity Catalog est la méthode recommandée pour configurer le contrôle d’accès de Lakewatch pour une équipe de sécurité. Ce guide met en place un catalogue Lakewatch unique avec quatre groupes qui séparent les tâches d’ingestion, de création de détection et d’analyste avec le moindre privilège. Un utilisateur unique qui a déjà accès aux données sous-jacentes peut utiliser Lakewatch sans cette configuration. Pour choisir entre les modèles mono-utilisateur et basés sur l’équipe, consultez Modèles de déploiement.
Les autorisations utilisent lakewatch comme catalogue et lakewatch.prod comme schéma. Remplacez-les par vos propres noms et remplacez <sp> par le applicationId du service principal d'exécution.
Profils
La configuration provisionne quatre groupes, un par rôle sur une équipe de sécurité typique. Les groupes sont recommandés mais optionnels. Vous pouvez accorder les mêmes privilèges à n'importe quel principal Unity Catalog.
Groupe | Rôle |
|---|---|
| Administrer Lakewatch : gérer les ressources, les paramètres et l'accès pour les autres. |
| Intégrez et maintenez des sources de données et chargez des données dans des tables. |
| Créez et affinez des règles de détection et examinez ce qu'elles produisent. |
| Traitez la file d’attente des alertes : lisez les alertes, mettez à jour le statut et query les données. |
Prérequis
- Administrateur de compte pour l’étape 1. La création de groupes, le service principal et la délégation run-as est une tâche au niveau du compte.
- Administrateur du métastore, ou
CREATE CATALOGsur le métastore, pour l’étape 2. L’administrateur du compte ne l’accorde pas. - Un SQL warehouse et
CAN_MANAGEdessus pour l'étape 4. Le warehouse est le compute sur lequel Lakewatch s'exécute. - Droits de propriétaire sur tout emplacement externe, connexion ou table source que vous accordez à l'étape 6.
Exécutez les étapes 2, 3, 5 et 6 en tant que SQL dans un notebook ou l’éditeur SQL. Les étapes 1 et 4 sont des actions ponctuelles dans la console de compte et l’interface utilisateur de Workspace.
1. Créez des groupes, le service principal et la délégation d'exécution
Les sources de données et les règles de détection programmées s’exécutent en tant que service principal ; créez-en donc un et donnez aux groupes qui utilisent Lakewatch le droit d’exécuter des ressources en son nom. Dans la console du compte :
- Accédez à Gestion des utilisateurs > Groupes et créez les quatre groupes suivants :
lakewatch-admins,lakewatch-data-engineers,lakewatch-detection-engineersetlakewatch-analysts. - Accédez à Gestion des utilisateurs > Service Principal et créez le service principal d’exécution pour Lakewatch. Copiez son
applicationId(un UUID) à utiliser comme<sp>dans les étapes suivantes. - Dans le tab Autorisations du Service Principal, attribuez Responsable du Service Principal à
lakewatch-admins. - Dans le même tab, attribuez Utilisateur de Service Principal à
lakewatch-data-engineersetlakewatch-detection-engineers. Cela permet aux membres de ces groupes de créer des ressources qui s’exécutent en tant que service principal.
2. Créer le catalogue et le schéma
Créez le catalogue et le schéma qui contiennent vos ressources Lakewatch. Exécutez ce qui suit :
CREATE CATALOG IF NOT EXISTS lakewatch;
CREATE SCHEMA IF NOT EXISTS lakewatch.prod;
3. Accorder au service principal l'accès aux données
Le service principal utilisé pour l’exécution doit être en mesure de lire et d’écrire des données dans le schéma. Pour accorder son accès de base, exécutez la commande suivante :
GRANT USE CATALOG ON CATALOG lakewatch TO `<sp>`;
GRANT USE SCHEMA ON SCHEMA lakewatch.prod TO `<sp>`;
GRANT CREATE TABLE ON SCHEMA lakewatch.prod TO `<sp>`;
GRANT MODIFY ON SCHEMA lakewatch.prod TO `<sp>`;
GRANT SELECT ON SCHEMA lakewatch.prod TO `<sp>`;
4. Accorder au service principal « Peut utiliser » sur un SQL warehouse
Le service principal exécute SQL sur un warehouse. Autoriser l'utilisation d'un warehouse est une autorisation au niveau du workspace, pas un octroi Unity Catalog :
- Allez dans SQL Warehouses et ouvrez le warehouse que vous souhaitez voir utiliser par Lakewatch.
- Sur ses Autorisations , accordez Peut utiliser au service principal. Cela nécessite
CAN_MANAGEsur le warehouse.
5. Accorder des privilèges à chaque groupe
Accordez à chaque groupe ses privilèges sur le catalogue. Étant donné que les privilèges sont hérités de la hiérarchie Unity Catalog, une autorisation sur le catalogue s'applique à toutes les ressources Lakewatch situées en dessous. Pour savoir ce que permet chaque privilège, consultez les Rôles et fonctionnalités.
Pour accorder les privilèges d'administrateur, exécutez la commande suivante :
GRANT USE CATALOG ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT USE SCHEMA ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT MANAGE ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT READ_METADATA ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT SELECT ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT MODIFY ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT CREATE_DATASOURCE ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT CREATE_RULE ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT CREATE_SECRET ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT READ_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-admins`;
GRANT UPDATE_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-admins`;
Pour accorder des privilèges au data engineer, exécutez ce qui suit :
GRANT USE CATALOG ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT USE SCHEMA ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT CREATE_DATASOURCE ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT CREATE_SECRET ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT SELECT ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT MODIFY ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT CREATE TABLE ON CATALOG lakewatch TO `lakewatch-data-engineers`;
GRANT CREATE SCHEMA ON CATALOG lakewatch TO `lakewatch-data-engineers`;
Pour accorder les privilèges à l’ingénieur de détection, exécutez la commande suivante :
GRANT USE CATALOG ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT USE SCHEMA ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT CREATE_RULE ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT READ_METADATA ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT READ_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
GRANT SELECT ON CATALOG lakewatch TO `lakewatch-detection-engineers`;
Pour accorder les privilèges à l’analyste, exécutez la commande suivante :
GRANT USE CATALOG ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT USE SCHEMA ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT READ_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT UPDATE_SECURITY_DATA ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT SELECT ON CATALOG lakewatch TO `lakewatch-analysts`;
GRANT READ_METADATA ON CATALOG lakewatch TO `lakewatch-analysts`;
6. Accorder l'accès aux sources (facultatif)
N’accordez ces privilèges que pour les sources que vous utilisez. Chacun exige que vous possédiez l'élément sécurisable sur lequel vous accordez des droits.
Pour permettre au service principal de lire à partir d’un emplacement externe, exécutez la commande suivante :
GRANT READ FILES ON EXTERNAL LOCATION <external_location> TO `<sp>`;
Pour permettre au service principal d’utiliser chaque connexion dans le métastore, exécutez la commande suivante :
GRANT USE CONNECTION ON METASTORE TO `<sp>`;
Pour permettre au Service Principal de lire une table source existante, exécutez ce qui suit :
GRANT USE CATALOG ON CATALOG <src_catalog> TO `<sp>`;
GRANT USE SCHEMA ON SCHEMA <src_catalog>.<src_schema> TO `<sp>`;
GRANT SELECT ON TABLE <src_catalog>.<src_schema>.<src_table> TO `<sp>`;
7. Vérifier
Confirmez l’application des autorisations. Pour lister les autorisations sur le catalogue et le schéma, exécutez ce qui suit :
SHOW GRANTS ON CATALOG lakewatch;
SHOW GRANTS ON SCHEMA lakewatch.prod;
Limitations
- Accorder
USE CONNECTION ON METASTOREpermet au service principal d’utiliser toutes les connexions du métastore, ce qui est plus large que le principe du privilège minimal. Utilisez-le uniquement sur un métastore dédié à Lakewatch.