SZABÁLYZAT LÉTREHOZÁSA

A következőkre vonatkozik:bejelölt igen Databricks SQL bejelölt igen Databricks Runtime 16.4 és újabb verziók bejelölt igen kizárólag a Unity Catalog

Névvel ellátott szabályzatot hoz létre egy biztonságos eszközön. A szabályzatok lehetnek sorszűrők, oszlopmaszkok vagy ABAC GRANT szabályzatok. Sorszűrők és oszlopmaszkok katalógusokra, sémákra vagy táblákra kerülnek, és elérhetők a Databricks Runtime 16.4 vagy annál magasabb verziókon. Az ABAC GRANT szabályzatokat katalógusokra vagy sémákra alkalmazzák, és dinamikusan biztosítanak jogosultságokat azokra a biztosított értékpapírokra, amelyeket céloznak. A szabályzat neve hatóköre arra a biztonságosra van korlátozva, amelyen a szabályzat definiálva van.

Az utasítás futtatásához rendelkeznie kell a MANAGE biztonságos célra vonatkozó jogosultsággal, vagy tulajdonosának kell lennie.

Az ABAC GRANT szabályzat SQL-rel való létrehozása, módosítása vagy megszüntetése Databricks Runtime 18 LTS vagy annál magasabb rendszert igényel. SQL raktáraknál a támogatás a raktár kibocsátási csatornáján múlik. Lásd a számítási követelményeket.

Note

A Databricks Runtime 18 újabb, mint a Databricks Runtime 18.0, 18.1 és 18.2. Azok a funkciók, amelyek korábban később számozott verzióként lettek volna szállítva, mostantól a Databricks Runtime 18-as verziójának dátumozott frissítéseiként jelennek meg. További részletekért lásd: Az egyesített kibocsátási megjegyzések.

Szemantika

CREATE [ OR REPLACE ] POLICY policy_name
ON { CATALOG catalog_name | SCHEMA schema_name | TABLE table_name }
[ COMMENT description ]
{ row_filter_body | column_mask_body | grant_policy_body }

row_filter_body
  ROW FILTER function_name
  TO principal [, ...]
  [ EXCEPT principal [, ...] ]
  FOR TABLES
  [ WHEN condition ]
  [ MATCH COLUMNS condition [ [ AS ] alias ] [, ...] ]
  [ USING COLUMNS ( function_arg [, ...] ) ]

column_mask_body
  COLUMN MASK function_name
  TO principal [, ...]
  [ EXCEPT principal [, ...] ]
  FOR TABLES
  [ WHEN condition ]
  [ MATCH COLUMNS condition [ [ AS ] alias ] [, ...] ]
  ON COLUMN alias
  [ USING COLUMNS ( function_arg [, ...] ) ]

grant_policy_body
  TO principal [, ...]
  [ EXCEPT principal [, ...] ]
  GRANT privilege [, ...]
  FOR grant_target_type
  [ WHEN condition ]

Sorszűrő és oszlopmaszk szabályzatok definiálhatók katalógusban, sémában vagy táblán. GRANT A szabályzatokat csak katalógusban vagy sémán lehet definiálni.

Paraméterek

  • policy_name

    A szabályzat neve. A név hatóköre annak a biztonságosnak a hatóköre, amelyen a szabályzat definiálva van. Ha egy azonos nevű szabályzat már létezik, és OR REPLACE nincs megadva, az Azure Databricks POLICY_ALREADY_EXISTS hoz létre.

  • catalog_name

    Annak a katalógusnak a neve, amelyen a szabályzat definiálva van. Ha a szabályzatok nem támogatják a biztonságos típust, az Azure Databricks POLICY_ON_SECURABLE_TYPE_NOT_SUPPORTED.

  • schema_name

    Annak a sémának a neve, amelyen a szabályzat definiálva van.

  • table_name

    Annak a táblának a neve, amelyen a szabályzat definiálva van.

  • leírás

    Nem kötelező sztring megjegyzés a szabályzathoz.

  • function_name

    A sorszűrőhöz vagy oszlopmaszkhoz használt UDF neve.

  • jogosultság

    A grant_policy_body, egy kiváltságot adhatsz minden olyan biztosítékra, amely megfelel a kötvénynek. Az érvényes jogosultságok attól függenek, grant_target_typehogy . Lásd : Támogatott biztonsági típusok és jogosultságok.

  • grant_target_type

    Abban grant_policy_bodyaz a típusú biztosított eszközre vonatkoznak, amelyekre a kiváltságok vonatkoznak. Használd a többes alakot: MODELS, MODEL SERVICES, MODEL PROVIDER SERVICES, MCP SERVICES, vagy AGENT SERVICES. Az aláhúzott alak, például MODEL_SERVICES, szintén elfogadott. Az egyes alakokat nem fogadják el.

  • principal

    Felhasználó, csoport vagy szolgáltatásnév. A lista után TOtöbb tag is szerepelhet. Az után EXCEPT felsorolt tagok ki vannak zárva a szabályzatból.

  • Feltétel

    WHEN egy boole-kifejezés, amely meghatározza, hogy a politika alkalmazható-e a biztonsági szereplő címkéi, a lekérdezést végző felhasználó identitattribútumjai és/vagy a kérés kontextusa alapján.

    MATCH COLUMNS egy boole-kifejezés, amely az oszlopokat címkéik alapján egyezteti (például, has_tag('pii')).

    A feltételeket a vezérlősík értékeli. A következő funkciók támogatottak feltételek esetén:

    • Címkéfüggvények (has_tag() és has_tag_value()): mind WHEN támogatott MATCH COLUMNS. Amikor az , WHENközvetlenül a táblán vannak beállítva, vagy egy szülőkatalógusból vagy sémából örökölt címkéket ellenőrzik. Ha használatban MATCH COLUMNSvan, csak az oszlopon beállított címkéket ellenőrzik. A régebbi camelCase-űrlapok (hasTag, hasTagValue) továbbra is működnek a visszamenőleges kompatibilitás érdekében.
    • Identitásattribútumfüggvények (has_identity_attribute_value() és has_identity_attribute_tag_match()): a oszlopmaszk szabályzatok WHEN záradékában is támogatva, ahol értékelik a lekérdezést futtató felhasználó identitásattribútumait . Nincsenek támogatva GRANT , DENY politikákban vagy MATCH COLUMNS. Lásd: Maszkolj egy oszlopot a kérdező felhasználó attribútumai alapján.
    • Kontextusattribútumfüggvények (has_context_attribute() és has_context_attribute_value()): a WHEN sorszűrő és oszlopmaszk szabályzatok záradékában is támogatva, ahol értékelik a kérés kontextusát, például a hívó alkalmazást. Nincsenek támogatva.MATCH COLUMNS Lásd: Korlátozza a hozzáférést külső ügynökök számára, akik a felhasználó nevében tevékenykednek.

    Ha a feltétel érvénytelen, az Azure Databricks UC_INVALID_POLICY_CONDITION.

  • alias

    Ebben MATCH COLUMNSa fájlban a megfeleltethető oszlop opcionális azonosítója . Az aliasra hivatkozhat a (sorszűrőben USING COLUMNS ) vagy az and (oszlopmaszkban ON COLUMNUSING COLUMNS ) is.

  • function_arg

    Ebben USING COLUMNSaz esetben minden argumentum egy állandó kifejezés vagy egy alias.MATCH COLUMNS Az argumentumokat a rendszer sorrendben továbbítja a szabályzatfüggvénynek. Ha a beállítások nem felelnek meg a szabályzat típusának, az Azure Databricks UC_POLICY_TYPE_OPTIONS_MISMATCH.

Examples

Az alábbi példa egy oszlopmaszk-szabályzatot hoz létre:

> CREATE FUNCTION ssn_to_last_nr (ssn STRING, nr INT) RETURNS STRING
    RETURN right(ssn, nr);

> CREATE POLICY ssn_mask
    ON CATALOG employees
    COLUMN MASK ssn_to_last_nr
    TO 'All Users' EXCEPT 'HR admins'
    FOR TABLES
    MATCH COLUMNS has_tag('ssn') AS ssn
    ON COLUMN ssn
    USING COLUMNS (4);

Az alábbi példa egy sorszűrő szabályzatot hoz létre:

> CREATE FUNCTION non_eu_region (geo_region STRING) RETURNS BOOLEAN
    RETURN geo_region <> 'eu';

> CREATE POLICY hide_eu_customers
    ON SCHEMA prod.customers
    COMMENT 'Hide European customers from sensitive tables'
    ROW FILTER non_eu_region
    TO analysts
    FOR TABLES
    WHEN has_tag_value('sensitivity', 'high')
    MATCH COLUMNS has_tag('geo_region') AS region
    USING COLUMNS (region);

Az alábbi példa egy ABAC GRANT szabályzatot hoz létre, amely minden Anthropic által létrehozott modellszolgáltatásra engedélyezEXECUTE:

> CREATE POLICY grant_anthropic_model_services
    ON SCHEMA system.ai
    COMMENT 'Grant EXECUTE on Anthropic model services'
    TO data_scientists
    EXCEPT contractors
    GRANT EXECUTE FOR MODEL SERVICES
    WHEN has_tag_value('ai.model_creator', 'anthropic');