共用方式為


Gateways - Update Datasource

從指定的閘道更新指定資料來源的認證。

內部部署資料來源認證必須加密,如 內部部署加密認證範例中所述。

如需使用此 API 的範例,請參閱 修補程式資料來源認證 PowerShell 指令碼,此指令碼使用下列附註中提到的 PowerShell 指令碼來加密認證。

備註

從單一登入變更為其他認證類型 (例如 BasicOAuth2) 時, useEndUserOAuth2Credentials 請將參數設定為 false基本認證範例中所述。

只要提供的權杖有效,OAuth 2.0 認證就有效。 使用 OAuth 2.0 認證類型時,請執行下列動作:

  • 根據資料來源型別,正確設定OAuth 2.0權杖對象。
  • 在承載中傳送 OAuth 2.0 權杖,如 OAuth 2.0 認證範例所示。
  • 如果您使用 延伸模組 資料來源,請勿設定 useCallerAADIdentitytrue

權限

  • 使用內部部署閘道時,使用者必須具有閘道管理員權限。
  • 使用雲端資料來源時,使用者必須是資料來源擁有者。 使用 資料集 - 接管 API 來轉移指定資料集的擁有權,或使用編 頁報表 - 接管 API 來轉移指定編頁報表上的資料來源擁有權。
  • 此 API 呼叫可由服務主體設定檔呼叫。 如需詳細資訊,請參閱: Power BI Embedded 中的服務主體設定檔

必要範圍

Dataset.ReadWrite.All

局限性

  • 設定 OAuth 認證時,不會合併重新整理權杖,就像透過 Power BI 服務中的 UI 設定認證時一樣。 因此,認證只能使用一小時。
  • 不支援虛擬網路 (VNet) 閘道。
  • SAS 權杖認證僅支援 AzureBlobStorage 和 AzureDataLakeStorage。

PATCH https://api.powerbi.com/v1.0/myorg/gateways/{gatewayId}/datasources/{datasourceId}

URI 參數

名稱 位於 必要 類型 Description
datasourceId
path True

string (uuid)

資料來源識別碼

gatewayId
path True

string (uuid)

閘道 ID。 使用閘道叢集時,閘道 ID 是指叢集中的主要 (第一個) 閘道。 在這種情況下,閘道 ID 類似於閘道叢集 ID。

要求本文

名稱 必要 類型 Description
credentialDetails True

CredentialDetails

認證詳細資料

回應

名稱 類型 Description
200 OK

OK

範例

Anonymous credentials example
Basic credentials example
Key credentials example
OAuth 2.0 credentials example
On-premise encrypted credentials example
SAS Token credentials example

Anonymous credentials example

範例要求

PATCH https://api.powerbi.com/v1.0/myorg/gateways/1f69e798-5852-4fdd-ab01-33bb14b6e934/datasources/252b9de8-d915-4788-aaeb-ec8c2395f970
{
  "credentialDetails": {
    "credentialType": "Anonymous",
    "credentials": "{\"credentialData\":\"\"}",
    "encryptedConnection": "Encrypted",
    "encryptionAlgorithm": "None",
    "privacyLevel": "None"
  }
}

範例回覆

Basic credentials example

範例要求

PATCH https://api.powerbi.com/v1.0/myorg/gateways/1f69e798-5852-4fdd-ab01-33bb14b6e934/datasources/252b9de8-d915-4788-aaeb-ec8c2395f970
{
  "credentialDetails": {
    "credentialType": "Basic",
    "credentials": "{\"credentialData\":[{\"name\":\"username\", \"value\":\"john\"},{\"name\":\"password\", \"value\":\"*****\"}]}",
    "encryptedConnection": "Encrypted",
    "encryptionAlgorithm": "None",
    "privacyLevel": "None",
    "useEndUserOAuth2Credentials": "False"
  }
}

範例回覆

Key credentials example

範例要求

PATCH https://api.powerbi.com/v1.0/myorg/gateways/1f69e798-5852-4fdd-ab01-33bb14b6e934/datasources/252b9de8-d915-4788-aaeb-ec8c2395f970
{
  "credentialDetails": {
    "credentialType": "Key",
    "credentials": "{\"credentialData\":[{\"name\":\"key\", \"value\":\"ec....LA=\"}]}",
    "encryptedConnection": "Encrypted",
    "encryptionAlgorithm": "None",
    "privacyLevel": "None"
  }
}

範例回覆

OAuth 2.0 credentials example

範例要求

PATCH https://api.powerbi.com/v1.0/myorg/gateways/1f69e798-5852-4fdd-ab01-33bb14b6e934/datasources/252b9de8-d915-4788-aaeb-ec8c2395f970
{
  "credentialDetails": {
    "credentialType": "OAuth2",
    "credentials": "{\"credentialData\":[{\"name\":\"accessToken\", \"value\":\"eyJ0....fwtQ\"}]}",
    "encryptedConnection": "Encrypted",
    "encryptionAlgorithm": "None",
    "privacyLevel": "None"
  }
}

範例回覆

On-premise encrypted credentials example

範例要求

PATCH https://api.powerbi.com/v1.0/myorg/gateways/1f69e798-5852-4fdd-ab01-33bb14b6e934/datasources/252b9de8-d915-4788-aaeb-ec8c2395f970
{
  "credentialDetails": {
    "credentialType": "Windows",
    "credentials": "AB....EF==",
    "encryptedConnection": "Encrypted",
    "encryptionAlgorithm": "RSA-OAEP",
    "privacyLevel": "None"
  }
}

範例回覆

SAS Token credentials example

範例要求

PATCH https://api.powerbi.com/v1.0/myorg/gateways/1f69e798-5852-4fdd-ab01-33bb14b6e934/datasources/252b9de8-d915-4788-aaeb-ec8c2395f970
{
  "credentialDetails": {
    "credentialType": "SAS",
    "credentials": "{\"credentialData\":[{\"name\":\"token\", \"value\":\"sp=rl&st=2023-01-16T09:37:25Z&se=2023...J0%2F0YVkjKxPtEwsyn\"}]}",
    "encryptedConnection": "Encrypted",
    "encryptionAlgorithm": "None",
    "privacyLevel": "None"
  }
}

範例回覆

定義

名稱 Description
CredentialDetails

認證詳細資料

credentialType

資料來源認證的類型

encryptedConnection

是否加密資料來源連線。 如果您選取加密,且 Power BI 無法與資料來源建立加密連線,API 呼叫將會失敗。

encryptionAlgorithm

加密演算法。 對於雲端資料來源,請指定 None。 對於內部部署資料來源,請指定 RSA-OAEP 並使用閘道公開金鑰來加密認證。

privacyLevel

隱私權層級,這在組合來自多個來源的資料時是相關的。

UpdateDatasourceRequest

將資料來源更新至閘道要求

CredentialDetails

認證詳細資料

名稱 類型 Description
credentialType

credentialType

認證類型

credentials

string

認證,取決於 'credentialType' 值。 如需詳細資訊,請參閱 更新資料來源 範例。

encryptedConnection

encryptedConnection

是否加密資料來源連線。 如果您選取加密,且 Power BI 無法與資料來源建立加密連線,API 呼叫將會失敗。

encryptionAlgorithm

encryptionAlgorithm

加密演算法。 對於雲端資料來源,請指定 None。 對於內部部署資料來源,請指定 RSA-OAEP 並使用閘道公開金鑰來加密認證。

privacyLevel

privacyLevel

隱私權層級,這在組合來自多個來源的資料時是相關的。

useCallerAADIdentity

boolean

是否會使用 API 呼叫端 (必須是資料來源擁有者) 的 Azure AD 身分識別 (OAuth 2.0 認證) 來設定資料來源認證 (擁有者 OAuth 存取權杖)。 一般而言,您會使用此旗標或 useEndUserOAuth2Credentials

useEndUserOAuth2Credentials

boolean

在 DirectQuery 模式中連線到資料來源時,是否使用使用者 Azure AD 身分識別 (OAuth 2.0 認證)。 與支援 單一登入 (SSO) 的資料來源搭配使用。 一般而言,您會使用此旗標或 useCallerAADIdentity

credentialType

資料來源認證的類型

Description
Basic
Windows
Anonymous
OAuth2
Key
SAS

encryptedConnection

是否加密資料來源連線。 如果您選取加密,且 Power BI 無法與資料來源建立加密連線,API 呼叫將會失敗。

Description
Encrypted
NotEncrypted

encryptionAlgorithm

加密演算法。 對於雲端資料來源,請指定 None。 對於內部部署資料來源,請指定 RSA-OAEP 並使用閘道公開金鑰來加密認證。

Description
None
RSA-OAEP

privacyLevel

隱私權層級,這在組合來自多個來源的資料時是相關的。

Description
None
Public
Organizational
Private

UpdateDatasourceRequest

將資料來源更新至閘道要求

名稱 類型 Description
credentialDetails

CredentialDetails

認證詳細資料