Power BI에 대한 자격 증명을 프로그래밍 방식으로 구성
적용 대상: 앱 소유 데이터 사용자 소유 데이터
Power BI에 대한 자격 증명을 프로그래밍 방식으로 구성하려면 이 문서의 단계를 따르세요. 또한 프로그래밍 방식으로 자격 증명을 구성하면 자격 증명을 암호화할 수 있습니다.
참고 항목
- 호출하는 사용자는 의미 체계 모델 소유자 또는 게이트웨이 관리자여야 합니다. 서비스 주체를 사용할 수도 있습니다. 예를 들어 서비스 주체는 의미 체계 모델 소유자일 수 있습니다.
- 클라우드 데이터 원본과 해당 자격 증명은 사용자 수준에서 관리됩니다.
데이터 원본에 대한 자격 증명 흐름 업데이트
데이터 원본 가져오기를 호출하여 의미 체계 모델의 데이터 원본을 검색합니다. 각 데이터 원본의 응답 본문에는 형식, 연결 세부 정보, 게이트웨이 및 데이터 원본 ID가 포함되어 있습니다.
// Select a datasource var datasources = pbiClient.Datasets.GetDatasources(datasetId).Value; var datasource = datasources.First();
데이터 원본 업데이트 예제에 따라 자격 증명 문자열을 빌드합니다. 자격 증명 문자열의 콘텐츠는 자격 증명 유형에 따라 달라집니다.
var credentials = new BasicCredentials(username: "username", password :"*****");
참고 항목
클라우드 데이터 원본을 사용 중인 경우에는 이 섹션의 다음 단계를 수행하지 마세요. 데이터 원본 업데이트를 호출하여 1단계에서 얻은 게이트웨이 ID와 데이터 원본 ID를 사용하여 자격 증명을 설정합니다.
게이트웨이 가져오기를 호출하여 게이트웨이 공용 키를 검색합니다.
var gateway = pbiClient.Gateways.GetGatewayById(datasource.GatewayId);
자격 증명을 암호화합니다.
var credentialsEncryptor = new AsymmetricKeyEncryptor(gateway.publicKey);
암호화된 자격 증명을 사용하여 자격 증명 세부 정보를 빌드합니다.
3단계에서 검색된 공개 키를 통해 AsymetricKeyEncryptor 클래스를 사용합니다.
var credentialDetails = new CredentialDetails( credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);
데이터 원본 업데이트를 호출하여 자격 증명을 설정합니다.
pbiClient.Gateways.UpdateDatasource(datasource.GatewayId.Value, datasource.DatasourceId.Value, new UpdateDatasourceRequest(credentialDetails));
데이터 게이트웨이에 대한 새 데이터 원본 구성
머신에 온-프레미스 데이터 게이트웨이를 설치합니다.
게이트웨이 가져오기를 호출하여 게이트웨이 ID 및 공용 키를 검색합니다.
// Select a gateway var gateways = pbiClient.Gateways.GetGateways().Value; var gateway = gateways.First();
2단계에서 검색한 게이트웨이 공개 키를 사용하여 데이터 원본에 대한 자격 증명 흐름 업데이트 섹션에 설명된 절차에 따라 자격 증명 세부 정보를 작성합니다.
요청 본문을 빌드합니다.
var request = new PublishDatasourceToGatewayRequest( dataSourceType: "SQL", connectionDetails: "{\"server\":\"myServer\",\"database\":\"myDatabase\"}", credentialDetails: credentialDetails, dataSourceName: "my sql datasource");
데이터 원본 만들기 API를 호출합니다.
pbiClient.Gateways.CreateDatasource(gateway.Id, request);
자격 증명 유형
엔터프라이즈 온-프레미스 게이트웨이의 Power BI REST API에서 데이터 원본 만들기 또는 데이터 원본 업데이트를 호출할 때 게이트웨이 공개 키를 사용하여 자격 증명 값을 암호화합니다.
참고 항목
.NET SDK v3 역시 .NET SDK v2 예제를 실행할 수 있습니다.
Windows 및 기본 자격 증명
// Windows credentials
var credentials = new WindowsCredentials(username: "john", password: "*****");
// Or
// Basic credentials
var credentials = new BasicCredentials(username: "john", password: "*****");
var credentialsEncryptor = new AsymmetricKeyEncryptor(publicKey);
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);
키 자격 증명
var credentials = new KeyCredentials("TestKey");
var credentialsEncryptor = new AsymmetricKeyEncryptor(publicKey);
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);
OAuth2 자격 증명
var credentials = new OAuth2Credentials("TestToken");
var credentialsEncryptor = new AsymmetricKeyEncryptor(publicKey);
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.Encrypted, credentialsEncryptor);
익명 자격 증명
var credentials = new AnonymousCredentials();
var credentialDetails = new CredentialDetails(credentials, PrivacyLevel.Private, EncryptedConnection.NotEncrypted);
문제 해결
데이터 원본 가져오기를 호출할 때 게이트웨이 및 데이터 원본 ID를 찾을 수 없음
이 문제는 의미 체계 모델이 게이트웨이에 바인딩되지 않았음을 의미합니다. 새 의미 체계 모델을 만들면 자격 증명이 없는 데이터 원본이 각 클라우드 연결에 대한 사용자의 클라우드 게이트웨이에 자동으로 생성됩니다. 클라우드 게이트웨이는 클라우드 연결에 대한 자격 증명을 저장하는 데 사용됩니다.
의미 체계 모델을 만든 후에는 의미 체계 모델과 적절한 게이트웨이 간에 자동 바인딩이 만들어집니다. 이 게이트웨이에는 모든 연결에 대해 일치하는 데이터 원본이 포함되어 있습니다. 적절한 게이트웨이 또는 게이트웨이가 없으면 자동 바인딩이 실패합니다.
온-프레미스 의미 체계 모델을 사용하는 경우 누락된 온-프레미스 데이터 원본을 만들고 게이트웨이에 바인딩을 사용하여 수동으로 의미 체계 모델을 게이트웨이에 바인딩합니다.
바인딩 가능한 게이트웨이를 검색하려면 게이트웨이 검색을 사용합니다.