接続の確立
接続プロファイルの設定
[CData]リボンから[データの取得]をクリックし、[取得元:Microsoft OneDrive]> 設定済みの接続 を選択してCData クエリウィンドウを起動します。新しい接続を設定するには、[新しいMicrosoft OneDrive 接続]をクリックします。ここでは、接続の設定、接続のテスト、および接続プロファイルの保存を行うことができます。
Authenticating to Microsoft OneDrive
Microsoft OneDrive uses the OAuth authentication standard. To authenticate using OAuth, you will need to create an app to obtain the OAuthClientId, OAuthClientSecret, and CallbackURL connection properties.
Entra ID(Azure AD)
Note:Microsoft はAzure AD をEntra ID にリブランドしました。ユーザーがEntra ID 管理サイトを操作する必要があるトピックでは、Microsoft が使用している名称と同じものを使用します。ただし、名前または値が"Azure AD" を参照しているCData 接続プロパティは、依然として存在します。
Microsoft Entra ID は、マルチテナント型のクラウドベースのID およびアクセス管理プラットフォームです。 OAuth ベースの認証フローに対応しており、ドライバーによるMicrosoft OneDrive エンドポイントへのセキュアなアクセスを実現します。
Web アプリケーションを介したEntra ID への認証には、必ずはじめにカスタムOAuth アプリケーションを作成して登録する必要があります。 これにより、アプリケーションは独自のリダイレクトURI を定義し、クレデンシャルのスコープを管理し、組織固有のセキュリティポリシーに準拠することができるようになります。
カスタムOAuth アプリケーションの作成および登録方法の詳細については、Entra ID(Azure AD)アプリケーションの作成 を参照してください。
AuthScheme をAzureAD に設定した後の認証手順は、環境によって異なります。 デスクトップアプリケーション、Web ベースのワークフロー、またはヘッドレスシステムから接続する方法の詳細については、以下のセクションを参照してください。
デスクトップアプリケーション
デスクトップアプリケーションでは、ドライバーに組み込まれたOAuth アプリケーション、またはMicrosoft Entra ID に登録されたカスタムOAuth アプリケーションのいずれかを使用して認証を行うことができます。
オプション1:組み込みOAuth アプリケーションの使用
これはドライバーに含まれている、事前登録済みのアプリケーションです。 セットアップが簡単で、独自の認証情報を登録する必要がないため、開発環境、単一ユーザー向けツール、または迅速かつ簡単な認証が求められる構成に最適です。
次の接続プロパティを設定します。
- AuthScheme:AzureAD
- InitiateOAuth:
- GETANDREFRESH – 初回ログイン時に使用します。ログインページを起動し、トークンを保存します。
- REFRESH – すでに有効なアクセストークンおよびリフレッシュトークンを取得している場合は、この設定を使用します。保存されたトークンを再利用するため、ユーザーに再度プロンプトを表示することはありません。
接続時には、ドライバーは既定のブラウザでMicrosoft Entra のサインインページを開きます。 サインインしてアクセスを許可すると、ドライバーはアクセストークンおよびリフレッシュトークンを取得し、OAuthSettingsLocation で指定されたパスに保存します。
オプション2:カスタムOAuth アプリケーションの使用
組織でセキュリティポリシーの管理、リダイレクトURI の設定、アプリケーションのブランディングなど、より高度な制御が必要な場合は、代わりにMicrosoft Entra ID にカスタムOAuth アプリケーションを登録し、接続時にその値を指定することができます。
登録時に、以下の値を記録してください。
- OAuthClientId:カスタムOAuth アプリケーションの登録時に生成されたクライアントId。
- OAuthClientSecret:カスタムOAuth アプリケーションの登録時に生成されたクライアントシークレット。
- CallbackURL:アプリケーション登録時に定義したリダイレクトURI。
カスタムOAuth アプリケーションの登録とリダイレクトURI の設定方法の詳細については、Entra ID(Azure AD)アプリケーションの作成 を参照してください。
次の接続プロパティを設定します。
- AuthScheme: AzureAD
- InitiateOAuth:
- GETANDREFRESH – 初回ログイン時に使用します。ログインページを起動し、トークンを保存します。
- REFRESH – すでに有効なアクセストークンおよびリフレッシュトークンを取得している場合は、この設定を使用します。保存されたトークンを再利用するため、ユーザーに再度プロンプトを表示することはありません。
- OAuthClientId:カスタムOAuth アプリケーションの登録時に生成されたクライアントId。
- OAuthClientSecret:カスタムOAuth アプリケーションの登録時に生成されたクライアントシークレット。
- CallbackURL:アプリケーション登録時に定義したリダイレクトURI。
認証後、トークンはOAuthSettingsLocation に保存されます。 これらの値はセッションをまたいで保持され、アクセストークンの有効期限が切れた際に自動的に更新されるため、次回以降の接続時に再度ログインする必要はありません。
Azure サービスプリンシパル
Azure サービスプリンシパルとしての認証は、OAuth クライアントクレデンシャルフローを介して処理されます。直接のユーザー認証は行われません。代わりに、クレデンシャルはアプリケーション自体のためだけに作成されます。アプリケーションで実行されるすべてのタスクは、デフォルトユーザーコンテキストなしで実行されます。リソースへのアプリケーションのアクセスは、割り当てられたロールの権限によって制御されます。
AzureAD アプリとAzure サービスプリンシパルの作成
Azure サービスプリンシパルを使用して認証する場合、Azure AD テナントにAzure AD アプリケーションを作成して登録する必要があります。詳しくは、Entra ID(Azure AD)アプリケーションの作成 を参照してください。
portal.azure.com の[アプリの登録]で[API のアクセス許可]に移動し、Microsoft Graph アクセス許可を選択します。アクセス許可には2つの異なるアクセス許可セットがあります。委任されたアクセス許可とアプリケーションの許可です。クライアントの資格情報認証時に使用されるアクセス許可は、[アプリケーションの許可]の下にあります。
アプリケーションへのロールの割り当て
サブスクリプションのリソースにアクセスするには、アプリケーションにロールを割り当てる必要があります。
- 検索バーでサブスクリプションサービスを検索・選択して、サブスクリプションページを開きます。
- アプリケーションを割り当てるサブスクリプションを選択します。
- アクセス制御 (IAM)を開き、追加 -> ロール割り当ての追加 を選択してロール割り当ての追加ページを開きます。
- 作成したAzure AD アプリに割り当てるロールとして、所有者を選択します。
クライアントシークレット
次の接続プロパティを設定します。
- AuthScheme:クライアントシークレットを使用する場合はAzureServicePrincipal。
- InitiateOAuth: GETANDREFRESH。InitiateOAuth を使えば、繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要はなくなります。
- AzureTenant:接続するテナント。
- OAuthClientId:アプリケーション設定のクライアントId。
- OAuthClientSecret:アプリケーション設定のクライアントシークレット。
証明書
次の接続プロパティを設定します。
- AuthScheme:証明書を使用する場合はAzureServicePrincipalCert。
- InitiateOAuth: GETANDREFRESH。InitiateOAuth を使えば、繰り返しOAuth 交換を行ったり、手動でOAuthAccessToken を設定する必要はなくなります。
- AzureTenant:接続するテナント。
- OAuthJWTCert:JWT 証明書のストア。
- OAuthJWTCertType:OAuthJWTCert で指定された証明書ストアの種類。
これで接続する準備が整いました。クライアント資格情報での認証は、他の接続同様に自動的に行われますが、ユーザーにプロンプトするウィンドウは表示されません。ユーザーコンテキストがないため、ブラウザのポップアップは必要ないからです。接続が行われ、内部的に処理されます。
Managed Service Identity (MSI)
Azure VM 上でMicrosoft OneDrive を実行しており、マネージドID(MSI)認証情報を自動的に取得して接続したい場合は、AuthScheme を AzureMSI に設定します。
User-Managed Identities
マネージドID のトークンを取得するには、OAuthClientId プロパティを使用してマネージドID のclient_id を指定します。VM に複数のユーザーが割り当てられたマネージドID がある場合は、OAuthClientId も指定する必要があります。
接続プロパティ
最後に、Connection プロパティを参照してください。接続の確立に使用できるさまざまなオプションの説明があります。
接続の管理
Microsoft OneDrive への認証に成功すると、インポートするデータをカスタマイズすることができます。詳しくは、接続の管理 を参照してください。
関連項目
- データのクエリ:[データ選択]ウィザードを使用してスプレッドシートにデータをプルします。また、ここではスケジュールされたデータのリフレッシュも設定できます。
- Excel アドインの使用:利用可能なCData Excel 関数 を使用するなど、Microsoft OneDrive データとやり取りする他の方法が見つかります。