Sdílet prostřednictvím


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 a stderr 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, setspark.databricks.acl.needAdminPermissionToViewLogstrue.

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