データ セキュリティと Python in Excel
適用先
Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Microsoft365.com My Office for iPhoneExcel の Python は、バージョン 2408 (ビルド 17928.20114) 以降、および Windows 上の月次エンタープライズ チャネル (バージョン 2408 (ビルド 17928.20216) 以降、Windows で現在のチャネルを実行している Enterprise および Business ユーザーが使用できます。 また、エンタープライズ ユーザーとビジネス ユーザー向けのExcel on the webでも使用できます。 Excel の Python は、Excel on the webまたはバージョン 2405 (ビルド 17628.20164) 以降の Windows で現在のチャネルを実行しているファミリー ユーザーと個人ユーザーがプレビューで使用できます。 Microsoft 365 Insider Program を通じて現在のチャネル (プレビュー) を実行している Education ユーザーはプレビューで利用できます。 現在、半期エンタープライズ チャネルでは、これをご利用になれません。
Excel の Python は、Microsoft 365 Insider Program を通じてExcel for Macでプレビューで利用できます。 ベータ チャネル Insider レベルを選択し、最新のビルドの Excel をインストールします。 バージョン 16.95 (ビルド 25021921) 以降で使用できます。
可用性の詳細については、「Python in Excel の可用性」を参照してください。 Python in Excel で問題が発生した場合は、Excel で [ヘルプ]、[フィードバック] の順に選択し、問題を報告してください。
Python in Excel を初めて使用する場合は、 最初に、「Python in Excel の概要」と「Python in Excel の使用を開始する」を参照してください。
Python はエンタープライズ レベルのセキュリティで実行されます
Python in Excel はエンタープライズ レベルのセキュリティを備えており、Microsoft Cloud 上の安全なコンテナー内で Excel によって使用される Python コードを実行します。
Python in Excel は Microsoft 365 接続エクスペリエンスに準拠しており、Python コードは組織のコンプライアンス境界内で実行されます。 コンプライアンスに準拠した 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 コードは、組み込みの xl() 関数を介し、Python 数式の一部として、参照経由でデータにアクセスできます。 これはつまり、Python 数式には、ブック内のセルの値をセル参照に基づいて読み取るか、Power Query 接続名を経由して外部データ ソースの値を読み取るアクセス権があることを意味します。
-
Python コードは、=PY() Excel 関数を使用してブックに出力を返します。これにより、関数が入力されたセルに Python コードの結果が表示されます。 Python 関数は、マクロ、VBA コード、その他の数式など、他のオブジェクト型を返すことはできません。
-
Python コードには、数式、グラフ、ピボットテーブル、マクロ、VBA コードなど、ブック内のその他のプロパティに対するアクセス権は付与されていません。
よく寄せられる質問
インターネットまたは信頼されていないソースからブックを開く際、Python in Excel は Excel と同じセキュリティ ポリシーに従います。
Python コードを含むブックをインターネットから開いた場合、Excel の保護ビューではそのブック内の Python 数式は実行されません。 Microsoft Defender Application Guard を使用してブックが開かれている場合、既定では Python の数式は実行されません。
さらに Python in Excel では、開いている別のブックから実行されている異なる Python コードとの潜在的な相互作用や干渉を防止しながら、ブック内の独自の専用ハイパーバイザーの分離コンテナー内にあるブックの Python 数式を常に実行します。
コンテナーとは、システムの残りの部分に影響を与えずにアプリケーションとサービスを実行できる、分離された安全な環境のことです。 コンテナーのセキュリティと信頼性を確保するために、更新プログラムとパッチが定期的に適用されます。
Python とライブラリは、データの安全性と数値の結果の一貫性を維持するために、次の方法で更新されます。
-
パッチは、コンテナーが実行されている基になるオペレーティング システムに適用されます。 これにより、データに影響を与える可能性のある脆弱性や悪用から、コンテナーが確実に保護されます。 これは自動的に行われ、ユーザーからの入力は必要ありません。
Python 環境の定期的な更新プログラムは、Python、および Anaconda によって提供されるライブラリとともにリリースされます。 これらのバージョンには最新のセキュリティ修正に加え、Python と Anaconda のコミュニティからの機能強化が含まれています。 これらのリリースは、ブログの投稿とドキュメントを通じて発表されます。 これはセットアップ不要で自動的に行われ、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 では、保存データの処理または保存を実行しません。 データの所有者はお客様です。 データが第三者と共有されたり、Copilot による AI トレーニングに使用されたりすることはありません。
いいえ。
はい。 コンプライアンスの詳細情報については、「Azure、Dynamics 365、およびMicrosoft 365 のコンプライアンス オファリング」を参照してください。
ユーザー コードは、ハイパーバイザー分離コンテナー内において、最低特権アカウントの下で実行されます。 ユーザー コードは、ディスクへの書き込みや、コンテナー内でのシェル コマンドの実行などのアクションを実行できます。 パフォーマンスと可用性を向上させるために、これらのコンテナーは事前に作成されます。
Python in Excel はコンテナー内で実行されるすべてのものに悪意があることを前提としており、コンテナーの入力と出力を厳密に制限しています。 ユーザーは、数式によって参照されるデータにのみアクセスできます。 返せるのは、値または画像のみです。 一度使用されたコンテナーは破棄されます。 複数のセッション間またはユーザー間でデータは保持されません。
Python in Excel は、ハイパーバイザーの分離、またはネットワーク境界を破ろうとしているものをブロックする権利を留保します。
その他の考慮事項
レジストリを更新して Python in Excel のセキュリティ警告を切り替える
次のコマンドは、Python in Exceln のセキュリティ警告設定を変更するための、レジストリの更新方法を示しています。 このコマンドを、Windows デバイス上で、管理者特権でのコマンド プロンプトから実行します。
-
このコマンドを使用すると、すべてのセキュリティ警告を無効にできます。 これは、Python in Excel の既定の設定です。reg add HKCU\software\policies\microsoft\office\16.0\excel\security /v PythonFunctionWarnings /t REG_DWORD /d 0 /f
-
このコマンドを使用すると、Python 数式を含むブックを開く際の、セキュリティ プロンプトを有効にできます。 これは、Excel のビジネス バーでセキュリティ警告通知を有効にします。reg add HKCU\software\policies\microsoft\office\16.0\excel\security /v PythonFunctionWarnings /t REG_DWORD /d 1 /f
-
開いているブックですべての 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 更新プログラム ガイド」を参照してください。