Použití tajného klíče ve vlastnosti konfigurace Sparku nebo proměnné prostředí
Tento článek obsahuje podrobnosti o tom, jak odkazovat na tajný kód ve vlastnosti konfigurace Sparku nebo proměnné prostředí. Načtené tajné kódy se reaktují z výstupu poznámkového bloku a z protokolů ovladače Sparku a exekutoru.
Důležité
Tato funkce je ve verzi Public Preview.
Bezpečnostní aspekty
Databricks nedoporučuje ukládat tajné kódy do proměnných prostředí clusteru, pokud nesmí být k dispozici všem uživatelům v clusteru. Při odkazování na tajné kódy ve vlastnosti konfigurace Sparku nebo proměnné prostředí mějte na paměti následující bezpečnostní důsledky:
Každý uživatel s oprávněními MŮŽE PŘIPOJIT KE clusteru nebo spustit oprávnění v poznámkovém bloku může číst proměnné prostředí clusteru z poznámkového bloku.
Pokud není řízení přístupu table v clusteru povolené, může každý uživatel s oprávněními PŘIPOJIT ke clusteru nebo s oprávněními SPUSTIT na poznámkovém bloku číst vlastnosti konfigurace Sparku z tohoto poznámkového bloku. To zahrnuje uživatele, kteří nemají přímé oprávnění ke čtení tajného kódu.
Tajné kódy nejsou redakčně upraveny z protokolu
stdout
ovladačů Sparku astderr
datových proudů. Aby bylo možné chránit citlivá data, protokoly ovladačů Sparku se ve výchozím nastavení dají zobrazit jenom uživatelům s oprávněním CAN MANAGE pro úlohu, režim přístupu jednoho uživatele a clustery režimu sdíleného přístupu.V clusterech s režimem sdíleného přístupu bez izolace můžou uživatelé zobrazit protokoly ovladačů Spark s oprávněním MŮŽE PŘIPOJIT nebo MŮŽE SPRAVOVAT. Aby limit mohli číst protokoly, musí mít uživatelé oprávnění CAN MANAGE, set
spark.databricks.acl.needAdminPermissionToViewLogs
true
.
Požadavky
Následující požadavky platí pro odkazování na tajné kódy ve vlastnostech konfigurace Sparku a proměnných prostředí:
- Vlastníci clusteru musí mít oprávnění KE ČTENÍ v oboru tajných kódů.
- Abyste mohli přidat nebo upravit tajný kód ve vlastnosti konfigurace Sparku nebo proměnné prostředí, musíte být vlastníkem clusteru.
- Pokud je tajný kód aktualizovaný, musíte cluster restartovat, aby se tajný kód znovu načítá.
- Abyste mohli odstranit tajnou vlastnost konfigurace Sparku nebo proměnnou prostředí, musíte mít oprávnění CAN MANAGE v clusteru.
Odkazování na tajný klíč s vlastností konfigurace Sparku
Odkaz na tajný kód zadáte ve vlastnosti konfigurace Sparku v následujícím formátu:
spark.<property-name> {{secrets/<scope-name>/<secret-name>}}
Nahrazení:
-
<scope-name>
s názvem oboru tajného kódu. -
<secret-name>
s jedinečným názvem tajného klíče v oboru. -
<property-name>
s vlastností konfigurace Sparku
Každá vlastnost konfigurace Sparku může odkazovat pouze na jeden tajný klíč, ale můžete nakonfigurovat více vlastností Sparku tak, aby odkazovali na tajné kódy.
Příklad:
spark.password {{secrets/scope1/key1}}
Pokud chcete načíst tajný kód v poznámkovém bloku a použít ho:
Python
spark.conf.get("spark.password")
SQL
SELECT ${spark.password};
Odkaz na tajný klíč v proměnné prostředí
Cestu tajného kódu zadáte v proměnné prostředí v následujícím formátu:
<variable-name>={{secrets/<scope-name>/<secret-name>}}
Pokud odkazujete na tajný klíč, můžete použít libovolný platný název proměnné. Přístup k tajným kódům odkazovaným v proměnných prostředí je určen oprávněními uživatele, který cluster nakonfiguroval. I když jsou tajné kódy uložené v proměnných prostředí přístupné všem uživatelům clusteru, jsou redactovány ze zobrazení prostého textu, podobně jako jiné tajné odkazy.
Proměnné prostředí, které odkazují na tajné kódy, jsou přístupné z inicializačního skriptu s oborem clusteru. Viz Set a použijte proměnné prostředí s inicializačními skripty.
Příklad:
Použijte proměnnou prostředí set k odkazování na tajemství:
SPARKPASSWORD={{secrets/scope1/key1}}
Pokud chcete načíst tajný kód v inicializačním skriptu, získejte přístup $SPARKPASSWORD
pomocí následujícího vzoru:
if [ -n "$SPARKPASSWORD" ]; then
# code to use ${SPARKPASSWORD}
fi