Power Query のセキュリティのベスト プラクティス

Power Query には、さまざまなソースから Power BI、Excel、Dataverse、Azure Data Lake Storage などの変換先にデータを抽出、変換、読み込む機能が用意されています。 Power Query を使用する場合は、セキュリティのベスト プラクティスに従って、データ、構成、接続を保護することが重要です。

この記事では、Power Query を使用するときにセキュリティのベスト プラクティスを適用する方法に関するガイダンスを提供し、外部のリスクから保護するのに役立ちます。

データ保護

Power Query はさまざまなソースからのデータを処理するため、不正アクセスやソース間のデータ漏えいを防ぐための適切なデータ保護対策を実装することが不可欠です。

  • 各データ ソースのプライバシー レベルを構成する: 適切なプライバシー レベル (プライベート、組織、パブリック) を設定して、異なる秘密度レベルのソース間で偶発的なデータ転送を防ぎます。 プライベート データ ソースは他のソースとデータを共有できないため、機密情報は保護されたままになります。 詳細については、「 Power Query のプライバシー レベル」を参照してください

  • プライバシー レベルの無視を避ける: 承認されていないユーザーに機密または機密データを公開する可能性があるため、高速結合オプション ("プライバシー レベルを無視") を有効にしないでください。 この設定により、パフォーマンスが向上する可能性がありますが、セキュリティ保護が損なわれます。 詳細については、「 プライバシー レベルのオプションの設定」を参照してください。

  • パラメーター化されたクエリを安全に使用する: 動的 M クエリ パラメーターを使用する場合は、クエリ内での文字列連結を避け、代わりにソース クエリにフォールドする M 操作を使用して潜在的なインジェクション攻撃を防ぎます。 可能な場合は、ソース クエリ言語に組み込まれているパラメーター渡しメカニズムの使用を検討してください。 詳細については、「パラメーターを使用して セキュリティ リスクを軽減する」を参照してください。

  • データ接続の暗号化: 暗号化をサポートするデータ ソースに接続する場合は、常にセキュリティで保護された接続オプションを有効にします。 たとえば、データベースに接続する場合は、使用可能な場合は [暗号化された接続を使用する] が選択されていることを確認します。 詳細については、「 Power Query Online の接続設定」を参照してください。

  • 証明書失効状態を検証する: SSL 接続に、侵害されたサーバーへの接続を防ぐための証明書失効状態チェックが含まれるようにします。 これらのチェックを無効にすることはできますが、これを行うと、データがセキュリティ リスクにさらされる可能性があります。 詳細については、「 証明書の失効」を参照してください。

ID およびアクセス管理

Power Query のセキュリティ保護は、承認されたユーザーのみがデータ ソースと変換にアクセスできるように、堅牢な ID とアクセス制御の実装から始まります。

  • 使用可能な場合は Microsoft Entra ID 認証を使用する: データ ソース (特にクラウド サービス) に対するセキュリティで保護された認証には、Microsoft Entra ID (以前の Azure AD) を使用します。 このプロトコルは、一元化された ID 管理を提供し、条件付きアクセスや多要素認証などの機能をサポートします。 詳細については、「 デスクトップ アプリでの認証」を参照してください。

  • 最小限の特権アクセスを実装する: Power Query を使用してデータ ソースに接続するユーザーに必要なアクセス許可のみを割り当てます。 日常的なデータ接続には、管理アカウントまたは高い特権アカウントを使用しないでください。 詳細については、「 Power Query Online の接続と認証」を参照してください。

  • 認定されていないコネクタを制限する: 既定では、認定されていないコネクタを読み込もうとすると、Power Query によってエラーが発生します。 セキュリティが検証されていないカスタム コネクタが使用されないようにするには、この設定を維持します。 詳細については、「 データ拡張機能のセキュリティ オプション」を参照してください。

  • ネイティブ クエリに対してユーザーの承認を要求する: ネイティブ データベース クエリを実行する前にユーザーの承認を必要とする既定の設定を維持します。これは、ユーザーが十分なアクセス許可を持っている場合にデータベース レコードを変更または削除する悪意のある SQL ステートメントを実行する可能性があるためです。 詳細については、 ネイティブ データベース クエリを参照してください。

  • 資格情報ストレージを安全に管理する: Power Query は、データ モデルとは別に資格情報を暗号化して格納し、機密情報を公開することなく資格情報の再利用を容易にします。 承認されたユーザーのみが、これらの保存された資格情報を管理するアクセス権を持っていることを確認します。 詳細については、「 Power BI 実装計画: コンテンツ作成者のセキュリティ計画」を参照してください。

ネットワークのセキュリティ

ネットワーク セキュリティ制御を実装すると、Power Query 接続を保護し、データ ソースへの不正アクセスを防ぐことができます。

  • オンプレミスのデータ ソースにデータ ゲートウェイを使用する: オンプレミスのデータ ゲートウェイまたは仮想ネットワーク データ ゲートウェイを実装して、パブリック インターネットに公開することなく、プライベート ネットワーク内のデータ ソースに安全に接続します。 詳細については、「 Power Query データ ソースへの接続」を参照してください。

  • 機密データ ソースのネットワーク分離を実装する: 仮想ネットワーク データ ゲートウェイを使用して、仮想マシン上のオンプレミス データ ゲートウェイを必要とせずに、仮想ネットワーク内の Azure サービスに接続します。 仮想ネットワーク ゲートウェイを使用すると、機密データに対するネットワーク分離の別のレイヤーが提供されます。 詳細については、「 仮想ネットワーク データ ゲートウェイ」を参照してください。

  • すべての接続に対して TLS 暗号化を有効にする: データ ソースへの接続で、最新の暗号スイートによるトランスポート層セキュリティ (TLS) 暗号化が使用されていることを確認します。 古い暗号スイートはサポートされておらず、セキュリティ 上のリスクを引き起こす可能性があります。 詳細については、「 Power Query 暗号スイート」を参照してください。

  • データ ソース アクセス用にファイアウォールを構成する: Azure Storage またはファイアウォール設定で他のクラウド サービスで Power Query Online を使用する場合は、承認されていないアクセスをブロックしながら認証された接続を許可するように適切な構成を行ってください。 詳細については、 Azure Blob Storage の制限事項に関するページを参照してください

ログ記録と監視

包括的なログ記録と監視を実装すると、疑わしいアクティビティを検出し、Power Query のデプロイに関する問題のトラブルシューティングを行うことができます。

  • 機密性の高い操作に対してクエリ診断を有効にする: Power BI Desktop でクエリ診断を使用して、Power Query のパフォーマンスを調査し、データ ソースに送信されているクエリを把握します。 これらの診断により、クエリ の折りたたみが正しく動作することが保証されます。 ただし、トラブルシューティングにクエリ診断が必要な場合を除き、これらの診断をオフにしておくことをお勧めします。 これらの診断はログ ファイルに格納され、クエリ名、ソース パスなどの顧客コンテンツを含む場合があります。 詳細については、「 クエリ診断」を参照してください。

  • 適切な Web プレビューの警告レベルを使用 する - Power Query のデスクトップ ビルドで適切な Web プレビュー警告レベルを使用します。 Moderate と Strict により、以前にアクセスしたことがない Web サイトが読み込まれないようにします。これにより、悪意のある Web サイトが読み込まれないようにすることができます。 Power Query の Web プレビューの警告レベル オプションは、Power BI Desktop または Excel からのみ使用できます。

  • データ ソースに送信されたネイティブ クエリを監視する: クエリに予期しない操作や有害な可能性のある操作が含まれないようにするには、データ ソースに送信された実際のクエリを定期的に確認します。 クエリ診断は、送信されるクエリを識別するのに役立ちます。 詳細については、「 クエリの評価と折りたたみ」を参照してください。

  • データ ソース接続の追跡: アクセスされるデータ ソース、頻度、およびセキュリティの問題を示す可能性がある通常とは異なるアクセス パターンを識別するユーザーを監視します。 詳細については、「 パフォーマンスの監視」を参照してください。

  • データフロー操作の監査: Power BI アクティビティ ログを使用して Power BI データフローのユーザー アクティビティを追跡し、データ変換操作の可視性を維持します。 詳細については、「 データフローの監視」を参照してください。

サービス固有のセキュリティ

Power Query には、さまざまな Microsoft 製品とサービスでの実装に関連する特定のセキュリティに関する考慮事項が含まれています。

  • カスタム コネクタを検証する: カスタム コネクタを使用している場合は、信頼できるソースから取得され、セキュリティの脆弱性が適切に確認されていることを確認します。 可能な限り認定コネクタを使用することをお勧めします。 詳細については、「 カスタム コネクタ」を参照してください。

  • R スクリプトと Python スクリプトをセキュリティで保護する: Power Query で R または Python スクリプトを使用する場合は、ユーザーのアクセス許可で実行され、機密データにアクセスする可能性があることに注意してください。 信頼できるソースのスクリプトのみを使用し、適切なプライバシー レベルを設定します。 詳細については、「 Power Query エディターで R を使用する」を参照してください。

ゲートウェイのベスト プラクティス

  • 重要なワークロードのゲートウェイ クラスタリングを検討する: 重要なデータ処理ニーズがあるエンタープライズ環境では、信頼性を向上させ、さまざまなデータ ソースのさまざまなコンプライアンスまたはセキュリティ要件を満たすためにゲートウェイ クラスターを実装します。 詳細については、「 オンプレミス リソースへの接続」を参照してください。

詳細情報