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
Å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.I den här artikeln beskrivs hur du hanterar hemlig åtkomstkontroll med hjälp av Databricks CLI (äldre) (version 0.7.1 och senare). Du kan också använda API:et Hemligheter.
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
}