シークレット CLI (レガシ)

重要

このドキュメントは廃止され、更新されない可能性があります。

この情報は、レガシ Databricks CLI バージョン 0.18 以前に適用されます。 Databricks では、代わりにバージョン 0.205 以降の新しい Databricks CLI を使うことをお勧めします。 「Databricks CLI について」を参照してください。 お使いの Databricks CLI のバージョンを確認するには、databricks -v を実行してください。

Databricks CLI バージョン 0.18 以前から Databricks CLI バージョン 0.205 以降に移行するには、「Databricks CLI の移行」を参照してください。

Databricks シークレット CLI サブコマンドは、databricks secrets に追加することで実行します。 これらのサブコマンドは、Secrets API を呼び出します。

シークレットの詳細については、「シークレットの管理」を参照してください。

注意

シークレット CLI には、Databricks CLI 0.7.1 以上が必要です。

databricks secrets --help
Usage: databricks secrets [OPTIONS] COMMAND [ARGS]...

  Utility to interact with secret API.

Options:
  -v, --version   [VERSION]
  --profile TEXT  CLI connection profile to use. The default profile is
                  "DEFAULT".
  -h, --help      Show this message and exit.

Commands:
  create-scope  Creates a secret scope.
    Options:
      --scope SCOPE                  The name of the secret scope.
      --initial-manage-principal     The initial principal that can manage the created secret scope.
                                      If specified, the initial ACL with MANAGE permission applied
                                      to the scope is assigned to the supplied principal (user or group).
                                      The only supported principal is the group
                                      "users", which contains all users in the workspace. If not
                                      specified, the initial ACL with MANAGE permission applied to
                                      the scope is assigned to request issuer's user identity.
  delete        Deletes a secret.
    Options:
      --scope SCOPE                  The name of the secret scope.
      --key KEY                      The name of secret key.
  delete-acl    Deletes an access control rule for a principal.
    Options:
      --scope SCOPE                  The name of the scope.
      --principal PRINCIPAL          The name of the principal.
  delete-scope  Deletes a secret scope.
    Options:
      --scope SCOPE                  The name of the secret scope.
  get-acl       Gets the details for an access control rule.
    Options:
      --scope SCOPE                  The name of the secret scope.
      --principal PRINCIPAL          The name of the principal.
      --output FORMAT                JSON or TABLE. Set to TABLE by default.
  list          Lists all the secrets in a scope.
    Options:
      --scope SCOPE                  The name of the secret scope.
      --output FORMAT                JSON or TABLE. Set to TABLE by default.
  list-acls     Lists all access control rules for a given secret scope.
    Options:
      --scope SCOPE                  The name of the secret scope.
      --output FORMAT                JSON or TABLE. Set to TABLE by default.
  list-scopes   Lists all secret scopes.
      --output FORMAT                JSON or TABLE. Set to TABLE by default.
  put           Puts a secret in a scope.
    Options:
      --scope SCOPE                  The name of the secret scope.
      --key KEY                      The name of the secret key.
      --string-value TEXT            Read value from string and stored in UTF-8 (MB4) form
      --binary-file PATH             Read value from binary-file and stored as bytes.
  put-acl       Creates or overwrites an access control rule for a principal
                applied to a given secret scope.
    Options:
      --scope SCOPE                    The name of the secret scope.
      --principal PRINCIPAL            The name of the principal.
      --permission [MANAGE|WRITE|READ] The permission to apply.
  write         Puts a secret in a scope. "write" is an alias for "put".
    Options:
      --scope SCOPE                  The name of the secret scope.
      --key KEY                      The name of the secret key.
      --string-value TEXT            Read value from string and stored in UTF-8 (MB4) form
      --binary-file PATH             Read value from binary-file and stored as bytes.
  write-acl     Creates or overwrites an access control rule for a principal
                applied to a given secret scope. "write-acl" is an alias for
                "put-acl".
    Options:
      --scope SCOPE                    The name of the secret scope.
      --principal PRINCIPAL            The name of the principal.
      --permission [MANAGE|WRITE|READ] The permission to apply.

シークレットのスコープを作成する

使用に関するドキュメントを表示するには、databricks secrets create-scope --help を実行します。

databricks secrets create-scope --scope my-scope

成功した場合、出力は表示されません。

Databricks CLI を使用して、Azure Key Vault でサポートされるシークレット スコープを作成するには、databricks secrets create-scope --help を実行して、追加の --scope-backend-type--resource-id--dns-name オプションに関する情報を表示します。 詳細については、「シークレット」を参照してください。

シークレットを削除します

使用に関するドキュメントを表示するには、databricks secrets delete --help を実行します。

databricks secrets delete --scope my-scope --key my-key

成功した場合、出力は表示されません。

プリンシパルの ACL を取り消す

使用に関するドキュメントを表示するには、databricks secrets delete-acl --help を実行します。

databricks secrets delete-acl --scope my-scope --principal someone@example.com

成功した場合、出力は表示されません。

シークレットのスコープを削除する

使用に関するドキュメントを表示するには、databricks secrets delete-scope --help を実行します。

databricks secrets delete-scope --scope my-scope

成功した場合、出力は表示されません。

プリンシパルの ACL を取得する

使用に関するドキュメントを表示するには、databricks secrets get-acl --help を実行します。

databricks secrets get-acl --scope my-scope --principal someone@example.com --output JSON
{
  "principal": "sonmeone@example.com",
  "permission": "MANAGE"
}

シークレット スコープ内に格納されている秘密鍵を一覧表示します

使用に関するドキュメントを表示するには、databricks secrets list --help を実行します。

databricks secrets list --scope my-scope --output JSON
{
  "secrets": [
    {
      "key": "my-key",
      "last_updated_timestamp": 1621284092605
    }
  ]
}

注意

Databricks CLI を使用してシークレット値にアクセスすることはできません。 シークレット値にアクセスするには、Databricks ノートブック内で Databricks ユーティリティの secrets ユーティリティを使用する必要があります。

シークレット スコープの ACL を一覧表示する

使用に関するドキュメントを表示するには、databricks secrets list-acls --help を実行します。

databricks secrets list-acls --scope my-scope --output JSON
{
  "items": [
    {
      "principal": "someone@example.com",
      "permission": "MANAGE"
    }
  ]
}

ワークスペースで使用可能なすべてのシークレット スコープを一覧表示する

使用に関するドキュメントを表示するには、databricks secrets list-scopes --help を実行します。

databricks secrets list-scopes --output JSON
{
  "scopes": [
    {
      "name": "my-scope",
      "backend_type": "DATABRICKS"
    }
  ]
}

シークレットを作成または更新する

使用に関するドキュメントを表示するには、databricks secrets put --help または databricks secrets write --help を実行します。

シークレットを保存する 3 通りの方法があります。 最も簡単なのは、--string-value オプションを使用する方法です。シークレットは UTF-8 (MB4) 形式で保存されます。 コマンド ラインの履歴にプレーンテキストでシークレットが保存される場合があるため、このオプションには注意が必要です。

databricks secrets put --scope my-scope --key my-key --string-value my-value

または

databricks secrets write --scope my-scope --key my-key --string-value my-value

成功した場合、出力は表示されません。

--binary-file オプションを使用して、ファイルに格納されているシークレットを指定することもできます。 ファイルの内容はそのまま読み取られ、バイトとして保存されます。

databricks secrets put --scope my-scope --key my-key --binary-file my-secret.txt

または

databricks secrets write --scope my-scope --key my-key --binary-file my-secret.txt

成功した場合、出力は表示されません。

オプションを指定しない場合、シークレットを入力するためのエディターが開きます。 エディターに表示される指示に従って、シークレットを入力します。

databricks secrets put --scope my-scope --key my-key

または

databricks secrets write --scope my-scope --key my-key

# ----------------------------------------------------------------------
# Do not edit the above line. Everything below it will be ignored.
# Please input your secret value above the line. Text will be stored in
# UTF-8 (MB4) form and any trailing new line will be stripped.
# Exit without saving will abort writing secret.

プリンシパルのシークレット スコープに対する ACL を許可または変更する

使用に関するドキュメントを表示するには、databricks secrets put-acl --help または databricks secrets write-acl --help を実行します。

databricks secrets put-acl --scope my-scope --principal someone@example.com --permission MANAGE

または

databricks secrets write-acl --scope my-scope --principal someone@example.com --permission MANAGE

成功した場合、出力は表示されません。