Hemlig åtkomstkontroll

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-planen, kan du konfigurera detaljerade behörigheter för att hantera åtkomstkontroll. Den här guiden beskriver hur du konfigurerar dessa kontroller.

Observera

Hemlig åtkomstkontroll

Åtkomstkontroll för hemligheter hanteras på omfångsnivå för hemligheter. En åtkomstkontrollista (ACL) definierar en relation mellan ett Azure Databricks-huvudnamn (användare, tjänstens huvudnamn eller grupp), hemligt omfång och behörighetsnivå. I allmänhet använder en användare den mest kraftfulla behörigheten 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 hemlighetsomfånget.
  • WRITE – Tillåts läsa och skriva till det här hemlighetsomfånget.
  • READ – Tillåts att läsa det här hemlighetsomfånget och lista vilka hemligheter som är tillgängliga.

Varje behörighetsnivå är en delmängd av den föregående nivåns behörigheter (det vill sa att ett huvudkonto med SKRIV-behörighet för ett visst omfång kan utföra alla åtgärder som kräver LÄS-behörighet ).

Observera

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 hemlighetsomfång med hjälp av Databricks CLI (äldre) (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 huvudkonto som redan har en tillämpad behörighet skrivs den befintliga behörighetsnivån över.

Fältet principal anger ett befintligt Azure Databricks-huvudnamn. En användare anges med hjälp av sin e-postadress, ett huvudnamn för tjänsten med dess applicationId värde och en grupp med dess gruppnamn.

Visa hemliga ACL:er

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

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

Så här hämtar du den hemliga ACL:en som tillämpas på ett huvudkonto för ett visst hemlighetsomfå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 huvudkonto för ett visst hemlighetsomfå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-providern 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
}