次の方法で共有


ゼロ トラスト原則を Azure ストレージに適用する

Note

今後の Livestream この記事についてディスカッションを行いますので、Azure FastTrack チームにご参加ください。 2024 年 10 月 23 日 | 午前 10:00 - 午前 11:00 (UTC-07:00) アメリカ太平洋時間 (米国、カナダ) こちらからご登録ください

概要: Azure Storage にゼロ トラストの原則を適用するには、(保存時、転送時、使用時に) データを保護し、ユーザーを検証してアクセスを制御し、ネットワーク制御を使用して重要なデータを分離または隔離し、自動化された脅威の検出と保護のために Defender for Storage を使用する必要があります。

この記事では、ゼロ トラストの原則を Azure ストレージに適用するステップについて説明します。

ゼロ トラストの標準 定義 以下により適合
明示的に検証する 常に利用可能なすべてのデータポイントに基づいて認証および承認してください。 ユーザーの資格情報とアクセスを確認します。
最小限の特権アクセスを使用する ジャスト・イン・タイムおよびジャスト・エナフ・アクセス(JIT/JEA)、リスクベースのアダプティブ・ポリシー、データ保護により、ユーザー・アクセスを制限します。 最小限の特権でストレージ データへのアクセスを制御します。
侵害を前提とする 影響範囲を最小限に抑えるために、アクセスをセグメント化します。 エンドツーエンドの暗号化を検証し、分析を使用して可視性を得て、脅威検出を促進し、防御を強化します。 保存中のデータ、転送中のデータ、および使用中のデータを保護します。 重要なデータをネットワーク制御で分離します。 Defender for Storage を使用して、脅威の検出と保護を自動化します。

この記事は、IaaS ワークロードをサポートする Azure ストレージ サービスを含む Azure 環境全体にゼロ トラストの原則を適用する方法を示す一連の記事の一部です。 概要については、「Azure インフラストラクチャにゼロ トラスト原則を適用する」を参照してください。

Azure のストレージ アーキテクチャ

Azure ストレージのゼロ トラスト原則は、テナントレベルとディレクトリ レベルからデータ層のストレージ コンテナーまで、アーキテクチャ全体に適用します。

次の図は、論理アーキテクチャのコンポーネントを示しています。

Microsoft Entra ID テナント内のサブスクリプション、リソース グループ、ストレージ アカウントを表す Azure Storage にゼロ トラストを適用するための論理アーキテクチャの図。

図の説明:

  • 参照アーキテクチャのストレージ アカウントは、専用リソース グループに含まれています。 より詳細なロールベースのアクセス制御 (RBAC) のために、各ストレージ アカウントを異なるリソース グループに分離できます。 RBAC アクセス許可を割り当てて、リソース グループまたはリソース グループ レベルでストレージ アカウントを管理し、Microsoft Entra ID ログと Privileged Identity Management (PIM) などのツールを使用してこれらを監査できます。 1 つの Azure サブスクリプションで複数の対応するストレージ アカウントを持つ複数のアプリケーションまたはワークロードを実行している場合は、各ストレージ アカウントの RBAC アクセス許可を、対応する所有者、データ カストディアン、コントローラーなどに制限することが重要です。
  • この図の Azure ストレージ サービスは、専用ストレージ アカウント内に含まれています。 ストレージ ワークロードの種類ごとに 1 つのストレージ アカウントを持つことができます。
  • 参照アーキテクチャの詳細については、「Azure IaaS にゼロ トラスト原則を適用する」の概要を参照してください。

この図には、Azure キューと Azure テーブルは含まれません。 これらのリソースをセキュリティで保護するには、この記事と同じガイダンスを使用します。

この記事の内容は?

この記事では、ゼロ トラストの原則を参照アーキテクチャ全体に適用するステップについて説明します。

ステップ タスク 適用されるゼロトラストの原則
1 保存データ、転送中のデータ、使用中のデータの 3 つのモードすべてでデータを保護します。 侵害を前提とする
2 ユーザーを確認し、最小限の特権でストレージ データへのアクセスを制御します。 明示的に検証する
最小限の特権アクセスを使用する
3 ネットワーク制御を使用して、重要なデータを論理的に分離または分離します。 侵害を前提とする
4 Defender for Storage を使用して、脅威の検出と保護を自動化します。 侵害を前提とする

ステップ 1:保存データ、転送中のデータ、使用中のデータの 3 つのモードすべてでデータを保護する

ストレージ アカウントを作成するときに、保存中、転送中、使用中のデータを保護するためのほとんどの設定を構成します。 これらの保護を構成するには、次の推奨事項を使用します。 また、各 Azure サービスのセキュリティ ベースラインの概要を示す Microsoft クラウド セキュリティ ベンチマークに対して、Microsoft Defender for Cloud でストレージ アカウントを自動的に評価できるようにすることも検討してください。

これらのストレージ セキュリティ制御の詳細については、こちらを参照してください。

転送中に暗号化を使用する

Azure とクライアントの間で "トランスポートレベルのセキュリティ" を有効にすることで、データのセキュリティ保護を維持します。 パブリック インターネット経由の通信をセキュリティで保護するには、常に HTTPS を使用します。 REST API を呼び出してストレージ アカウント内のオブジェクトにアクセスするときは、ストレージ アカウントに対して安全な転送を要求することにより、HTTPS の使用を強制できます。 安全でない接続から送信された要求はすべて拒否されます。

この構成は、新しい Azure ストレージ アカウントをデプロイするときに既定で有効になります (既定でセキュリティで保護されます)。

Azure ストレージ (Secure by Design) の安全でない接続のデプロイを拒否するポリシーを適用することを検討してください。

この構成には、暗号化を使用した S MB (メガバイト) 3.0 も必要です。

匿名パブリック読み取りアクセスを防ぐ

既定では、パブリック BLOB アクセスは禁止されていますが、適切なアクセス許可を持つユーザーはアクセス可能なリソースを構成できます。 匿名アクセスによるデータ侵害を防ぐには、データにアクセスできるユーザーを指定する必要があります。 ストレージ アカウント レベルでこれを防ぐと、ユーザーはコンテナーまたは BLOB レベルでこのアクセスを有効にできなくなります。

詳細については、「コンテナーと BLOB への匿名パブリック読み取りアクセスを防ぐ」を参照してください。

共有キー認証を防ぐ

この構成により、ストレージ アカウントは共有キーで行われたすべての要求を拒否し、代わりに Microsoft Entra 承認を必要とします。 Microsoft Entra ID は、リスクベースのアクセス メカニズムを使用してデータ層へのアクセスを強化できるため、より安全な選択肢です。 詳細については、Azure ストレージ アカウントの共有キーによる認可の禁止に関するページを参照してください。

次に示すように、ストレージ アカウントの構成設定から 3 つのモードすべてに対してデータ保護を構成します。

ストレージ アカウントの 3 つのモードすべてに対するデータ保護の構成の様子を表すスクリーンショット。

これらの設定は、ストレージ アカウントの作成後に変更することはできません。

トランスポート層セキュリティ (TLS) の最低限必要なバージョンを適用する

Azure ストレージで現在サポートされている最も高いバージョンは TLS 1.2 です。 TLS の最小バージョンを適用すると、古いバージョンを使用するクライアントからの要求が拒否されます。 詳細については、「ストレージ アカウントへの要求に最低限必要なバージョンの TLS を強制する」を参照してください。

コピー操作のスコープを定義する

コピー操作のスコープを定義して、コピー操作を、同じ Microsoft Entra テナント内にあるソース ストレージ アカウントまたは宛先ストレージ アカウントと同じバーチャルネットワーク (VNet) への Private Linkを持つソース ストレージ アカウントからの操作のみに制限します。

プライベート エンドポイントを使用してコピー操作をソース ストレージ アカウントに制限することは最も制限の厳しいオプションであり、ソース ストレージ アカウントでプライベート エンドポイントが有効になっている必要があります。

次に示すように、ストレージ アカウントの構成設定からコピー操作のスコープを構成します。

ストレージ アカウントのコピー操作のスコープの定義の様子を表すスクリーンショット。

保存時の暗号化がどのように機能するかを説明する

Azure ストレージに書き込まれるすべてのデータは、Storage Service Encryption (SSE)によって 256 ビットの Advanced Encryption Standard (AES) 暗号で自動的に暗号化されます。 SSE では、Azure ストレージ への書き込み時にデータが自動的に暗号化されます。 Azure ストレージからデータを読み取るときは、Azure ストレージによって復号化されたデータが返されます。 このプロセスにより追加料金は発生せず、パフォーマンスが低下することもありません。 顧客管理キー (CMK) を使用すると、キー暗号化キーのローテーションを制御したり、データを暗号的に消去したりするための追加機能が提供されます。

次に示すように、ストレージ アカウントの 作成時に [暗号化] ブレードから CMK を有効にします。

ストレージ アカウントに対する CMK の有効化の様子を表すスクリーンショット。

また、インフラストラクチャ暗号化を有効にすることもできます。これは、サービス レベルとインフラストラクチャ レベルの両方で二重暗号化を提供します。 この設定は、ストレージ アカウントの作成後に変更することはできません。

Note

ストレージ アカウントの暗号化にカスタマー マネージド キーを利用するには、アカウントの作成時にそれを有効にする必要があります。また、Key Vault とマネージド ID に適切なアクセス許可が既にプロビジョニングされている必要があります。 256 ビットの AES 暗号化は、Azure ストレージ インフラストラクチャ レベルで任意に有効化することもできます。

ステップ 2:ユーザーを確認し、最小限の特権でストレージ データへのアクセスを制御する

まず、Microsoft Entra ID を使用して、ストレージ アカウントへのアクセスを管理します。 ストレージ アカウントでロールベースのアクセス制御を使用すると、OAuth 2.0 を使用してアクセス ベースのジョブ機能を詳細に定義できます。 条件付きアクセス ポリシーへのきめ細かいアクセスを調整できます。

ストレージ アカウントのロールは、管理レベルまたはデータ レベルで割り当てる必要があることに注意してください。 したがって、認証と承認の方法として Microsoft Entra ID を使用している場合は、ユーザーにロールの適切な組み合わせを割り当てて、ジョブ機能を完了するために必要な最小限の特権を付与する必要があります。

詳細なアクセスのためのストレージ アカウント ロールの一覧については、ストレージのAzure 組み込みロールに関するページを参照してください。 RBAC の割り当ては、ストレージ アカウントの [アクセス制御] オプションを使用して行われ、さまざまなスコープで割り当てることができます。

次に示すように、ストレージ アカウントの アクセス制御 (IAM) 設定からアクセス制御を構成します。

ストレージ アカウントに対するアクセスの制御の構成の様子を表すスクリーンショット。

ユーザー、グループ、サービス プリンシパル、またはマネージド ID のアクセス レベルをチェックし、ロールの割り当てを追加できます。

期限付きのアクセス許可を提供するもう 1 つの方法は、Shared Access Signature (SAS) を使用することです。 SASを大まかに使用する場合のベスト プラクティス を次に示します。

  • 常に HTTPS を使用します。 Azure ランディング ゾーンに推奨される Azure ポリシーをデプロイした場合は、HTTPS 経由の安全な転送が監査されます。
  • 失効計画を立てる。
  • SAS 有効期限ポリシーを構成します。
  • アクセス許可を検証します。
  • 可能な限り、ユーザー委任 SAS を使用してください。 この SAS は、Microsoft Entra ID 資格情報で署名されます。

ステップ 3:ネットワーク制御を使用して重要なデータを論理的に分離または分離する

このステップでは、推奨されるコントロールを使用して、Azure ストレージ サービスとの間のネットワーク接続を保護します。

次の図は、参照アーキテクチャの Azure ストレージ サービスへのネットワーク接続を示しています。

Azure IaaS 参照アーキテクチャ内の Azure Storage サービスへのネットワーク接続が強調された、Azure Storage にゼロ トラストを適用するための参照アーキテクチャの図。

タスク 説明
パブリック アクセスを防止し、プライベート エンドポイントと Private Link を使用してネットワークのセグメント化を作成します。 プライベート エンドポイントを使用すると、Azure Private Link を使用して、VNet 上の 1 つのプライベート IP アドレスを使用してサービスに接続できます。
  • プライベート エンドポイントを有効にすると、Azure プラットフォームはネットワーク接続を検証し、プライベート リンク リソースへの明示的なアクセス権を持つ接続のみが許可され、後続のリソースにアクセスできるようになります。
  • Azure ストレージアカウント上のサービスごとに個別のプライベート エンドポイントが必要です。
  • Azure Private Link を使用する Azure Private Link を使用して、VNet 内のプライベート エンドポイント経由で Azure ストレージにアクセスします。 承認ワークフローを使用して、必要に応じて自動的に承認または手動で要求します。
    サービス エンドポイントを使用してデータ ソースへのパブリック アクセスを禁止する VNet 内のプライベート IP アドレスがパブリック IP アドレスを使用せずにエンドポイントに到達できるようにすることで、サービス エンドポイントを使用してネットワークのセグメント化を行うことができます。

    次に示すように、ストレージ アカウントの ネットワーク 設定からプライベート エンドポイントを構成します。

    ストレージ アカウントに対するプライベート エンドポイントの構成の様子を表すスクリーンショット。

    ステップ 4:Defender for Storage を使用して脅威の検出と保護を自動化する

    Microsoft Defender for Storage は、ストレージ サービスを悪用する異常で潜在的に有害な試みを検出する追加レベルのインテリジェンスを提供します。 Microsoft Defender for Storage は、Microsoft Defender for Cloud に組み込まれています。

    Defender for Storage は、次のような異常なアクセス パターン アラートを検出します。

    • 通常と異なる場所からのアクセス
    • アプリケーションの異常
    • 匿名アクセス
    • 異常な抽出/アップロードのアラート
    • データ流出
    • 予期しない削除
    • Upload Azure Cloud Service package (Azure クラウド サービス パッケージのアップロード)
    • 疑わしいストレージ アクティビティのアラート
    • アクセス許可の変更
    • アクセスの検査
    • データ探索

    参照アーキテクチャ全体の脅威保護の詳細については、「Azure IaaS にゼロ トラスト原則を適用する」の概要を参照してください。

    有効にすると、Defender for Storage によって、Azure ストレージ アカウントのセキュリティ体制を改善するためのセキュリティ アラートと推奨事項が通知されます。

    アラートと防止の対策の説明が強調表示されているストレージ アカウントのセキュリティ アラートの例を次に示します。

    ストレージ アカウントのセキュリティ アラートの例のスクリーンショット。

    テクニカルイラスト

    これらの図は、これらの記事の参照図のレプリカです。 独自の組織と顧客向けにこれらをダウンロードしてカスタマイズします。 Contoso のロゴを独自のロゴに置き換えます。

    アイテム 説明
    サムネイル画像 1Visio のダウンロード
    更新日: 2024 年 10 月
    Azure IaaS にゼロ トラスト原則を適用する
    次の記事で次の図を使用します。
    - 概要
    - Azure Storage
    - 仮想マシン
    - Azure スポーク仮想ネットワーク
    - Azure ハブ仮想ネットワーク
    サムネイル画像 2Visio のダウンロード
    更新日: 2024 年 10 月
    Azure IaaS にゼロ トラスト原則を適用する - 1 ページのポスター
    ゼロ トラストの原則を Azure IaaS 環境に適用するプロセスの 1 ページの概要。

    その他の技術的な図については、IT アーキテクトと実装者向けのゼロ トラストの図を参照してください

    ストレージ セキュリティを構成する

    トレーニング ストレージ セキュリティを構成する
    ストレージ アクセス署名などの一般的な Azure ストレージ セキュリティ機能を構成する方法を学習します。
    このモジュールでは、次の方法を学習します。
  • Uniform Resource Identifier (URI) や SAS パラメーターなど、Shared Access Signature (SAS) を構成します。
  • Azure ストレージの暗号化を構成します。
  • カスタマー マネージド キーを実装する。
  • Azure ストレージ セキュリティを向上させる機会を推奨します。
  • Azure のセキュリティに関する詳細なトレーニングについては、Microsoft カタログの以下のリソースを参照してください:
    Azure のセキュリティ | Microsoftの学習

    次のステップ

    azure にゼロ トラスト標準を適用する場合は、次の追加の記事を参照してください。

    リファレンス

    この記事で紹介するさまざまなサービスやテクノロジについては、以下のリンクを参照してください。