2017-07-20 4 views
0

En Databricks, la lecture de S3 est généralement faite par un premier montage du seau S3 au DSBF avec:Comment gérer les autorisations pour S3 montage dans Databricks

// Replace with your values 
// 
// NOTE: Set the access to this notebook appropriately to protect the security of your keys. 
// Or you can delete this cell after you run the mount command below once successfully. 

val AccessKey = "REPLACE_WITH_YOUR_ACCESS_KEY" 
val SecretKey = "REPLACE_WITH_YOUR_SECRET_KEY" 
val EncodedSecretKey = SecretKey.replace("/", "%2F") 
val AwsBucketName = "REPLACE_WITH_YOUR_S3_BUCKET" 
val MountName = "REPLACE_WITH_YOUR_MOUNT_NAME" 

dbutils.fs.mount(s"s3a://$AccessKey:[email protected]$AwsBucketName", s"/mnt/$MountName") 

Une fois que vous montez un seau S3, il est disponible pour tous les utilisateurs. Cela peut provoquer des problèmes sérieux lorsque les utilisateurs modifient ou suppriment des données qu'ils ne connaissent pas.

Je voudrais monter quelques compartiments en mode lecture seule, et ne laisser personne monter des compartiments sans autorisations spécifiques.

Comment gérer les autorisations permettant aux utilisateurs de monter des compartiments S3 dans Databricks?

Répondre

0

Il est préférable d'utiliser les rôles AWS IAM pour fournir un accès en lecture seule aux compartiments. Les étapes de base sont les suivantes:

  1. Créez le rôle IAM.
  2. Spécifiez les utilisateurs autorisés à assumer le rôle.
  3. Créez une stratégie de compartiment qui fournit un accès en lecture seule au rôle.
  4. Montez le compartiment sur le système de fichiers Databricks à l'aide de la commande dbfs.fs.mount.
  5. Spécifiez le rôle IAM lorsque vous créez le cluster Databricks.