如何在Databricks中管理S3安装的权限

时间:2017-07-20 07:38:25

标签: amazon-s3 permissions mount databricks

在Databricks中,从S3读取通常是通过首先将S3存储桶安装到DBFS来完成的:

// 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:$EncodedSecretKey@$AwsBucketName", s"/mnt/$MountName")

安装S3存储桶后,所有用户即可使用。这可能会导致严重的问题,即用户更改或删除他们不熟悉的数据。

我想在只读模式下安装几个存储桶,并且不允许任何人在没有特定权限的情况下存储存储桶。

如何管理用户将S3存储桶挂载到Databricks的权限?

1 个答案:

答案 0 :(得分:0)

最好使用AWS IAM角色提供对存储桶的只读访问权限。基本步骤是:

  1. 创建IAM角色。
  2. 指定有权担任该角色的用户。
  3. 创建一个存储桶策略,为该角色提供只读访问权限。
  4. 使用dbfs.fs.mount命令将存储桶挂载到Databricks文件系统。
  5. 在创建Databricks群集时指定IAM角色。