データ セキュリティと Python in Excel

適用先
Excel for Microsoft 365 Excel for Microsoft 365 for Mac

可用性の情報については、「 Excel の Python の可用性」を参照してください。 Excel で Python に関する問題が発生した場合は、Excel で [ヘルプ>Feedback ] を選択して報告してください。

Python in Excel を初めて使用する場合は、 最初に、「Python in Excel の概要」と「Python in Excel の使用を開始する」を参照してください。

Python はエンタープライズ レベルのセキュリティで実行されます

Excel の Python は、エンタープライズ レベルのセキュリティを備えた Microsoft Cloud 上のセキュリティで保護されたコンテナーで Excel によって使用される Python コードを実行します。

Excel の Python は Microsoft 365 接続エクスペリエンスに準拠しており、Python コードはorganizationのコンプライアンス境界内で実行されます。 コンプライアンスに準拠した Microsoft 365 接続エクスペリエンスの他の例としては、OneDrive に保存されているドキュメントとの連携や、Excel のデータ分析機能の使用が挙げられます。 

Python in Excel は一般データ保護規則 (GDPR) と、欧州連合のデータ境界 (EUDB) に準拠しています。

Python in Excel は、次の属性を使用して Microsoft Cloud で実行されます。

  • Python コードは、ハイパーバイザーの分離コンテナー上の組織のコンプライアンス境界内で実行されます。
  • ブックが開いている間、またはタイムアウトが発生するまで、コンテナーはオンラインのまま維持されます。
  • データが Microsoft Cloud に保持されることはありません。
  • この Python コードは、ユーザーのコンピューター、デバイス、またはアカウントへのアクセス権を持ちません。
  • この Python コードには、ネットワークへのアクセス権がありません。
  • この Python コードには、ユーザー トークンへのアクセス権がありません。
  • このコンテナーには、Python と、Anaconda によって提供され安全に保護されたライブラリの、キュレーションされたセットが含まれています。
  • この環境は、Python 向けの Anaconda ディストリビューションを使用しており、これには、Anaconda から直接提供されるソースビルドの Python とライブラリが含まれます。
  • Python コードは、Python 数式の一部として組み込みの xl() 関数を使用して、参照を介してデータにアクセスできます。 これはつまり、Python 数式には、ブック内のセルの値をセル参照に基づいて読み取るか、Power Query 接続名を経由して外部データ ソースの値を読み取るアクセス権があることを意味します。
  • Python コードは、=PY() Excel 関数を使用してブックに出力を返します。これにより、関数が入力されたセルに Python コードの結果が表示されます。 Python 関数は、マクロ、VBA コード、その他の数式など、他のオブジェクト型を返すことはできません。
  • Python コードには、数式、グラフ、ピボットテーブル、マクロ、VBA コードなど、ブック内のその他のプロパティに対するアクセス権は付与されていません。

よく寄せられる質問

Python in Excel は、インターネットまたは信頼されていないソースからのブックをどのように処理しますか?

インターネットまたは信頼されていないソースからブックを開く際、Python in Excel は Excel と同じセキュリティ ポリシーに従います。

Python コードを含むブックをインターネットから開いた場合、Excel の保護ビューではそのブック内の Python 数式は実行されません。 Microsoft Defender Application Guard を使用してブックが開かれている場合、既定では Python の数式は実行されません。

さらに Python in Excel では、開いている別のブックから実行されている異なる Python コードとの潜在的な相互作用や干渉を防止しながら、ブック内の独自の専用ハイパーバイザーの分離コンテナー内にあるブックの Python 数式を常に実行します。

Microsoft は、Python コードが実行されるコンテナーを、どのくらいの頻度で更新しますか?

コンテナーとは、システムの残りの部分に影響を与えずにアプリケーションとサービスを実行できる、分離された安全な環境のことです。 コンテナーのセキュリティと信頼性を確保するために、更新プログラムとパッチが定期的に適用されます。

Python とライブラリは、データの安全性と数値の結果の一貫性を維持するために、次の方法で更新されます。

  • パッチは、コンテナーが実行されている基になるオペレーティング システムに適用されます。 これにより、データに影響を与える可能性のある脆弱性や悪用から、コンテナーが確実に保護されます。 これは自動的に行われ、ユーザーからの入力は必要ありません。

Python 環境の定期的な更新プログラムは、Python、および Anaconda によって提供されるライブラリとともにリリースされます。 これらのバージョンには最新のセキュリティ修正に加え、Python と Anaconda のコミュニティからの機能強化が含まれています。 これらのリリースは、ブログの投稿とドキュメントを通じて発表されます。 これはセットアップ不要で自動的に行われ、Microsoft が既定で最新の環境に設定します。 既存のブックは、ブックが作成された環境のバージョンに対して計算を継続します。また、新しいバージョンがある場合、ユーザーはアップグレードすることを促されます。 このアプローチは、数値的な結果の一貫性を保つとともに、お客様と組織が最新の状態に保たれていることを保証します。

Microsoft は、ユーザーのデータとプライバシーをどのように尊重していますか?

Microsoft にとって、お客様のプライバシーは重要です。 詳細については、 Microsoft のプライバシーに関する声明 を参照してください。

Microsoft 365 接続エクスペリエンスのデータ保護ポリシーを確認するには、「 Microsoft 365 の接続済みエクスペリエンス」を参照してください。

ブック データで Copilot を使用する場合のデータ保護ポリシーを確認するには、「Microsoft 365 Copilotのデータ、プライバシー、セキュリティ」を参照してください。

ブックからコンテナーに送信されるデータの処理方法については、「 Office に必要なサービス データ」を参照してください。

ヨーロッパで実行できるようにコードを構成できますか?

はい。Python in Excel は、一般データ保護規則 (GDPR) と欧州連合のデータ境界 (EUDB) に準拠しています。 欧州連合 (EU) のお客様は、コンテナーを EU 内で実行しています。 多国籍テナントは、Office 構成サービスを通じて、すべてのコンテナーをヨーロッパで実行するように構成できます。 コンプライアンスの詳細については、「Azure、Dynamics 365、および Microsoft 365 コンプライアンス オファリング」を参照してください。

Python in Excel は保存データを保持しますか?

Python in Excel では、保存データの処理または保存を実行しません。 データの所有者はお客様です。 データが第三者と共有されたり、Copilot による AI トレーニングに使用されたりすることはありません。

データは Anaconda またはサード パーティと共有されますか?

いいえ。

Python in Excel は 医療情報信頼性連合 (Health Information Trust Alliance: HITRUST) および医療保険の携行性とアカウンタビリティ法 (Health Insurance Portability and Accountability Act: HIPAA) ガイドラインに準拠していますか?

はい。 コンプライアンスの詳細については、「Azure、Dynamics 365、および Microsoft 365 コンプライアンス オファリング」を参照してください。

コンテナー内では何が実行されますか?

ユーザー コードは、ハイパーバイザー分離コンテナー内において、最低特権アカウントの下で実行されます。 ユーザー コードは、ディスクへの書き込みや、コンテナー内でのシェル コマンドの実行などのアクションを実行できます。 パフォーマンスと可用性を向上させるために、これらのコンテナーは事前に作成されます。

Python in Excel はコンテナー内で実行されるすべてのものに悪意があることを前提としており、コンテナーの入力と出力を厳密に制限しています。 ユーザーは、数式によって参照されるデータにのみアクセスできます。 返せるのは、値または画像のみです。 一度使用されたコンテナーは破棄されます。 複数のセッション間またはユーザー間でデータは保持されません。

Python in Excel は、ハイパーバイザーの分離、またはネットワーク境界を破ろうとしているものをブロックする権利を留保します。

その他の考慮事項

レジストリを更新して Python in Excel のセキュリティ警告を切り替える

次のコマンドは、Python in Exceln のセキュリティ警告設定を変更するための、レジストリの更新方法を示しています。 このコマンドを、Windows デバイス上で、管理者特権でのコマンド プロンプトから実行します。

  1. このコマンドを使用すると、すべてのセキュリティ警告を無効にできます。 これは、Python in Excel の既定の設定です。

    reg add HKCU\software\policies\microsoft\office\16.0\excel\security /v PythonFunctionWarnings /t REG_DWORD /d 0 /f 

  2. このコマンドを使用すると、Python 数式を含むブックを開く際の、セキュリティ プロンプトを有効にできます。 これは、Excel のビジネス バーでセキュリティ警告通知を有効にします。

    reg add HKCU\software\policies\microsoft\office\16.0\excel\security /v PythonFunctionWarnings /t REG_DWORD /d 1 /f

  3. 開いているブックですべての Python 関数が実行されないようにするには、このコマンドを使用します。 Python 関数はエラー #BLOCKED! を返します。

    reg add HKCU\software\policies\microsoft\office\16.0\excel\security /v PythonFunctionWarnings /t REG_DWORD /d 2 /f

Microsoft は継続して、お客様とデータを安全に保つための監視と Python in Excel の調整を行います。 これにより、今後、ユーザー エクスペリエンスやレジストリ設定が変更される場合があります。

Microsoft の製品とサービスに影響を与えるセキュリティの脆弱性のレポートを最新の状態に保つには、 Microsoft Security Response Center Update Guide を参照してください。