DSN の作成
このセクションでは、DSN 設定の編集方法と、Microsoft SharePoint API への認証および接続について説明します。
DSN 設定
Microsoft ODBC データソースアドミニストレーターを使ってDSN 設定を編集できます。インストールプロセスではコネクタのインストール で説明のとおり、ユーザーDSN とシステムDSN の両方が作成されることに注意してください。
Note: 本製品 は、接続情報をWindows レジストリに保存します。本製品 がレジストリに書き込めるようにするには、Power BI を管理者として実行するか、接続にシステムDSN ではなくユーザーDSN を使用します。
ユーザーDSN
DSN 設定を編集するには、次の手順を実行してください。
- スタート -> 検索 を選択し、検索ボックスにODBC データソース と入力します。
- Power BI Desktop インストールのビット数(32-bit または64-bit)に対応するODBC アドミニストレーターのバージョンを選択してください。
- システムデータソースを選択して構成をクリックします。
- 接続タブの情報を編集してOK をクリックします。
システムDSN
システムDSN をユーザーDSN と同じ方法で設定します。ただし、ステップ3を実行する前に、システムDSN タブに切り替える必要があります。
Power BI のOn-Premises Data Gateway をStandard モードで使用している場合、システムDSN を使用する必要があります。
OAuthSettingsLocation(OAuth のプロンプトが繰り返されるのを避けるため、OAuth 認証情報をローカルに保存するパス)にも有効な場所を指定する必要があります。
これは、Standard モードがサービスモードで動作し、C:\Windows\ServiceProfiles\PBIEgwService\AppData\Local\Microsoft\On-premises data gateway のような許可された場所にしかアクセスできないためです。
Microsoft SharePoint への接続
オンラインまたはオンプレミスのどちらで接続するか、どのようなアーキテクチャを使用するか、どのリストやドキュメントにアクセスするかに関わらず、Microsoft SharePoint への接続には次の2つの設定が必要です。- URL 接続プロパティを設定します。
- 使用環境に適した認証プロパティを設定します。
URL の設定:
Microsoft SharePoint は、グローバルなMicrosoft SharePoint サイト内のすべてのリストとドキュメント、または個々のサイトのすべてのリストとドキュメントで機能します。
グローバルなMicrosoft SharePoint サイトですべてのリストおよびドキュメントを操作するには、URL 接続プロパティをサイトコレクションURL に設定します。次に例を示します。
https://teams.contoso.com
個々のサイトですべてのリストおよびドキュメントを操作するには、URL 接続プロパティを個々のサイトURL に設定します。次に例を示します。
https://teams.contoso.com/TeamA
以下のセクションでは、使用環境に適した認証プロパティの設定方法について説明します。カスタムOAuth アプリケーション(Web アプリケーションでAzureAD を使用する場合は必須、デスクトップアプリケーションまたはヘッドレスサーバー経由でAzureAD にアクセスする場合はオプション)の作成については、カスタムOAuth アプリケーションの作成 を参照してください。
Microsoft SharePoint Online
SharePointEdition を"SharePoint Online" に設定し、User およびPassword をSharePoint へのログオンに使用するクレデンシャルに設定します。例えば、Microsoft Online Services アカウントへのクレデンシャルです。
Microsoft SharePoint Online は、多くのクラウドベースのアーキテクチャをサポートし、各アーキテクチャは、それぞれ異なる認証スキームをサポートしています。
- AzureAD
- ADFS、Okta、OneLogin、またはPingFederate SSO ID プロバイダーを介したシングルサインオン(SSO)
- Azure MSI
- Azure パスワード
- OAuthJWT
- SharePointOAuth
もしユーザーアカウントのドメインがID プロバイダーに設定されたドメインと異なる場合には、SSODomain を後者に設定します。このプロパティは、すべてのSSO で必要になる可能性があります。
AzureAD
Azure Active Directory(AzureAD)は、OAuth を使用して認証する接続タイプです。OAuth では認証するユーザーにインターネットブラウザでMicrosoft SharePoint との通信を要求します。下記で説明するとおり、本ドライバーはさまざまな方法でこれをサポートします。AuthScheme をAzureAD に設定します。以下で説明するAzure AD フローは、すでに設定済みであることを前提として書かれています。Azure テナントの新しいAzureAD アプリケーションを承認する際、組織による管理者の同意が必要になる場合があります。すべてのAzureAD フローにおいて、AzureAD アプリケーションの初期インストールと使用の際は、管理者がそのAzure テナントのアプリケーションを承認する必要があります。詳細はカスタムOAuth アプリケーションの作成 を参照してください。
デスクトップアプリケーション
CData は、OAuth デスクトップ認証を簡略化する埋め込みOAuth アプリケーションを提供します。代わりに、カスタムAzureAD アプリケーションを作成することも可能です。カスタムアプリケーションの作成およびその理由については、カスタムOAuth アプリケーションの作成 を参照してください。認証に関する2つの方法の違いは、カスタムAzureAD アプリケーションを使用する場合に、2つの接続プロパティを追加で設定する必要があることだけです。
次の接続プロパティを設定して、接続してください。
- カスタムアプリケーションのみ:
- OAuthClientId:アプリケーション設定のクライアントId。
- OAuthClientSecret:アプリケーション設定のクライアントシークレット。
接続すると、本製品 はデフォルトブラウザでOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。
ヘッドレスマシン
ヘッドレスマシンのユーザーアカウントでOAuth を使用するようにドライバーを設定するには、インターネットブラウザに対応した別の端末で認証する必要があります。
- 以下の2つのオプションから選択します。
- オプション1:後述の「Verifier code を取得および交換」に従い、OAuthVerifier 値を取得します。
- オプション2:別のマシンに本製品 をインストールし、後述の「OAuth 設定を転送」の説明に従い、通常のブラウザベースのフローで認証後にOAuth 認証値を転送します。
- ここでヘッドレスマシンからアクセストークンを自動的にリフレッシュするように本製品 を設定します。
オプション1:Verifier code を取得および交換
Verifier code を取得するには、OAuth Authorization URL で認証する必要があります。
インターネットブラウザに対応したマシンから認証してOAuthVerifier 接続プロパティを取得する方法は次のとおりです。
- 以下のオプションから選択します。
- 埋め込みOAuth アプリケーションを使用する場合は、Microsoft SharePoint OAuth endpoint をクリックし、ブラウザでエンドポイントを開きます。
- カスタムOAuth アプリケーションを使用するには、以下のプロパティを設定し、認証URL を作成します。
- InitiateOAuth:OFF。
- OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。
- ログインして、本製品 にアクセス許可を与えます。verifier code を含むコールバックURL にリダイレクトされます。
- verifier code の値を保存します。後ほどこれをOAuthVerifier 接続プロパティに設定します。
ヘッドレスマシンでは、次の接続プロパティを設定してOAuth 認証値を取得します。
- InitiateOAuth:REFRESH。
- OAuthVerifier:verifier code。
- OAuthSettingsLocation:ドライバーがOAuth トークン値を保存するファイルの場所。これは接続間で維持されます。
- カスタムアプリケーションのみ:
- OAuthClientId:カスタムOAuth アプリケーション設定のクライアントId。
- OAuthClientSecret:カスタムOAuth アプリケーション設定のクライアントシークレット。
OAuth 設定ファイルが生成されたら、以下のように接続プロパティをリセットする必要があります。
- InitiateOAuth:REFRESH。
- OAuthSettingsLocation:暗号化されたOAuth 認証値が保存される場所。アクセストークンの自動リフレッシュを有効にするために、この場所が本製品 に読み書きのアクセス許可を与えることを確認してください。
- カスタムアプリケーションのみ:
- OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。
オプション2:OAuth 設定を転送
ヘッドレスマシンでの接続に先立ち、インターネットブラウザに対応したデバイスでドライバーとの接続を作成し、インストールする必要があります。上述の「デスクトップアプリケーション」の説明に従って、接続プロパティを設定します。
「デスクトップアプリケーション」の手順が完了すると、生成された認証値は、OAuthSettingsLocation で指定された場所に暗号化されて書き込まれます。デフォルトのファイル名はOAuthSettings.txt です。
接続が正常にテストされたら、OAuth 設定ファイルをヘッドレスマシンにコピーします。
ヘッドレスマシンで、次の接続プロパティを設定し、データに接続します。
- InitiateOAuth:REFRESH。
- OAuthSettingsLocation:OAuth 設定ファイルの場所。アクセストークンの自動リフレッシュを有効にするために、この場所が本製品 に読み書きのアクセス許可を与えることを確認してください。
- カスタムアプリケーションのみ:
- OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId。
- OAuthClientSecret:アプリケーションの登録時に割り当てられたクライアントシークレット。
シングルサインオンID プロバイダー
ADFS
AuthScheme をADFS に設定します。次の接続プロパティを設定する必要があります。
- User:ADFS ユーザー。
- Password:ユーザーのADFS パスワード。
- SSODomain(オプション):ADFS のID プロバイダーで設定されたドメイン。
AuthScheme=ADFS;User=ADFSUserName;Password=ADFSPassword;URL='http://sharepointserver/mysite';
Okta
AuthScheme をOkta に設定します。Okta に接続するには、次の接続プロパティを使用します。
- User:Okta ユーザー。
- Password:ユーザーのOkta パスワード。
- SSODomain(オプション):Okta のID プロバイダーで設定されたドメイン。
接続文字列の例:
AuthScheme=Okta;User=oktaUserName;Password=oktaPassword;URL='http://sharepointserver/mysite';
OneLogin
AuthScheme をOneLogin に設定します。OneLogin への接続には、次の接続プロパティを使用します。
- User:OneLogin ユーザー。
- Password:ユーザーのOneLogin パスワード。
- SSODomain(オプション):OneLogin のID プロバイダーで設定されたドメイン。
接続文字列の例:
AuthScheme=OneLogin;User=OneLoginUserName;Password=OneLoginPassword;URL='http://sharepointserver/mysite';
PingFederate
AuthScheme をPingFederate に設定します。PingFederate への接続には、次の接続プロパティを使用します。
- User:PingFederate ユーザー。
- Password:ユーザーのPingFederate パスワード。
- SSODomain(オプション):PingFederate のID プロバイダーで設定されたドメイン。
接続文字列の例:
AuthScheme=PingFederate;User=PingFederateUserName;Password=PingFederatePassword;URL='http://sharepointserver/mysite';
Azure MSI
Azure VM 上でMicrosoft SharePoint を実行している場合は、Azure Managed Service Identity(MSI)の資格情報を利用して接続が可能です。
- AuthScheme:AzureMSI。
MSI 資格情報が認証用に自動的に取得されます。
Azure パスワード
Azure 資格情報を使用して直接接続するには、次の接続プロパティを指定します。- AuthScheme: AzurePassword
- User:Azure への接続に使用するユーザーアカウント
- Password:Azure への接続に使用するパスワード
- AzureTenant:Azure 上のMicrosoft SharePoint への認証に使用するOAuth アプリケーションの概要ページにある、Directory (tenant) ID。
OAuthJWT 証明書
AuthScheme をOAuthJWT に設定します。Microsoft SharePoint への接続には、次の接続プロパティを使用します。
- AzureTenant:接続するテナント。
- OAuthJWTCert:JWT 証明書のストア。
- OAuthJWTCertType:JWT 証明書を格納するキーストアの種類。
- OAuthJWTIssuer:OAuth クライアントId。
- OAuthJWTCertPassword:JWT 証明書に関連付けられたパスワード。証明書タイプにパスワードが必要な場合は、これを設定します。
SharePointOAuth
AuthScheme をSharePointOAuth に設定します。SharePointOAuth への接続には、次の接続プロパティを使用します。
- Schema:REST。
- InitiateOAuth:GETANDREFRESH。
- OAuthClientId:アプリケーションのId / クライアントId。
- OAuthClientSecret:アプリケーションのクライアントシークレット。
接続文字列の例:
SharePointEdition='SharepointOnline';URL=https://rssbuscrm.sharepoint.com;Schema=REST;AuthScheme=SharepointOAuth;InitiateOAuth=GETANDREFRESH;OAuthClientId=11111111-1111-1111-1111-111111111111;OAuthClientSecret=1111111111111/11111111111111/11111111111111=;このAuthScheme はカスタムOAuth アプリケーションで動作します。カスタムOAuth アプリケーションから認証情報を生成するには、カスタムOAuth アプリケーションの作成 を参照してください。
Microsoft SharePoint オンプレミス
Microsoft SharePoint オンプレミスは、多くのプレミスベースのアーキテクチャをサポートしています。
- Windows(NTLM)
- Kerberos
- ADFS
- 匿名アクセス
次の認証タイプを使用するには、SharePointEdition を"SharePoint On-Premises" に設定します。
Windows(NTLM)
これは最も一般的な認証タイプです。そのため、本製品 はNTLM をデフォルトとして使用するように事前設定されています。Windows のUser およびPassword を設定して接続します。
Kerberos
AuthScheme をNEGOTIATE に設定し、次に以下のKerberos 接続プロパティを設定します。
- KerberosKDC:Kerberos KDC マシンのホスト名またはIP アドレス。
- KerberosSPN:Microsoft SharePoint のKerberos プリンシパルのサービスとホスト。これは、principal value(例:MyService/[email protected])の'@' 記号の前の値(例:MyService/MyHost)です。
Kerberos で認証する方法についての詳細は、Kerberos の使用 を参照してください。
ADFS
AuthScheme をADFS に設定し、次に以下の接続プロパティを設定します。
- User:ADFS ユーザー。
- Password:ユーザーのADFS パスワード。
- SSOLoginURL:ADFS サーバーのWS-Trust エンドポイント。
AuthScheme=ADFS;User=ADFSUserName;Password=ADFSPassword;SSOLoginURL='https://<authority>/adfs/services/trust/2005/usernamemixed';SSO Properties ='RelyingParty=urn:sharepoint:sp2016;';
匿名アクセス
AuthScheme をURL と一緒にNONE に設定します。