Koncepty vývojářů ve službě Azure Data Catalog
Důležité
Azure Data Catalog se 15. května 2024 vyřadí z důchodu.
Nové účty Azure Data Catalog už nejde vytvořit.
Pro funkce katalogu dat použijte službu Microsoft Purview , která nabízí jednotné zásady správného řízení dat pro celá data.
Pokud už používáte Azure Data Catalog, budete muset vytvořit plán migrace pro vaši organizaci, aby se do 15. května 2024 přesunula do Microsoft Purview .
Microsoft Azure Data Catalog je plně spravovaná cloudová služba, která poskytuje možnosti pro zjišťování zdrojů dat a pro crowdsourcing metadat zdroje dat. Vývojáři můžou službu používat prostřednictvím svých rozhraní REST API. Pochopení konceptů implementovaných ve službě je důležité, aby se vývojáři úspěšně integrovali se službou Azure Data Catalog.
Klíčové koncepty
Koncepční model služby Azure Data Catalog je založený na čtyřech klíčových konceptech: Katalog, Uživatelé, Prostředky a Poznámky.
Katalog
Katalog je kontejner nejvyšší úrovně pro všechna metadata, která organizace ukládá. Pro každý účet Azure je povolený jeden katalog . Katalogy jsou svázané s předplatným Azure, ale pro každý daný účet Azure je možné vytvořit pouze jeden katalog , i když může mít účet více předplatných.
Katalog obsahuje uživatele a prostředky.
Uživatelé
Uživatelé jsou objekty zabezpečení, které mají oprávnění provádět akce (prohledávat katalog, přidávat, upravovat nebo odebírat položky atd.) v katalogu.
Uživatel může mít několik různých rolí. Informace o rolích najdete v části Role a autorizace.
Je možné přidat jednotlivé uživatele a skupiny zabezpečení.
Azure Data Catalog používá k správě identit a přístupu ID Microsoft Entra. Každý uživatel katalogu musí být členem služby Active Directory pro tento účet.
Materiály
Katalog obsahuje datové prostředky. Prostředky jsou jednotkou členitosti spravované katalogem.
Členitost prostředku se liší podle zdroje dat. Pro SQL Server nebo Oracle Database může být prostředek tabulka nebo zobrazení. Pro Služba Analysis Services serveru SQL může být prostředek mírou, dimenzí nebo klíčovým ukazatelem výkonu (KPI). Pro službu SQL Server Reporting Services je asset sestavou.
Asset je věc, kterou přidáte nebo odeberete z katalogu. Je to jednotka výsledku, který vrátíte z hledání.
Prostředek se skládá z názvu, umístění a typu a poznámek, které ho dále popisují.
Poznámky
Poznámky jsou položky, které představují metadata o prostředcích.
Příklady poznámek jsou popis, značky, schéma, dokumentace atd. Úplný seznam typů prostředků a typů poznámek najdete v části Model objektu assetu.
Crowdsourcingové poznámky a uživatelská perspektiva (násobnost názorů)
Klíčovým aspektem služby Azure Data Catalog je způsob, jakým podporuje davy metadat v systému. Na rozdíl od přístupu wikiwebu – kde existuje jen jeden názor a poslední spisovatel vyhrává – model Azure Data Catalog umožňuje, aby několik názorů žilo vedle sebe v systému.
Tento přístup odráží skutečný svět podnikových dat, kde různí uživatelé můžou mít různé perspektivy na daný prostředek:
- Správce databáze může poskytnout informace o smlouvách o úrovni služeb nebo dostupném okně zpracování pro hromadné operace ETL.
- Správce dat může poskytnout informace o obchodních procesech, na které se prostředek vztahuje, nebo o klasifikacích, které na něj firma použila.
- Finanční analytik může poskytnout informace o tom, jak se data používají během úkolů generování sestav na konci období.
Pro podporu tohoto příkladu může každý uživatel – DBA, správce dat a analytik – přidat popis do jedné tabulky, která je zaregistrovaná v katalogu. Všechny popisy se udržují v systému a na portálu Azure Data Catalog se zobrazí všechny popisy.
Tento vzor se použije u většiny položek v objektovém modelu, takže typy objektů v datové části JSON jsou často pole pro vlastnosti, u kterých můžete očekávat jednoton.
Například pod kořenem prostředku je pole popisových objektů. Vlastnost pole má název "descriptions". Objekt popisu má jednu vlastnost – popis. Vzor je ten, že každý uživatel, který zadá popis, získá objekt popisu vytvořený pro hodnotu zadanou uživatelem.
UX pak můžete zvolit, jak se má kombinace zobrazit. Pro zobrazení existují tři různé vzory.
- Nejjednodušším vzorem je "Zobrazit vše". V tomto vzoru se všechny objekty zobrazují v zobrazení seznamu. Uživatelské rozhraní portálu Azure Data Catalog používá tento vzor pro popis.
- Dalším vzorem je "Sloučit". V tomto vzoru se všechny hodnoty z různých uživatelů sloučí společně s duplicitními odebranými hodnotami. Příklady tohoto modelu na uživatelském rozhraní portálu Azure Data Catalog jsou značky a vlastnosti odborníků.
- Třetí vzor je "poslední spisovatel vyhrává". V tomto vzoru je zobrazena pouze nejnovější hodnota zadaná. FriendlyName je příkladem tohoto vzoru.
Objektový model assetu
Jak je uvedeno v části Klíčové koncepty, objektový model Azure Data Catalog obsahuje položky, které můžou být prostředky nebo poznámky. Položky mají vlastnosti, které můžou být volitelné nebo povinné. Některé vlastnosti platí pro všechny položky. Některé vlastnosti platí pro všechny prostředky. Některé vlastnosti se vztahují pouze na konkrétní typy prostředků.
Systémové vlastnosti
Název vlastnosti | Datový typ | Komentáře |
---|---|---|
časové razítko | DateTime | Čas poslední změny položky Toto pole vygeneruje server při vložení položky a při každé aktualizaci položky. Hodnota této vlastnosti je ignorována při vstupu operací publikování. |
ID | Identifikátor URI | Absolutní adresa URL položky (jen pro čtení) Jedná se o jedinečný adresovatelný identifikátor URI položky. Hodnota této vlastnosti je ignorována při vstupu operací publikování. |
type | String | Typ prostředku (jen pro čtení) |
etag | String | Řetězec odpovídající verzi položky, kterou lze použít pro optimistické řízení souběžnosti při provádění operací, které aktualizují položky v katalogu. "*" lze použít ke shodě s libovolnou hodnotou. |
Obecné vlastnosti
Tyto vlastnosti platí pro všechny typy kořenových prostředků a všechny typy poznámek.
Název vlastnosti | Datový typ | Komentáře |
---|---|---|
fromSourceSystem | Logická hodnota | Označuje, zda jsou data položky odvozena ze zdrojového systému (například databáze SQL Serveru, Oracle Database) nebo vytvořené uživatelem. |
Společné kořenové vlastnosti
Tyto vlastnosti platí pro všechny typy kořenových prostředků.
Název vlastnosti | Datový typ | Komentáře |
---|---|---|
name | String | Název odvozený z informací o umístění zdroje dat |
Dsl | DataSourceLocation | Jednoznačně popisuje zdroj dat a je jedním z identifikátorů prostředku. (Viz oddíl duální identity). Struktura dsl se liší podle protokolu a typu zdroje. |
Datasource | DataSourceInfo | Další podrobnosti o typu prostředku. |
lastRegisteredBy | SecurityPrincipal | Popisuje uživatele, který tento prostředek zaregistroval naposledy. Obsahuje jedinečné ID uživatele (hlavní název uživatele) i zobrazované jméno (příjmení a jméno). |
containerID | String | ID prostředku kontejneru pro zdroj dat. Tato vlastnost není pro typ kontejneru podporovaná. |
Běžné vlastnosti neschybné poznámky
Tyto vlastnosti platí pro všechny typy poznámek, které nejsou jednoúčelové (poznámky, které mohou být více na prostředek).
Název vlastnosti | Datový typ | Komentáře |
---|---|---|
klíč | String | Zadaný klíč uživatele, který jednoznačně identifikuje poznámku v aktuální kolekci. Délka klíče nesmí překročit 256 znaků. |
Typy kořenových prostředků
Typy kořenových prostředků jsou typy, které představují různé typy datových prostředků, které lze zaregistrovat v katalogu. Pro každý kořenový typ existuje zobrazení, které popisuje prostředky a poznámky zahrnuté v zobrazení. Název zobrazení by se měl použít v odpovídajícím segmentu adresy URL {view_name} při publikování prostředku pomocí rozhraní REST API.
Typ prostředku (název zobrazení) | Další vlastnosti | Datový typ | Povolené poznámky | Komentáře |
---|---|---|---|---|
Tabulka ("tabulky") | Popis | Tabulka představuje všechna tabulková data. Příklad: Tabulka SQL, zobrazení SQL, tabulková tabulka služby Analysis Services, multidimenzionální dimenze služby Analysis Services, Tabulka Oracle atd. | ||
Friendlyname | ||||
Značka | ||||
Schéma | ||||
ColumnDescription | ||||
ColumnTag | ||||
Odborník | ||||
Preview | ||||
AccessInstruction | ||||
TableDataProfile | ||||
ColumnDataProfile | ||||
ColumnDataClassification | ||||
Dokumentace | ||||
Míra ("míry") | Popis | Tento typ představuje míru Analysis Services. | ||
Friendlyname | ||||
Značka | ||||
Odborník | ||||
AccessInstruction | ||||
Dokumentace | ||||
míra | Column | Metadata popisující míru | ||
isCalculated | Logická hodnota | Určuje, jestli je míra počítaná nebo ne. | ||
Measuregroup | String | Určuje, jestli je míra počítaná nebo ne. | ||
Klíčový ukazatel výkonu ("kpis") | Popis | |||
Friendlyname | ||||
Značka | ||||
Odborník | ||||
AccessInstruction | ||||
Dokumentace | ||||
Measuregroup | String | Fyzický kontejner pro míru. | ||
goalExpression | String | Číselný výraz MDX nebo výpočet, který vrátí cílovou hodnotu klíčového ukazatele výkonu. | ||
valueExpression | String | Číselný výraz MDX, který vrátí skutečnou hodnotu klíčového ukazatele výkonu. | ||
statusExpression | String | Výraz MDX, který představuje stav klíčového ukazatele výkonu v zadaném bodu v čase. | ||
trendExpression | String | Výraz MDX, který vyhodnocuje hodnotu klíčového ukazatele výkonu v průběhu času. Trend může být libovolným kritériem založeným na čase, které je užitečné v konkrétním obchodním kontextu. | ||
Sestava ("sestavy") | Popis | Tento typ představuje sestavu služby SQL Server Reporting Services. | ||
Friendlyname | ||||
Značka | ||||
Odborník | ||||
AccessInstruction | ||||
Dokumentace | ||||
assetCreatedDate | String | |||
assetCreatedDate | String | |||
assetModifiedDate | String | |||
assetModifiedBy | String | |||
Sestava ("sestavy") | Popis | Tento typ představuje kontejner jiných prostředků, jako je databáze SQL, kontejner Objektů blob Azure nebo model Analysis Services. | ||
Značka | ||||
Odborník | ||||
AccessInstruction | ||||
Dokumentace |
Typy poznámek
Typy poznámek představují typy metadat, které lze přiřadit jiným typům v katalogu.
Typ poznámky (název vnořeného zobrazení) | Další vlastnosti | Datový typ | Komentáře |
---|---|---|---|
Popis ("popisy") | Tato vlastnost obsahuje popis prostředku. Každý uživatel systému může přidat vlastní popis. Pouze tento uživatel může upravit objekt Popisu. (Správa a vlastníci prostředků můžou odstranit objekt Popis, ale ne ho upravovat). Systém udržuje popisy uživatelů samostatně. Existuje tedy pole popisů jednotlivých prostředků (jeden pro každého uživatele, který přispěl svými znalostmi o prostředku, kromě toho, který obsahuje informace odvozené ze zdroje dat). | ||
description | string | Krátký popis aktiva (2–3 řádky). | |
Značka ("značky") | Tato vlastnost definuje značku pro prostředek. Každý uživatel systému může přidat více značek pro prostředek. Upravit je může jenom uživatel, který vytvořil objekty značek. (Správa a vlastníci prostředků můžou odstranit objekt Značky, ale ne ho upravovat). Systém udržuje značky uživatelů samostatně. Existuje tedy pole objektů značek pro každý prostředek. | ||
značka | string | Značka popisující prostředek | |
FriendlyName ("friendlyName") | Tato vlastnost obsahuje popisný název prostředku. FriendlyName je jednoúčelová poznámka – k prostředku lze přidat pouze jeden popisný název. Upravit ho může jenom uživatel, který vytvořil objekt FriendlyName. (Správa a vlastníci prostředků můžou objekt FriendlyName odstranit, ale nemůžou ho upravovat). Systém udržuje popisné názvy uživatelů samostatně. | ||
Friendlyname | string | Popisný název prostředku. | |
FriendlyName ("friendlyName") | Tato vlastnost obsahuje popisný název prostředku. FriendlyName je jednoúčelová poznámka – k prostředku lze přidat pouze jeden popisný název. Upravit ho může jenom uživatel, který vytvořil objekt FriendlyName. (Správa a vlastníci prostředků můžou objekt FriendlyName odstranit, ale nemůžou ho upravovat). Systém udržuje popisné názvy uživatelů samostatně. | ||
Friendlyname | string | Popisný název prostředku. | |
Schéma ("schéma") | Schéma popisuje strukturu dat. Zobrazí seznam názvů atributů (sloupec, atribut, pole atd.), typů a dalších metadat. Všechny tyto informace jsou odvozeny ze zdroje dat. Schéma je jednoúčelová poznámka – pro prostředek lze přidat pouze jedno schéma. | ||
sloupce | Sloupec[] | Pole objektů sloupců. Popisují sloupec s informacemi odvozenými ze zdroje dat. | |
ColumnDescription ("columnDescriptions") | Tato vlastnost obsahuje popis sloupce. Každý uživatel systému může přidat vlastní popisy pro více sloupců (maximálně jeden na sloupec). Upravovat je může pouze uživatel, který vytvořil objekty ColumnDescription. (Správa a vlastníci prostředků mohou odstranit objekt ColumnDescription, ale ne ho upravovat). Systém udržuje popisy sloupců těchto uživatelů samostatně. Existuje tedy pole columnDescription objektů pro každý prostředek (jeden na sloupec pro každého uživatele, který přispěl svými znalostmi o sloupci, kromě toho, který obsahuje informace odvozené ze zdroje dat). ColumnDescription je volně svázaný se schématem, aby se mohl dostat ze synchronizace. Popis ColumnDescription může popisovat sloupec, který již ve schématu neexistuje. Je na zapisovači, aby se popis a schéma synchronizovaly. Zdroj dat může mít také informace o popisu sloupců a jsou to další objekty ColumnDescription, které by se vytvořily při spuštění nástroje. | ||
Columnname | String | Název sloupce, na který tento popis odkazuje. | |
description | String | Krátký popis sloupce (2–3 řádky). | |
ColumnTag ("columnTags") | Tato vlastnost obsahuje značku pro sloupec. Každý uživatel systému může přidat více značek pro daný sloupec a může přidat značky pro více sloupců. Upravovat je může jenom uživatel, který vytvořil objekty ColumnTag. (Správa a vlastníci prostředků mohou objekt ColumnTag odstranit, ale ne upravovat). Systém udržuje značky sloupců těchto uživatelů samostatně. Proto je u každého prostředku pole objektů ColumnTag. ColumnTag je volně svázaný se schématem, aby se mohl dostat ze synchronizace. ColumnTag může popisovat sloupec, který již ve schématu neexistuje. Je na zapisovači, aby se značka sloupců a schéma synchronizovaly. | ||
Columnname | String | Název sloupce, na který tato značka odkazuje. | |
značka | String | Značka popisující sloupec | |
Expert ("experti") | Tato vlastnost obsahuje uživatele, který je považován za odborníka v sadě dat. Názory odborníků (popisy) bubliny na vrchol uživatelského rozhraní při výpisu popisů. Každý uživatel může zadat své vlastní odborníky. Objekt expertů může upravovat jenom tento uživatel. (Správa a vlastníci aktiv můžou odstranit objekty Expert, ale ne upravovat.) | ||
Expert | SecurityPrincipal | ||
Preview (Previews) | Náhled obsahuje snímek prvních 20 řádků dat pro prostředek. Náhled dává smysl jenom pro některé typy prostředků (dává smysl pro tabulku, ale ne pro míru). | ||
preview | object[] | Pole objektů, které představují sloupec Každý objekt má mapování vlastností na sloupec s hodnotou pro tento sloupec řádku. | |
AccessInstruction ("accessInstructions") | |||
Mimetype | string | Typ mime obsahu. | |
content | string | Pokyny pro získání přístupu k tomuto datovému prostředku. Obsah může být adresa URL, e-mailová adresa nebo sada pokynů. | |
TableDataProfile ("tableDataProfiles") | |||
numberOfRows | int | Počet řádků v sadě dat. | |
size | long | Velikost v bajtech datové sady | |
schemaModifiedTime | string | Čas poslední změny schématu | |
dataModifiedTime | string | Čas poslední změny datové sady (data byla přidána, změněna nebo odstraněna). | |
ColumnsDataProfile ("columnsDataProfiles") | |||
sloupce | ColumnDataProfile[] | Pole profilů dat sloupců. | |
ColumnDataClassification ("columnDataClassifications") | |||
Columnname | String | Název sloupce, na který tato klasifikace odkazuje. | |
Klasifikace | String | Klasifikace dat v tomto sloupci | |
Dokumentace ("dokumentace") | K danému prostředku může být přidružena pouze jedna dokumentace. | ||
Mimetype | string | Typ mime obsahu. | |
content | string | Obsah dokumentace. |
Běžné typy
Běžné typy lze použít jako typy pro vlastnosti, ale nejsou to Položky.
Běžný typ | Vlastnosti | Datový typ | Komentáře |
---|---|---|---|
DataSourceInfo | Sourcetype | string | Popisuje typ zdroje dat. Příklad: SQL Server, Oracle Database atd. |
Objecttype | string | Popisuje typ objektu ve zdroji dat. Příklad: Tabulka, zobrazení pro SQL Server. | |
DataSourceLocation | Protokol | string | Povinný: Popisuje protokol používaný ke komunikaci se zdrojem dat. Příklad: tds pro SQL Server, oracle pro Oracle atd. Referenční specifikace zdroje dat – DSL Struktura pro seznam aktuálně podporovaných protokolů. |
adresa | Řetězec slovníku<, objekt> | Povinný: Adresa je sada dat specifická pro protokol, který slouží k identifikaci zdroje dat, na který se odkazuje. Data adres vymezená na konkrétní protokol, což znamená, že je bezvýznamná bez znalosti protokolu. | |
ověřování | string | Nepovinné. Schéma ověřování používané ke komunikaci se zdrojem dat. Příklad: windows, oauth atd. | |
connectionProperties | Řetězec slovníku<, objekt> | Nepovinné. Další informace o tom, jak se připojit ke zdroji dat. | |
DataSourceLocation | Back-end během publikování neprovádí žádné ověření zadaných vlastností vůči ID Microsoft Entra. | ||
upn | string | Povinný: Jedinečná e-mailová adresa uživatele Je nutné zadat, pokud objectId není zadán nebo v kontextu vlastnosti lastRegisteredBy, jinak volitelné. | |
objectId | Guid | Nepovinné. Identita Microsoft Entra uživatele nebo skupiny zabezpečení Nepovinné. Je nutné zadat, pokud není zadáno upn, jinak volitelné. | |
firstName | string | Jméno uživatele (pro účely zobrazení). Nepovinné. Platné pouze v kontextu vlastnosti lastRegisteredBy. Při poskytování objektu zabezpečení pro role, oprávnění a odborníky není možné zadat. | |
lastName | string | Příjmení uživatele (pro účely zobrazení). Nepovinné. Platné pouze v kontextu vlastnosti lastRegisteredBy. Při poskytování objektu zabezpečení pro role, oprávnění a odborníky není možné zadat. | |
Column | name | string | Název sloupce nebo atributu |
type | string | Datový typ sloupce nebo atributu Povolené typy závisí na typu zdroje dat prostředku. Podporuje se pouze podmnožina typů. | |
Maxlength | int | Maximální povolená délka sloupce nebo atributu. Odvozeno ze zdroje dat Platí pouze pro některé typy zdrojů. | |
přesnost | int | Přesnost sloupce nebo atributu Odvozeno ze zdroje dat Platí pouze pro některé typy zdrojů. | |
Isnullable | Isnullable | Určuje, jestli má sloupec hodnotu null, nebo ne. Odvozeno ze zdroje dat Platí pouze pro některé typy zdrojů. | |
výraz | string | Pokud je hodnota počítaný sloupec, obsahuje toto pole výraz, který vyjadřuje hodnotu. Odvozeno ze zdroje dat Platí pouze pro některé typy zdrojů. | |
ColumnDataProfile | Columnname | string | Název sloupce |
type | string | Typ sloupce. | |
min | string | Minimální hodnota v sadě dat. | |
max | string | Maximální hodnota v sadě dat. | |
prům. | double | Průměrná hodnota v sadě dat. | |
Stdev | double | Směrodatná odchylka sady dat | |
nullCount | int | Počet hodnot null v sadě dat. | |
distinctCount | int | Počet jedinečných hodnot v sadě dat. |
Identita prostředku
Azure Data Catalog používá vlastnosti "protocol" a identity z kontejneru vlastností "address" vlastnosti DataSourceLocation "dsl" k vygenerování identity prostředku, který se používá k adresování prostředku uvnitř katalogu. Například protokol TDS (Tabular Data Stream) má vlastnosti identity "server", "database", "schema" a "object". Kombinace protokolu a vlastností identity se používají k vygenerování identity prostředku tabulky SQL Serveru. Azure Data Catalog poskytuje několik předdefinovaných protokolů zdroje dat, které jsou uvedeny v referenční specifikaci zdroje dat – DSL Structure. Sadu podporovaných protokolů je možné rozšířit programově (referenční informace k rozhraní REST API služby Data Catalog). Správa istrátory katalogu mohou registrovat vlastní protokoly zdroje dat. Následující tabulka popisuje vlastnosti potřebné k registraci vlastního protokolu.
Specifikace vlastního protokolu zdroje dat
Existují tři různé typy specifikací protokolu zdroje dat. Níže jsou uvedeny typy následované tabulkou jejich vlastností.
DataSourceProtocol
Vlastnosti | Datový typ | Komentáře |
---|---|---|
namespace | string | Obor názvů protokolu. Obor názvů musí mít délku 1 až 255 znaků, musí obsahovat jednu nebo více neprázdných částí oddělených tečkou (.). Každá část musí mít délku 1 až 255 znaků, musí začínat písmenem a obsahovat pouze písmena a číslice. |
name | string | Název protokolu. Název musí mít délku 1 až 255 znaků, musí začínat písmenem a obsahovat pouze písmena, číslice a pomlčku (-). |
identityProperties | DataSourceProtocolIdentityProperty[] | Seznam vlastností identity musí obsahovat alespoň jednu, ale nesmí obsahovat více než 20 vlastností. Například: "server", "database", "schema", "object" jsou vlastnosti identity protokolu "tds". |
identitySets | DataSourceProtocolIdentitySet[] | Seznam sad identit Definuje sady vlastností identity, které představují platnou identitu prostředku. Musí obsahovat alespoň jednu, ale maximálně 20 sad. Například: {"server", "database", "schema" a "object"} je identita nastavená pro protokol TDS, který definuje identitu prostředku tabulky SQL Serveru. |
DataSourceProtocolIdentityProperty
Vlastnosti | Datový typ | Komentáře |
---|---|---|
name | string | Název vlastnosti Název musí být dlouhý od 1 do 100 znaků, musí začínat písmenem a může obsahovat pouze písmena a číslice. |
type | string | Typ proměnné Podporované hodnoty: "bool", boolean", "byte", "guid", "int", "integer", "long", "string", "url" |
Ignorecase | bool | Určuje, zda se má při použití hodnoty vlastnosti ignorovat velká a malá písmena. Lze zadat pouze pro vlastnosti s typem string. Výchozí hodnotou je false. |
urlPathSegmentsIgnoreCase | bool[] | Určuje, jestli se má případ ignorovat pro každý segment cesty adresy URL. Lze zadat pouze pro vlastnosti s typem "url". Výchozí hodnota je [false]. |
DataSourceProtocolIdentitySet
Vlastnosti | Datový typ | Komentáře |
---|---|---|
name | string | Název sady identit. |
vlastnosti | string[] | Seznam vlastností identity zahrnutých do této sady identit. Nemůže obsahovat duplicity. Každá vlastnost odkazovaná sadou identit musí být definována v seznamu identityProperties protokolu. |
Role a autorizace
Microsoft Azure Data Catalog poskytuje možnosti autorizace pro operace CRUD s prostředky a poznámkami.
Azure Data Catalog používá dva mechanismy autorizace:
- Ověřování založené na rolích
- Autorizace na základě oprávnění
Role
Existují tři role: Správa istrator, Vlastník a Přispěvatel. Každá role má svůj obor a práva, která jsou shrnuta v následující tabulce.
Role | Obor | Práva |
---|---|---|
Správce | Katalog (všechny prostředky/poznámky v katalogu) | Read, Delete, ViewRoles, ChangeOwnership, ChangeVisibility, ViewPermissions |
Vlastník | Každý prostředek (kořenová položka) | Read, Delete, ViewRoles, ChangeOwnership, ChangeVisibility, ViewPermissions |
Přispěvatel | Každý jednotlivý prostředek a poznámka | Read*, Update, Delete, ViewRoles |
Poznámka:
*Všechna práva jsou odvolána, pokud je práva ke čtení u položky odvolaná od přispěvatele.
Poznámka:
Práva Číst, Aktualizovat, Odstranit, ZobrazitRoles se vztahují pouze na jakoukoli položku (asset nebo poznámku), zatímco TakeOwnership, ChangeOwnership, ChangeVisibility, ViewPermissions se vztahují pouze na kořenový asset. Právo odstranit se vztahuje na položku a na všechny dílčí položky nebo jednotlivé položky pod ní. Odstraněním prostředku například odstraníte také všechny poznámky k danému prostředku.
Oprávnění
Oprávnění je jako seznam položek řízení přístupu. Každá položka řízení přístupu přiřadí sadu práv k objektu zabezpečení. Oprávnění lze zadat pouze u prostředku (tj. kořenové položky) a použít ho na prostředek a všechny dílčí položky.
Během verze Preview služby Azure Data Catalog se v seznamu oprávnění podporuje pouze oprávnění ke čtení , aby se umožnil scénář omezení viditelnosti prostředku.
Ve výchozím nastavení má ověřený uživatel právo číst pro libovolnou položku v katalogu, pokud není viditelnost omezena na sadu objektů zabezpečení v oprávněních.
REST API
Žádosti o položky zobrazení PUT a POST lze použít k řízení rolí a oprávnění: kromě datové části položky je možné zadat dvě systémové vlastnosti.
Poznámka:
oprávnění platí pouze pro kořenovou položku. Role vlastníka se vztahuje pouze na kořenovou položku. Ve výchozím nastavení je při vytvoření položky v katalogu jeho Přispěvatel nastaven na aktuálně ověřeného uživatele. Pokud by položka měla být aktualizovatelná všemi, přispěvatel by měl být nastaven na <Všichni> speciální objekt zabezpečení ve vlastnosti role při prvním publikování položky (viz následující příklad). Přispěvatel nelze změnit a během životnosti položky zůstane stejný (ani Správa istrator nebo vlastník nemá právo změnit přispěvatele). Jediná hodnota podporovaná pro explicitní nastavení přispěvatele je Všichni>: Přispěvatel může být pouze uživatel, který položku vytvořil nebo <všichni>.<
Příklady
Při publikování položky nastavte přispěvatele na <všechny> .
Speciální objekt <zabezpečení Všichni> mají objectId "00000000-0000-0000-0000-000000000201".
POSThttps://api.azuredatacatalog.com/catalogs/default/views/tables/?api-version=2016-03-30
Poznámka:
Některé implementace klienta HTTP můžou automaticky znovu vyžadovat požadavky v reakci na 302 ze serveru, ale obvykle z požadavku odstraňují autorizační hlavičky. Vzhledem k tomu, že autorizační hlavička se vyžaduje k odesílání požadavků do služby Azure Data Catalog, je nutné zajistit, aby se při opětovném nasazení požadavku do umístění přesměrování určeného službou Azure Data Catalog zajistilo, že je hlavička autorizace stále zadaná. Následující ukázkový kód ukazuje použití .NET HttpWebRequest objektu.
Text
{
"roles": [
{
"role": "Contributor",
"members": [
{
"objectId": "00000000-0000-0000-0000-000000000201"
}
]
}
]
}
Přiřazení vlastníků a omezení viditelnosti existující kořenové položky: PUThttps://api.azuredatacatalog.com/catalogs/default/views/tables/042297b0...1be45ecd462a?api-version=2016-03-30
{
"roles": [
{
"role": "Owner",
"members": [
{
"objectId": "c4159539-846a-45af-bdfb-58efd3772b43",
"upn": "user1@contoso.com"
},
{
"objectId": "fdabd95b-7c56-47d6-a6ba-a7c5f264533f",
"upn": "user2@contoso.com"
}
]
}
],
"permissions": [
{
"principal": {
"objectId": "27b9a0eb-bb71-4297-9f1f-c462dab7192a",
"upn": "user3@contoso.com"
},
"rights": [
{
"right": "Read"
}
]
},
{
"principal": {
"objectId": "4c8bc8ce-225c-4fcf-b09a-047030baab31",
"upn": "user4@contoso.com"
},
"rights": [
{
"right": "Read"
}
]
}
]
}
Poznámka:
V příkazu PUT není nutné zadat datovou část položky v textu: PUT se dá použít k aktualizaci jenom rolí nebo oprávnění.
Další kroky
Referenční informace k rozhraní REST API služby Azure Data Catalog