共用方式為


使用 REST API 建立資產

在這個教學中,你將學習如何在 Microsoft Purview 資料對應中建立資產,讓使用者能在 Microsoft Purview 整合式目錄中搜尋和瀏覽。

注意事項

如果你使用的 是免費版的 Microsoft Purview,只有 資料策展人角色群組 的使用者才能存取這些資產。

如果你已經有服務主體和認證權杖,可以直接跳過使用 REST API 建立資產的步驟。 否則,請依照本指南呼叫 REST API。

必要條件

建立一個服務主體, (應用程式)

REST API 用戶端若要存取 Purview 以建立實體Microsoft,客戶端必須擁有應用程式) (服務主體,以及一個 Purview 識別並設定Microsoft信任的身份。

使用現有服務主體 (應用程式 ID 的客戶) 有很高的失敗率。 因此,我們建議建立一個新的服務主體來呼叫 API。

要建立新的服務主體:

  1. 登入 Azure 入口網站

  2. 從入口網站搜尋並選擇 Microsoft Entra ID

  3. Microsoft Entra ID 頁面,從左側窗格選擇應用程式註冊

  4. 選取 [新增註冊]

  5. 註冊申請 頁面:

    1. 請輸入 應用程式名稱 (服務主體名稱) 。
    2. 在此 組織目錄中只選擇 (<租戶名稱> 的帳號 - 單一租戶)
    3. 對於 Redirect URI (可選) ,請選擇 Web 並輸入一個值。 這個值不一定要是有效的端點。 https://exampleURI.com 行。
    4. 選取 [登錄]
  6. 在新的服務主體頁面,複製顯示 名稱應用程式 (客戶端) ID 的值以備後用。

    應用程式 ID 是 client_id 範例程式碼中的值。

要使用服務主體 (應用程式) ,你需要知道服務主體的密碼:

  1. 請在應用程式註冊列表中選擇您的服務負責人 (申請) 。
  2. 從左側窗格選擇 「憑證 & 秘密 」。
  3. 選取 [新用戶端密碼]
  4. 新增客戶端秘密 頁面,輸入 描述,在 「過期」中選擇到期時間,然後選擇 新增
  5. 用戶端秘密 頁面,新秘密的 欄中字串就是你的密碼。 保存這個價值。

使用服務主體設定認證

一旦建立新的服務主體,你需要分配權限,讓服務主體能存取你的 Microsoft Purview 帳號。 你需要分配的權限取決於你使用的 是經典的 Microsoft Purview 體驗 ,還是 全新的 Microsoft Purview 入口網站

選擇你正在使用的體驗標籤。

  1. 前往您的 Microsoft Purview 治理入口網站

  2. 在左側選單中選擇資料映射。

  3. 選擇收藏。

  4. 在收藏選單中選擇根集合。 這是清單中最頂尖的集合,名稱會和你的 Microsoft Purview 帳號相同。

    注意事項

    你也可以將服務主體權限指派給任何子集合,而非根集合。 然而,所有 API 都會被限制在該集合 (及繼承權限) 的子集合,使用者嘗試呼叫該 API 以取得其他集合時會收到錯誤。

  5. 選擇 角色分配 標籤。

  6. 將資料策展人角色指派給先前建立的服務主體。 詳細步驟請參閱使用 Microsoft Purview 治理入口網站指派 Azure 角色

在你分配權限後,你需要收集你的認證令牌。

  1. 請向以下網址發送 POST 請求以取得存取權杖:

    https://login.microsoftonline.com/{your-tenant-id}/oauth2/token

    你可以在 Azure 入口網站搜尋租戶屬性來找到你的租戶 ID。 該識別碼可在租戶物業頁面查閱。

    以下參數需傳遞至上述網址:

    • client_id:Microsoft Entra ID 註冊的應用程式的客戶端 ID,並被指派給 Microsoft Purview 帳戶的資料平面角色。
    • client_secret:為上述應用程式建立的客戶端秘密。
    • grant_type:這應該是「client_credentials」。
    • 資源:這應該是https://purview.azure.net

    這裡有一個 PowerShell 中的 POST 請求範例:

    $tenantID = "12a345bc-67d1-ef89-abcd-efg12345abcde"
    
    $url = "https://login.microsoftonline.com/$tenantID/oauth2/token"
    $params = @{ client_id = "a1234bcd-5678-9012-abcd-abcd1234abcd"; client_secret = "abcd~a1234bcd56789012abcdabcd1234abcd"; grant_type = "client_credentials"; resource = ‘https://purview.azure.net’ }
    
    Invoke-WebRequest $url -Method Post -Body $params      -UseBasicParsing | ConvertFrom-Json
    

    範例回應標記:

    {
        "token_type": "Bearer",
        "expires_in": "86399",
        "ext_expires_in": "86399",
        "expires_on": "1621038348",
        "not_before": "1620951648",
        "resource": "https://purview.azure.net",
        "access_token": "<<access token>>"
    }
    

    提示

    如果你收到錯誤訊息,內容為: 跨來源代幣兌換僅允許針對「單頁應用程式」客戶端類型。

    • 檢查你的請求標頭,確認 你的請求沒有 包含「來源」標頭。
    • 確認你的重定向 URI 在你的服務主體中已設定為 web
    • 確保你用來發送 POST 申請的軟體是最新的。
  2. 使用上述存取權杖來呼叫資料平面 API。

使用 REST API 建立資產

現在你有了代幣並能認證,就可以開始建立你的資產了。

重要事項

你的請求網址端點取決於你使用的 Microsoft Purview 體驗:經典的 Microsoft Purview 體驗 ,還是 新的 Microsoft Purview 入口網站

Create Azure assets

這裡有一個範例,你可以用來建立 Azure 資源的實體。 這個例子涵蓋的是 Azure 儲存帳號,但你也可以用它來管理其他 Azure 來源。

重要事項

若要使用此範例用於 Azure 資源,請將這些值替換為有效載荷中的值:

  • 類型名稱
  • 擁有者
  • 合格姓名
  • name
  • 專家識別
  • 專家資訊
  • 車主識別
  • 車主資訊
  • 創作人
  • 更新者

請求網址: https://{accountName}.purview.azure.com/catalog/api/atlas/v2/entity

方法:POST

認證:使用前一步的代幣作為持有人代幣。

有效載荷範例:

{
  "referredEntities": {},
  "entity": {
    "typeName": "azure_storage_account",
    "attributes": {
      "owner": "ExampleOwner",
      "modifiedTime": 0,
      "createTime": 0,
      "qualifiedName": "https://exampleaccount.core.windows.net",
      "name": "ExampleStorageAccount",
      "description": null,
      "publicAccessLevel": null
    },
    "contacts": {
      "Expert": [
        {
          "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2d2",
          "info": "Example Expert Info"
        }
      ],
      "Owner": [
        {
          "id": " 30435ff9-9b96-44af-a5a9-e05c8b1ae2d2",
          "info": "Example Owner Info"
        }
      ]
    },
    "status": "ACTIVE",
    "createdBy": "ExampleCreator",
    "updatedBy": "ExampleUpdator",
    "version": 0
  }
}

建立多雲資產

這裡有一個範例,你可以用來建立多雲資源的實體。 這個範例會產生一個 Snowflake 資源,但你也可以用它來處理其他來源

重要事項

若要使用此範例用於 Azure 資源,請將這些值替換為有效載荷中的值:

  • 類型名稱
  • 擁有者
  • 合格姓名
  • name
  • 類型
  • 專家識別
  • 專家資訊
  • 車主識別
  • 車主資訊
  • 創作人
  • 更新者

請求網址: https://{accountName}.purview.azure.com/catalog/api/atlas/v2/entity

方法:POST

認證:使用前一步的代幣作為持有人代幣。

有效載荷範例:

{
  "referredEntities": {},
  "entity": {
    "typeName": "snowflake_table",
    "attributes": {
      "owner": "ExampleOwner",
      "modifiedTime": 0,
      "createTime": 0,
      "qualifiedName": "snowflake://microsoft_partner.east-us-2.azure.snowflakecomputing.com/databases/AZUREPURVIEW_TESTDB/schemas/COMPANY/tables/PROJECT_INFO",
      "name": "PROJECT_INFO",
      "description": null,
      "type": "TABLE"
    },
    "contacts": {
      "Expert": [
        {
          "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2d2",
          "info": "Example Expert Info"
        }
      ],
      "Owner": [
        {
          "id": "4b27e65f-6a15-4925-a4ef-2e640445079b",
          "info": "Example Owner Info"
        }
      ]
    },
    "status": "ACTIVE",
    "createdBy": "ExampleCreator",
    "updatedBy": "ExampleUpdator",
    "version": 0
  }
}

後續步驟