当前位置 博文首页 > 悦光阴:Databricks 第7篇:管理Secret

    悦光阴:Databricks 第7篇:管理Secret

    作者:悦光阴 时间:2021-01-30 18:19

    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 

    bk