Gateways - Update Datasource
從指定的閘道更新指定資料來源的認證。
內部部署資料來源認證必須加密,如 內部部署加密認證範例中所述。
如需使用此 API 的範例,請參閱 修補程式資料來源認證 PowerShell 指令碼,此指令碼使用下列附註中提到的 PowerShell 指令碼來加密認證。
備註
從單一登入變更為其他認證類型 (例如 Basic 或 OAuth2) 時, useEndUserOAuth2Credentials 請將參數設定為 false基本認證範例中所述。
只要提供的權杖有效,OAuth 2.0 認證就有效。 使用 OAuth 2.0 認證類型時,請執行下列動作:
- 根據資料來源型別,正確設定OAuth 2.0權杖對象。
- 在承載中傳送 OAuth 2.0 權杖,如 OAuth 2.0 認證範例所示。
- 如果您使用 延伸模組 資料來源,請勿設定
useCallerAADIdentity為true。
權限
- 使用內部部署閘道時,使用者必須具有閘道管理員權限。
- 使用雲端資料來源時,使用者必須是資料來源擁有者。 使用 資料集 - 接管 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 |
|---|---|---|---|---|
|
datasource
|
path | True |
string (uuid) |
資料來源識別碼 |
|
gateway
|
path | True |
string (uuid) |
閘道 ID。 使用閘道叢集時,閘道 ID 是指叢集中的主要 (第一個) 閘道。 在這種情況下,閘道 ID 類似於閘道叢集 ID。 |
要求本文
| 名稱 | 必要 | 類型 | Description |
|---|---|---|---|
| credentialDetails | True |
認證詳細資料 |
回應
| 名稱 | 類型 | 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 |
|---|---|
|
Credential |
認證詳細資料 |
|
credential |
資料來源認證的類型 |
|
encrypted |
是否加密資料來源連線。 如果您選取加密,且 Power BI 無法與資料來源建立加密連線,API 呼叫將會失敗。 |
|
encryption |
加密演算法。 對於雲端資料來源,請指定 |
|
privacy |
隱私權層級,這在組合來自多個來源的資料時是相關的。 |
|
Update |
將資料來源更新至閘道要求 |
CredentialDetails
認證詳細資料
| 名稱 | 類型 | Description |
|---|---|---|
| credentialType |
認證類型 |
|
| credentials |
string |
認證,取決於 'credentialType' 值。 如需詳細資訊,請參閱 更新資料來源 範例。 |
| encryptedConnection |
是否加密資料來源連線。 如果您選取加密,且 Power BI 無法與資料來源建立加密連線,API 呼叫將會失敗。 |
|
| encryptionAlgorithm |
加密演算法。 對於雲端資料來源,請指定 |
|
| privacyLevel |
隱私權層級,這在組合來自多個來源的資料時是相關的。 |
|
| useCallerAADIdentity |
boolean |
是否會使用 API 呼叫端 (必須是資料來源擁有者) 的 Azure AD 身分識別 (OAuth 2.0 認證) 來設定資料來源認證 (擁有者 OAuth 存取權杖)。 一般而言,您會使用此旗標或 |
| useEndUserOAuth2Credentials |
boolean |
在 DirectQuery 模式中連線到資料來源時,是否使用使用者 Azure AD 身分識別 (OAuth 2.0 認證)。 與支援 單一登入 (SSO) 的資料來源搭配使用。 一般而言,您會使用此旗標或 |
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 |
認證詳細資料 |