Azure Блоки данных обращаются к Azure Data Lake Storage Gen2 через участника службы - PullRequest
0 голосов
/ 08 апреля 2020

Я хочу получить доступ от Azure Кластер Databricks к Azure Хранилище озера данных Gen2 через субъект-службу, чтобы избавиться от ключей доступа к учетной записи хранения
Я следую https://docs.microsoft.com/en-us/azure/databricks/data/data-sources/azure/azure-datalake-gen2# - mount-an- azure -data-lake-storage-gen2-account-using-a-Service-Principal-and-oauth-20
..но сказано, что ключ доступа к учетной записи хранения по-прежнему используется: enter image description here

Итак, для чего нужны служебные учетные записи, если ключ доступа к учетной записи хранения все еще требуется?
И главный вопрос - можно ли полностью избавиться от ключей доступа к учетной записи хранения и использовать их? только основной принцип обслуживания?

1 Ответ

1 голос
/ 09 апреля 2020

Это ошибка документа, в настоящее время я работаю над немедленным исправлением.

Это должно быть dbutils.secrets.get(scope = "<scope-name>", key = "<key-name-for-service-credential>") retrieves your service-credential that has been stored as a secret in a secret scope.

Python: монтировать Azure озеро данных Файловая система хранилища 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": "0xxxxxxxxxxxxxxxxxxxxxxxxxxf", #Enter <appId> = Application ID
       "fs.azure.account.oauth2.client.secret": "Arxxxxxxxxxxxxxxxxxxxxy7].vX7bMt]*", #Enter <password> = Client Secret created in AAD
       "fs.azure.account.oauth2.client.endpoint": "https://login.microsoftonline.com/72fxxxxxxxxxxxxxxxxxxxxxxxxb47/oauth2/token", #Enter <tenant> = Tenant ID
       "fs.azure.createRemoteFileSystemDuringInitialization": "true"}

dbutils.fs.mount(
source = "abfss://filesystem@chepragen2.dfs.core.windows.net/flightdata", #Enter <container-name> = filesystem name <storage-account-name> = storage name
mount_point = "/mnt/flightdata",
extra_configs = configs)

enter image description here

Python: монтирование Azure Файловая система хранилища озера данных Data2 передавая в качестве секрета секретную область, используя секреты dbutils .

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": "06xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0ef",
           "fs.azure.account.oauth2.client.secret": dbutils.secrets.get(scope = "chepra", key = "service-credential"),
           "fs.azure.account.oauth2.client.endpoint": "https://login.microsoftonline.com/72xxxxxxxxxxxxxxxxxxxx011db47/oauth2/token"}

dbutils.fs.mount(
source = "abfss://filesystem@chepragen2.dfs.core.windows.net/flightdata", 
mount_point = "/mnt/flightdata",
extra_configs = configs)

enter image description here

Надеюсь, это поможет. Дайте нам знать, если у вас есть какие-либо дополнительные вопросы.

...