Åtkomstkontroll till hemlighet

Som standard kan alla användare i alla prisplaner skapa hemligheter och hemliga omfång. Med hjälp av hemlig åtkomstkontroll, som är tillgänglig med Premium Plan, kan du konfigurera detaljerade behörigheter för att hantera åtkomstkontroll. Den här guiden beskriver hur du konfigurerar dessa kontroller.

Anteckning

  • Åtkomstkontroll är endast tillgängligt i Premium-planen. Om ditt konto har standardplanen måste du uttryckligen bevilja MANAGE behörighet till gruppen "användare" (alla användare) när du skapar hemliga omfång.

  • Den här artikeln beskriver hur du hanterar hemlig åtkomstkontroll med hjälp av Databricks CLI (version 0.7.1 och senare). Du kan också använda Secrets API 2.0.

Åtkomstkontroll till hemlighet

Åtkomstkontroll för hemligheter hanteras på den hemliga omfångsnivån. En åtkomstkontrollista (ACL) definierar en relation mellan ett Azure-Databricks-huvudnamn (användare eller grupp), hemligt omfång och behörighetsnivå. I allmänhet använder en användare den mest kraftfulla behörighet som är tillgänglig för dem (se Behörighetsnivåer).

När en hemlighet läss via en notebook-fil med hjälp av verktyget Hemligheter (dbutils.secrets) tillämpas användarens behörighet baserat på vem som kör kommandot och de måste minst ha LÄS-behörighet .

När ett omfång skapas tillämpas en första ACL på HANTERA-behörighetsnivå för omfånget. Efterföljande konfigurationer av åtkomstkontroll kan utföras av det huvudkontot.

Behörighetsnivåer

Behörigheterna för hemlig åtkomst är följande:

  • HANTERA – Tillåts att ändra ACL:er och läsa och skriva till det här hemliga omfånget.
  • WRITE – Tillåts att läsa och skriva till det här hemliga omfånget.
  • READ – Tillåts att läsa det här hemliga omfånget och visa en lista över vilka hemligheter som är tillgängliga.

Varje behörighetsnivå är en delmängd av den tidigare nivåns behörigheter (d.ex. ett huvudnamn med SKRIV-behörighet för ett visst omfång kan utföra alla åtgärder som kräver LÄS-behörighet ).

Anteckning

Databricks administratörer har HANTERA-behörigheter till alla hemliga omfång på arbetsytan.

Skapa en hemlig ACL

Så här skapar du en hemlig ACL för ett visst hemligt omfång med hjälp av Databricks CLI (version 0.7.1 och senare):

databricks secrets put-acl --scope <scope-name> --principal <principal> --permission <permission>

Om du gör en put-begäran för ett huvudnamn som redan har en tillämpad behörighet skrivs den befintliga behörighetsnivån över.

Visa hemliga ACL:er

Så här visar du alla hemliga ACL:er för ett visst hemligt omfång:

databricks secrets list-acls --scope <scope-name>

Så här hämtar du den hemliga ACL:en som tillämpas på ett huvudnamn för ett visst hemligt omfång:

databricks secrets get-acl --scope <scope-name> --principal <principal>

Om det inte finns någon ACL för det angivna huvudkontot och omfånget misslyckas den här begäran.

Ta bort en hemlig ACL

Så här tar du bort en hemlig ACL som tillämpas på ett huvudnamn för ett visst hemligt omfång:

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

Terraform-integrering

Du kan hantera behörigheter i en helt automatiserad konfiguration med Databricks Terraform-provider och databricks_secret_acl:

resource "databricks_group" "ds" {
  display_name = "data-scientists"
}

resource "databricks_secret_scope" "app" {
  name = "app-secret-scope"
}

resource "databricks_secret_acl" "my_secret_acl" {
  principal = databricks_group.ds.display_name
  permission = "READ"
  scope = databricks_secret_scope.app.name
}

resource "databricks_secret" "publishing_api" {
  key = "publishing_api"
  string_value = "SECRET_API_TOKEN_HERE"
  scope = databricks_secret_scope.app.name
}