Я пытаюсь понять, почему мои разрешения ACL не работают должным образом в Databricks.
Сценарий: у меня 2 пользователя. один с полными разрешениями на FileSystem и. другие без каких-либо разрешений.
Я пытался монтировать файловую систему Gen2 в блоках данных, используя два разных метода.
configs = {"fs.azure.account.auth.type": "OAuth",
"fs.azure.account.oauth.provider.type": "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider",
"fs.azure.account.oauth2.client.id": clientid,
"fs.azure.account.oauth2.client.secret": credential,
"fs.azure.account.oauth2.client.endpoint": refresh_url}
dbutils.fs.mount(
source = "abfss://xyz@abc.dfs.core.windows.net/",
mount_point = "/mnt/xyz",
extra_configs = configs)
и использование сквозного соединения 2.
configs = {
"fs.azure.account.auth.type": "CustomAccessToken",
"fs.azure.account.custom.token.provider.class": spark.conf.get("spark.databricks.passthrough.adls.gen2.tokenProviderClassName")
}
dbutils.fs.mount(
source = "abfss://xyz@abc.dfs.core.windows.net/",
mount_point = "/mnt/xyz",
extra_configs = configs)
оба монтируют файловую систему. Но когда я использую:
dbfs.fs.ls("/mnt/xyz")
Он отображает все файлы содержимого / папки для пользователя, у которого нет разрешений на передачу данных.
Был бы рад, если бы кто-нибудь объяснил мне, что не так.
Спасибо