Tajné kódy

Tajný klíč je pár klíč-hodnota, který ukládá tajný klíč, s jedinečným názvem klíče v rámci oboru tajnéhokódu. Každý obor je omezený na 1000 tajných kódů. Maximální povolená velikost tajné hodnoty je 128 KB.

Vytvoření tajného klíče

V názvech tajných kódů se nerozlišují malá a velká písmena.

Metoda pro vytváření tajných klíčů závisí na tom, jestli používáte obor zálohovaný Azure Key Vault nebo obor datacihly, který je zálohovaný.

Vytvoření tajného klíče v oboru založeném na Azure Key Vault

Pokud chcete vytvořit tajný kód v Azure Key Vault používáte rozhraní Azure SetSecret REST API nebo Azure Portal.

Azure Key Vault

Vytvoření tajného klíče v oboru s datacihly

Vytvoření tajného klíče v oboru s datacihly pomocí rozhraní příkazového řádku datacihly (verze 0.7.1 a vyšší):

databricks secrets put --scope <scope-name> --key <key-name>

Otevře se editor a zobrazí se obsah podobný tomuto:

# ----------------------------------------------------------------------
# Do not edit the above line. Everything that follows 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.

Vložte hodnotu tajného klíče nad řádek a uložte a ukončete Editor. Váš vstup odstraní komentáře a uloží je přidružený k klíči v oboru.

Pokud vydáte požadavek na zápis s klíčem, který již existuje, nová hodnota přepíše existující hodnotu.

Můžete také zadat tajný klíč ze souboru nebo z příkazového řádku. Další informace o psaní tajných klíčů najdete v tématu tajné klíček rozhraní příkazového řádku.

Výpis tajných kódů

Výpis tajných kódů v daném oboru:

databricks secrets list --scope <scope-name>

Odpověď zobrazí informace o metadatech tajných kódů, jako je název tajného klíče a poslední aktualizace v časovém razítku (v milisekundách od epocha). Pomocí nástrojů tajných klíčů na poznámkovém bloku nebo úloze si přečtete tajný klíč. Například:

databricks secrets list --scope jdbc
Key name    Last updated
----------  --------------
password    1531968449039
username    1531968408097

Čtení tajného kódu

Tajné kódy vytvoříte pomocí REST API nebo rozhraní příkazového řádku, ale pro čtení tajného klíče je nutné použít pomůcky tajných klíčů na poznámkovém bloku nebo úloze.

Cesty ke tajným klíčům ve vlastnostech konfigurace Sparku a proměnných prostředí

Důležité

Tato funkce je ve verzi Public Preview.

Poznámka

K dispozici v Databricks Runtime 6,1 a novějších.

Cestu k tajnému kódu můžete uložit do vlastnosti konfigurace Sparku nebo proměnné prostředí. Načtené tajné kódy jsou redigovány z výstupu poznámkového bloku a protokolů Spark a prováděcího modulu.

Důležité

Tajné kódy se neredigovány z stdout a stderr. Alternativním řešením je nastavit vlastnost konfigurace Sparku spark.databricks.acl.needAdminPermissionToViewLogs true tak, aby povolovala zobrazení stránky stdout jenom uživatelům, kteří mají oprávnění ke správě.

Požadavky a omezení

  • Vlastníci clusteru musí mít oprávnění ke čtení v oboru tajného klíče.
  • Pouze vlastníci clusteru mohou přidat cestu k tajnému kódu v konfiguraci Sparku nebo proměnné prostředí a upravit existující obor a název. Vlastníci mění tajný kód pomocí rozhraní API pro vložení tajného klíče . Chcete-li znovu načíst tajný klíč, je nutné restartovat cluster.
  • Uživatelé s oprávněním může spravovat v clusteru mohou odstranit vlastnosti tajného klíče a proměnné prostředí.

Hodnota cesty

Syntaxe hodnoty vlastnosti Spark nebo proměnné prostředí musí být {{secrets/<scope-name>/<secret-name>}} .

Hodnota musí začínat na {{secrets/ a končit }} . K proměnným částem vlastnosti nebo proměnné prostředí patří:

  • <secret-prop-name>: Název vlastnosti tajné v konfiguraci Spark.
  • <scope-name>: Název oboru, do nějž je tajný klíč přidružen.
  • <secret-name>: Jedinečný název tajného klíče v oboru.

Poznámka

  • Mezi složenou závorkou nesmí být mezera. Pokud jsou mezery, považují se za součást oboru nebo tajného názvu.
  • Pokud je formát hodnoty nesprávný, například je pouze jedna počáteční složená závorka nebo koncová závorka, hodnota se zpracuje jako vlastnost konfigurace Spark nebo hodnota proměnné prostředí.

Uložení cesty ke tajnému kódu ve vlastnosti konfigurace Sparku

Cestu ke klíči v místním úložišti automatického škálování můžete zadat v následujícím formátu:

spark.<secret-prop-name> <path-value>

spark.<secret-prop-name> je název vlastnosti konfigurace Sparku, který se mapuje na tajnou cestu. Do konfigurace Sparku můžete přidat více tajných kódů, pokud jsou názvy vlastností tajného kódu jedinečné.

Příklad

spark.password {{secrets/testScope/testKey1}}

Pokud chcete načíst tajný klíč v poznámkovém bloku a použít ho, spusťte spark.conf.get("spark.<secret-name>") :

spark.conf.get("spark.password")

Uložení cesty ke tajnému kódu v proměnné prostředí

V proměnné prostředí zadáte tajnou cestu a použijete ji ve skriptu init s rozsahem clusteru. Tyto proměnné prostředí nejsou přístupné z programu běžícího ve Sparku.

SPARKPASSWORD=<path-value>

Chcete-li načíst tajný klíč do skriptu init, získáte přístup $SPARKPASSWORD :

if [[ $SPARKPASSWORD ]]; then
  use $SPARKPASSWORD
fi

Odstranění tajného klíče

Pokud chcete odstranit tajný klíč z oboru zajištěného Azure Key Vault, použijte uživatelské rozhraní REST API nebo Azure Portal pro Azure SetSecret .