Azure ストレージ アカウントのベースラインの作成

完了

Azure Storage アカウントは、Azure Storage データ オブジェクトを格納してアクセスできる、一意の名前空間を提供します。

Azure Storage アカウントのセキュリティの推奨事項

以降のセクションでは、CIS Microsoft Azure Foundations Security Benchmark v. 1.3.0 に含まれる Azure Storage の推奨事項について説明します。 各推奨事項には、Azure portal で実行するための基本的な手順が含まれています。 これらの手順は、独自のサブスクリプションに対して実行し、独自のリソースを使用して各セキュリティに関する推奨事項を検証する必要があります。 レベル 2 オプションを使用すると、一部の機能またはアクティビティが制限される可能性があることに注意してください。そのため、どのセキュリティ オプションを適用するかを慎重に検討してください。

セキュリティが強化された転送を要求する - レベル 1

Azure Storage データのセキュリティを確保するために推奨される手順は、クライアントと Azure Storage 間のデータを暗号化することです。 最初の推奨事項は、常に HTTPS プロトコルを使用することです。 HTTPS を使用することで、パブリック インターネット経由の通信を確実にセキュリティで保護します。 REST API を呼び出してストレージ アカウント内のオブジェクトにアクセスする際に HTTPS の使用を強制するには、そのストレージ アカウントの [安全な転送が必須] オプションを有効にします。 このコントロールを有効にすると、HTTP を使用する接続は拒否されます。 サブスクリプション内のストレージ アカウントごとに次の手順を実行します。

  1. Azure portal にサインインします。 「ストレージ アカウント」を検索して選択します。

  2. [ストレージ アカウント] ペインで、ストレージ アカウントを選択します。

  3. 左側のメニューの [設定][構成] を選択します。

  4. [構成] ペインで、[安全な転送が必須][有効] に設定されていることを確認します。

  5. 設定を変更する場合は、メニュー バーで [保存] を選択します。

Screenshot that shows the secure transfer storage setting in the Azure portal.

バイナリ ラージ オブジェクト (BLOB) の暗号化を有効にする - レベル 1

Azure Blob Storage は、クラウド用の Microsoft オブジェクト ストレージ ソリューションです。 Blob Storage は大量の非構造化データを格納するために最適化されます。 非構造化データは、特定のデータ モデルまたは定義に従っていないデータです。 非構造化データの例には、テキストやバイナリ データがあります。 Storage Service Encryption では保存データが保護されます。 Azure Storage では、データセンターに書き込む際にデータが暗号化され、データにアクセスすると自動的に暗号化が解除されます。

  1. Azure portal にサインインします。 「ストレージ アカウント」を検索して選択します。

  2. [ストレージ アカウント] ペインで、ストレージ アカウントを選択します。

  3. 左側のメニューの [セキュリティとネットワーク] で、[暗号化] を選択します。

  4. [暗号化] ペインで、Azure Storage 暗号化は、新規と既存のすべてのストレージ アカウントに対して有効になっており、無効にすることはできないことを確認します。

Screenshot that shows secure storage encryption is automatically enabled.

アクセス キーを定期的に再生成する - レベル 1

Azure でストレージ アカウントを作成すると、Azure は 512 ビットのストレージ アクセス キーを 2 つ生成します。 これらのキーは、ストレージ アカウントにアクセスするときに認証に使用されます。 これらのキーを定期的にローテーションすると、これらのキーに対する不注意なアクセスや露出が確実に減少します。 Azure サブスクリプションのストレージ アカウントごとに、次の手順を実行します。

  1. Azure portal にサインインします。 「ストレージ アカウント」を検索して選択します。

  2. [ストレージ アカウント] ペインで、ストレージ アカウントを選択します。

  3. 左側のメニューで、[アクティビティ ログ] を選択します。

  4. [アクティビティ ログ][期間] ドロップダウンで、[カスタマイズする] を選択します。 [開始時刻][終了時刻] を選択して、90 日以下の範囲を作成します。

  5. [適用] を選択します。

    Screenshot that shows the storage account timespan setting.

    Azure Key Vault でキー ローテーションを使用していない場合に、特定のストレージ アカウントのストレージ アクセス キーを再生成するには、サブスクリプションの情報を使用して次のコマンドを実行します。

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/regenerateKey?api-version=2019-04-01
    
  6. 設定を変更する場合は、メニュー バーで [保存] を選択します。

共有アクセス署名トークンが 1 時間以内に期限切れになるようにする - レベル 1

共有アクセス署名は、Azure Storage リソースへの制限付きアクセス権を付与する URI です。 ストレージ アカウント キーでは信頼しないが、特定のストレージ アカウント リソースへのアクセスを委任するクライアントに、共有アクセス署名を提供できます。 これらのクライアントに共有アクセス署名 URI を配布して、指定したアクセス許可セットで、指定した期間の間、リソースへのアクセスを許可できます。

注意

CIS Microsoft Azure Foundations Security Benchmark v. 1.3.0 の推奨事項では、共有アクセス署名トークンの有効期限を自動的に検証することはできません。 推奨事項では手動の検証が必要です。

共有アクセス署名トークンの共有を HTTPS 経由のみに限定する - レベル 1

共有アクセス署名トークンは、HTTPS プロトコル経由でのみ許可する必要があります。 Azure サブスクリプションのストレージ アカウントごとに、次の手順を実行します。

  1. Azure portal にサインインします。 「ストレージ アカウント」を検索して選択します。

  2. [ストレージ アカウント] ペインで、ストレージ アカウントを選択します。

  3. メニューの [セキュリティとネットワーク] で、[共有アクセス署名] を選択します。

  4. [共有アクセス署名] ペインの [開始日時と終了日時] で、[開始][終了] の日付と時刻を設定します。

  5. [許可されるプロトコル] で、[HTTPS のみ] を選択します。

  6. 設定を変更する場合は、メニュー バーで [SAS と接続文字列の生成] を選択します。

Screenshot of a shared access signature in a storage account settings and H T T P S only protocol allowed.

次のセクションで共有アクセス署名機能を構成します。

Azure Files 暗号化を有効にする - レベル 1

Azure Disk Encryption は、IaaS VM の OS とデータ ディスクを暗号化します。 クライアント側の暗号化とサーバー側の暗号化 (SSE) は、どちらも Azure Storage 内のデータの暗号化に使用されます。 Azure サブスクリプションのストレージ アカウントごとに、次の手順を実行します。

  1. Azure portal にサインインします。 「ストレージ アカウント」を検索して選択します。

  2. [ストレージ アカウント] ペインで、ストレージ アカウントを選択します。

  3. 左側のメニューの [セキュリティとネットワーク] で、[暗号化] を選択します。

  4. [暗号化] ペインで、新規と既存のすべての "BLOB ストレージとファイル ストレージ" に対して Azure Storage 暗号化が有効になっており、無効にできないことを確認します。

Screenshot that shows encryption is automatically enabled for all blobs and files in storage accounts.

BLOB コンテナーへはプライベート アクセスのみに限定する - レベル 1

Azure Blob Storage のコンテナーとその BLOB に対する匿名のパブリック読み取りアクセスを有効にすることができます。 匿名の公開読み取りアクセスを有効にすると、アカウント キーを共有せず、共有アクセス署名も必要とせずに、これらのリソースに対する読み取り専用のアクセスを付与できます。 既定では、コンテナーとその中のすべての BLOB には、適切なアクセス許可を与えられたユーザーのみがアクセスできます。 匿名ユーザーにコンテナーとその BLOB に対する読み取りアクセスを許可するには、コンテナーのアクセス レベルを "パブリック" に設定できます。

ただし、コンテナーへのパブリック アクセスを許可すると、匿名ユーザーは、"要求が認可されていなくても"、パブリック アクセスできるコンテナー内の BLOB を読み取ることができます。 代わりに、ストレージ コンテナーへのアクセスを "プライベート" に設定することがセキュリティの推奨事項です。 Azure サブスクリプションのストレージ アカウントごとに、次の手順を実行します。

  1. Azure portal にサインインします。 「ストレージ アカウント」を検索して選択します。

  2. [ストレージ アカウント] ペインで、ストレージ アカウントを選択します。

  3. 左側のメニューの [データ ストレージ] で、[コンテナー] を選択します。

  4. [コンテナ―] ペインで、[パブリック アクセス レベル][プライベート] に設定されていることを確認します。

  5. 設定を変更する場合は、メニュー バーで [保存] を選択します。

Screenshot that shows a storage container with access level set to private.