Azure ストレージ アカウントのベースラインの作成
Azure Storage アカウントは、Azure Storage データ オブジェクトを格納してアクセスできる、一意の名前空間を提供します。
Azure Storage アカウントのセキュリティの推奨事項
以降のセクションでは、CIS Microsoft Azure Foundations Security Benchmark v 3.0.0 に記載されている、Azure Storage の推奨事項について説明します。 各推奨事項には、Azure portal で実行するための基本的な手順が含まれています。 これらの手順は、独自のサブスクリプションに対して実行し、独自のリソースを使用して各セキュリティに関する推奨事項を検証する必要があります。 レベル 2 のオプションでは一部の機能やアクティビティが制限される可能性があるので、適用するセキュリティ オプションを慎重に検討してください。
セキュリティが強化された転送を要求する - レベル 1
これは、Azure Storage データのセキュリティを確保するために、クライアントと Azure Storage 間のデータを暗号化するための手順です。 最初の推奨事項は、常に HTTPS プロトコルを使用することです。 HTTPS を使用することで、パブリック インターネット経由の通信を確実にセキュリティで保護します。 REST API を呼び出してストレージ アカウント内のオブジェクトにアクセスするときに HTTPS の使用を強制するには、ストレージ アカウントの [安全な転送が必要] オプションをオンにします。 このコントロールを有効にすると、HTTP を使用する接続は拒否されます。 サブスクリプション内のストレージ アカウントごとに次の手順を実行します。
Azure portal にサインインします。 ストレージ アカウントを検索して選択します。
[ ストレージ アカウント ] ウィンドウで、ストレージ アカウントを選択します。
左側のメニューの [設定] で、[ 構成] を選択します。
[ 構成 ] ウィンドウで、[ 安全な転送が必要 ] が [有効] に設定されていることを確認します。
設定を変更する場合は、メニュー バーの [保存] を選択します。
バイナリ ラージ オブジェクト (BLOB) の暗号化を有効にする - レベル 1
Azure Blob Storage は、クラウド用の Microsoft オブジェクト ストレージ ソリューションです。 Blob Storage は大量の非構造化データを格納するために最適化されます。 非構造化データは、特定のデータ モデルまたは定義に従っていないデータです。 非構造化データの例には、テキストやバイナリ データがあります。 Storage Service Encryption では保存データが保護されます。 Azure Storage では、データセンターに書き込む際にデータが暗号化され、データにアクセスすると自動的に暗号化が解除されます。
Azure portal にサインインします。 ストレージ アカウントを検索して選択します。
[ ストレージ アカウント ] ウィンドウで、ストレージ アカウントを選択します。
左側のメニューの [ セキュリティとネットワーク] で、[ 暗号化] を選択します。
[ 暗号化 ] ウィンドウで、新規および既存のすべてのストレージ アカウントに対して Azure Storage 暗号化が有効になっており、無効にできないことに注意してください。
アクセス キーを定期的に再生成する - レベル 1
Azure でストレージ アカウントを作成すると、Azure は 512 ビットのストレージ アクセス キーを 2 つ生成します。 これらのキーは、ストレージ アカウントにアクセスするときに認証に使用されます。 これらのキーを定期的にローテーションすると、これらのキーに対する不注意なアクセスや露出が確実に減少します。 Azure サブスクリプションのストレージ アカウントごとに、次の手順を実行します。
Azure portal にサインインします。 ストレージ アカウントを検索して選択します。
[ ストレージ アカウント ] ウィンドウで、ストレージ アカウントを選択します。
左側のメニューで、[ セキュリティ + ネットワーク] を選択し、[ アクセス キー] を選択します。
各キーの 最後にローテーションされた 日付を確認します。
キーローテーションで Azure Key Vault を使用していない場合は、[ キーのローテーション ] ボタンを選択して、アクセス キーを手動でローテーションできます。
共有アクセス署名トークンが 1 時間以内に期限切れになるようにする - レベル 1
共有アクセス署名は、Azure Storage リソースへの制限付きアクセス権を付与する URI です。 ストレージ アカウント キーで信頼するべきではないが、特定のストレージ アカウント リソースへのアクセスを委任するクライアントに対して、Shared Access Signature を提供できます。 これらのクライアントに共有アクセス署名 URI を配布して、指定したアクセス許可セットで、指定した期間の間、リソースへのアクセスを許可できます。
注
CIS Microsoft Azure Foundations Security Benchmark v.3.0.0 における推奨事項では、Shared Access Signature トークンの有効期限を自動的に検証することはできません。 推奨事項では手動の検証が必要です。
共有アクセス署名トークンの共有を HTTPS 経由のみに限定する - レベル 1
共有アクセス署名トークンは、HTTPS プロトコル経由でのみ許可する必要があります。 Azure サブスクリプションのストレージ アカウントごとに、次の手順を実行します。
Azure portal にサインインします。 ストレージ アカウントを検索して選択します。
[ ストレージ アカウント ] ウィンドウで、ストレージ アカウントを選択します。
[ セキュリティ + ネットワーク] の下のメニューで、[ Shared Access Signature] を選択します。
[Shared Access Signature]\(共有アクセス署名\) ウィンドウの [開始日と有効期限の日付/時刻] で、[開始日] と [終了日] の日付と時刻を設定します。
[ 許可されているプロトコル] で、[ HTTPS のみ] を選択します。
設定を変更する場合は、画面の下部にある [SAS と接続文字列の生成 ] ボタンを選択します。
次のセクションで共有アクセス署名機能を構成します。
Azure Files 暗号化を有効にする - レベル 1
Azure Disk Encryption は、IaaS VM の OS とデータ ディスクを暗号化します。 クライアント側の暗号化とサーバー側の暗号化 (SSE) は、どちらも Azure Storage 内のデータの暗号化に使用されます。 Azure サブスクリプションのストレージ アカウントごとに、次の手順を実行します。
Azure portal にサインインします。 ストレージ アカウントを検索して選択します。
[ ストレージ アカウント ] ウィンドウで、ストレージ アカウントを選択します。
左側のメニューの [ セキュリティとネットワーク] で、[ 暗号化] を選択します。
[ 暗号化 ] ウィンドウで、新規および既存のすべての BLOB ストレージとファイル ストレージに対して Azure Storage 暗号化が有効になっており、無効にできないことに注意してください。
BLOB コンテナーへはプライベート アクセスのみに限定する - レベル 1
Azure Blob Storage 内のコンテナーとその BLOB に対する匿名のパブリック読み取りアクセスを有効にすることができます。 匿名のパブリック読み取りアクセスを有効にすると、アカウント キーを共有せず、Shared Access Signature を必要とせずに、これらのリソースに対する読み取り専用のアクセスを許可できます。 既定では、コンテナーとその中のすべての BLOB には、適切なアクセス許可を与えられたユーザーのみがアクセスできます。 匿名ユーザーにコンテナーとその BLOB に対する読み取りアクセスを許可するには、コンテナーのアクセス レベルを "パブリック" に設定できます。
ただし、コンテナーへのパブリック アクセスを許可すると、匿名ユーザーは、"要求が認可されていなくても"、パブリック アクセスできるコンテナー内の BLOB を読み取ることができます。 代わりに、ストレージ コンテナーへのアクセスを "プライベート" に設定することがセキュリティの推奨事項です。 Azure サブスクリプションのストレージ アカウントごとに、次の手順を実行します。
Azure portal にサインインします。 ストレージ アカウントを検索して選択します。
[ ストレージ アカウント ] ウィンドウで、ストレージ アカウントを選択します。
左側のメニューの [ データ ストレージ] で、[コンテナー] を選択 します。
[ コンテナー ] ウィンドウで、 パブリック アクセス レベル が [プライベート] に設定されていることを確認します。