Databricks 第7篇:管理Secret

Azure中的Secret是指密码、凭证和密钥等,举个例子,使用Azure Databricks Secret来存储凭证,并在notebook和job中引用它们,而不是直接在notebook中输入凭据。

Secret Scope是Secret的集合,每一个Secret是由name唯一确定的。每一个Databricks 的workspace最多创建100个Secret Scope。Azure 支持两种类型的Secret Scope:Azure Key Vault-backed 和 Databricks-backed。

  • 基于Azure Key Vault的Secret Scope:要引用存储在Azure Key Vault中的Secret,可以创建基于Azure Key Vault的Secret Scope,基于Azure Key Vault的Secret Scope对于Key Vault来说是只读的。 
  • 基于Databricks的Secret Scope:基于Databricks的Secret Scope存储在由Azure Databricks拥有和管理的加密数据库中,Secret Scope的name在工作空间中必须唯一,必须包含字母数字字符,破折号,下划线和句点,并且不得超过128个字符。名称被认为是不敏感的,并且工作空间中的所有用户都可以读取。 

本文重点介绍基于Azure Key Vault的Secret Scope。

一,创建基于Azure Key Vault的Secret Scope

使用 Azure Portal UI创建Azure Key Vault-backed 的 secret scope。首先,在创建该类型的Secret Scope之前,确保对Azure Key Vault实例具有Contributor权限。

打开网页“https://<databricks-instance>#secrets/createScope”,这个URL是大小写敏感的,注意URL中的“createScope”,其中的“Scope”首字母必须是大写的。

主要的配置选项:

  • Scope Name:指定Secret Scope的name,该名称是大小写敏感的。
  • Manage Principal:用于定义该Secret Scope的Manage Principal(拥有管理权限的安全主体),选项All Users表示所有的用户都有MANAGE权限,选项Creator表示只有Secret Scope的创建者拥有MANAGE权限。MANAGE权限拥有对Secret Scope的读写权限,推荐选项是Creator,把MANAGE权限只授权给Creator。但是,用户的账户必须具有Azure Databricks Premium Plan ,才可以选择Creator。
  • DNS Name:是Vault URI,从Key Vault的Properties面板中可以查看到。
  • Resource ID:从Azure Key Valut的属性面板中可以查看到Resource ID。

二,个人访问Token

如果要访问Databricks REST API,可以使用Databricks personal access tokens来进行权限验证。

点击Databricks 工作区右上角的user profile icon

点击“User Settings”,进入到“User Settings”页面,在该页面中点击“Generage New Token”生成新的Token。

注意:要把Token保存起来,再次进入该页面,Token不再可见。

三:配置Databricks CLI

使用Databricks CLI  (command-line interface)命令来验证Secret Scope是否创建成功。

Step1:安装Databricks CLI

pip install databricks-cli

查看Databricks CLI是否安装成功,可以运行Databricks CLI -h获得help文档:

databricks -h

Step2:配置验证信息

输入Databricks Host,并输入生成的个人访问Token

databricks configure --token
Databricks Host (should begin with https://):
Token:<personal-access-token>

Step3:查看Secret Scope列表

databricks secrets list-scopes

Step4:删除Secret Scope

注意:<scope-name>是大小写敏感的。

databricks secrets delete-scope --scope <scope-name>

 

 

参考稳定:

Authentication using Azure Databricks personal access tokens

Secret management

Databricks CLI 

posted @ 2021-01-20 10:05  悦光阴  阅读(140)  评论(0编辑  收藏