この記事には、BLOB ストレージのセキュリティに関する推奨事項が含まれています。 これらの推奨事項を実装すると、共有責任モデルで説明されているように、セキュリティ上の義務を果たすのに役立ちます。 サービス プロバイダーとしての責任を果たすための Microsoft の取り組みの詳細については、「クラウドにおける共同責任」を参照してください。
Microsoft Defender for Cloudでは、この記事の推奨事項の一部を自動的に監視できます。 これは、Azureでリソースを保護するための最初の防御線です。 Microsoft Defender for Cloud の詳細については、「Microsoft Defender for Cloud とは」を参照してください。
Microsoft Defender for Cloud では、Azure リソースのセキュリティ状態を定期的に分析し、潜在的なセキュリティ脆弱性を特定します。 その後、それらに対処する方法の推奨事項を提供します。 Microsoft Defender for Cloud の推奨事項について詳しくは、「セキュリティの推奨事項を確認する」を参照してください。
データ保護
| 推奨 |
コメント |
Defender for Cloud |
| Azure Resource Manager デプロイ モデルを使用する |
重要なセキュリティ強化を実現するために、Azure Resource Manager デプロイ モデルを使用して新しいストレージ アカウントを作成します。これには、強化された Azure ロールベースのアクセス制御 (Azure RBAC) と監査、Resource Manager ベースのデプロイとガバナンス、マネージド ID へのアクセス、シークレット向けの Azure Key Vault へのアクセス、さらに Azure Storage のデータとリソースにアクセスするための Microsoft Entra による認証と認可が含まれます。 クラシック デプロイ モデルを使用するすべての既存のストレージ アカウントを、Azure Resource Manager を使用するように移行します。 Azure Resource Manager の詳細については、「Azure Resource Manager の概要」を参照してください。 |
- |
| すべてのストレージ アカウントに Microsoft Defender を有効にする |
Microsoft Defender for Storage では、ストレージ アカウントにアクセスし、悪用しようとする不審な (有害の可能性がある) 行為を検出するインテリジェンスでセキュリティ層を厚くします。 不審な行為が見られると、Microsoft Defender for Cloud でセキュリティ アラートがトリガーされます。さらに、そのアラートは、不審な行為の詳細と、脅威の調査や解決の方法に関する推奨事項と共に、サブスクリプション管理者にメールで送信されます。 詳細については、「Microsoft Defender for Storage を構成する」を参照してください。 |
はい |
| blob のソフト削除を有効にする |
BLOB のソフト削除を使用すると、削除された後でも BLOB データを復旧できます。 BLOB の論理的な削除の詳細については、Azure Storage BLOB の論理的な削除に関するページを参照してください。 |
- |
| コンテナーのソフト削除を有効にする |
コンテナーの論理的な削除を使用すると、削除後にコンテナーを回復できます。 コンテナーの論理的な削除の詳細については、「コンテナーの論理的な削除」を参照してください。 |
- |
| 誤ったまたは悪意のある削除や構成変更を防ぐために、ストレージ アカウントをロックする |
Azure Resource Manager ロックをストレージ アカウントに適用して、アカウントを誤ったまたは悪意のある削除や構成変更から保護します。 ストレージ アカウントをロックしても、そのアカウント内のデータが削除されるのを防ぐことはありません。 そのアカウント自体が削除されなくなるだけです。 詳細については、「Azure Resource Manager のロックをストレージ アカウントに適用する」を参照してください。 |
|
| ビジネスに不可欠なデータを不変 BLOB に保存する |
blob データを WORM (Write Once, Read Many) 状態で保存するために、訴訟ホールドと時間ベースの保持ポリシーを設定します。 不変に格納された BLOB は読み取ることができますが、保持期間の間は変更または削除できません。 詳細については、「不変ストレージを使用してビジネスに不可欠な BLOB データを保存する」を参照してください。 |
- |
| 暗号化を使用してデータを保護する |
Azure Storage では、Microsoft マネージド キーを使用して、保存されているすべてのデータが既定で暗号化されます。 制御を強化するには、Azure Key Vault を使用して カスタマー マネージド キー を構成し、暗号化キーを直接管理します。 セキュリティをさらに強化するには、データをアップロードする前に クライアント側の暗号化 を実装します。 |
- |
| ストレージ アカウントへの安全な転送 (HTTPS) を必須とする |
ストレージ アカウントに対して安全な転送が必要な場合は、ストレージ アカウントへの要求をすべて HTTPS 経由で行う必要があります。 HTTP 経由で行われた要求はすべて拒否されます。 Microsoft では、すべてのストレージ アカウントに対して常に、セキュリティで保護された転送を要求することをお勧めしています。 詳細については、「セキュリティで保護された接続を確保するために安全な転送を要求する」を参照してください。 |
- |
| Shared Access Signature (SAS) トークンを HTTPS 接続のみに制限する |
クライアントが SAS トークンを使用して BLOB データにアクセスするときに HTTPS を要求することで、盗聴のリスクを最小限に抑えることができます。 詳細については、「Shared Access Signatures (SAS) を使用して Azure Storage リソースへの制限付きアクセスを許可する」を参照してください。 |
- |
| テナント間オブジェクト レプリケーションを禁止する |
既定では、承認されたユーザーは、ソース アカウントが 1 つのMicrosoft Entra テナントにあり、移行先アカウントが別のテナントにあるオブジェクト レプリケーション ポリシーを構成できます。 テナント間オブジェクト レプリケーションを禁止すると、オブジェクト レプリケーション ポリシーが適用されるソース アカウントとコピー先アカウントが同じテナント内に存在することが必須になります。 詳細については、「Azure Active Microsoft Entra テナント間でのオブジェクト レプリケーションを禁止する」を参照してください。 |
- |
ID 管理とアクセス管理
| 推奨 |
コメント |
Defender for Cloud |
| Microsoft Entra ID を使用して BLOB データへのアクセスを承認する |
Microsoft Entra ID では、BLOB ストレージへの要求を承認するために、共有キーによる優れたセキュリティと使いやすさが実現されます。 詳細については、「Azure Storage でデータへのアクセスを承認する」を参照してください。 |
- |
| Azure RBAC を使用して Microsoft Entra セキュリティ プリンシパルにアクセス許可を割り当てる場合は、最小限の特権の原則を念頭に置く |
ユーザー、グループ、またはアプリケーションにロールを割り当てる場合は、そのセキュリティ プリンシパルに対して、それぞれのタスクを実行するために必要なアクセス許可のみを付与します。 リソースへのアクセスを制限することで、意図しない、または悪意のあるデータの誤用を防ぐことができます。 |
- |
| ユーザー委任 SAS を使用して、クライアントによる BLOB データへのアクセスを制限する |
ユーザー委任 SAS は、Microsoft Entra 資格情報と、SAS に指定されたアクセス許可によっても保護されます。 ユーザー委任 SAS は、スコープと機能についてはサービス SAS に似ていますが、セキュリティの点では、サービス SAS よりも優れています。 詳細については、「Shared Access Signatures (SAS) を使用して Azure Storage リソースへの制限付きアクセスを許可する」を参照してください。 |
- |
| Azure Key Vault を使用してアカウント アクセス キーをセキュリティで保護する |
Azure Storage への要求を承認するには、Microsoft Entra ID を使用することをお勧めします。 ただし、共有キーの承認を使用する必要がある場合は、Azure Key Vaultを使用してアカウント キーをセキュリティで保護します。 キーは、アプリケーションと共に保存するのではなく、実行時に Key Vault から取得できます。 Azure Key Vault の詳細については、Key Vault の概要ページを参照してください。 |
- |
| アカウント キーを定期的に再生成する |
アカウント キーを定期的に交換することで、悪意のあるアクターにデータが公開されるリスクが軽減されます。 |
- |
| 共有キーによる認可を禁止する |
ストレージ アカウントの共有キーによる承認を禁止すると、それ以降、そのアカウントに対するアカウント アクセスキーによる承認の要求はすべて、Azure Storage によって拒否されます。 Microsoft Entra ID で認可された、セキュリティで保護された要求のみが成功します。 詳細については、Azure ストレージ アカウントの共有キーによる認可の禁止に関するページを参照してください。 |
- |
| SAS にアクセス許可を割り当てる場合は、最小限の特権の原則を念頭に置く |
SAS を作成する場合は、クライアントに対して、その機能を実行するために必要なアクセス許可のみを指定します。 リソースへのアクセスを制限することで、意図しない、または悪意のあるデータの誤用を防ぐことができます。 |
- |
| クライアントに発行するすべての SAS に対して失効計画を立てておく |
SAS が侵害された場合は、できるだけ早くその SAS を取り消します。 ユーザーの委任 SAS を失効させるには、ユーザーの委任キーを失効させて、そのキーに関連付けられているすべての署名をただちに無効にします。 保存されているアクセス ポリシーに関連付けられているサービス SAS を失効させるには、保存されているアクセス ポリシーを削除するか、ポリシーの名前を変更するか、または有効期限を過去の時間に変更します。 詳細については、「Shared Access Signatures (SAS) を使用して Azure Storage リソースへの制限付きアクセスを許可する」を参照してください。 |
- |
| サービス SAS が保存されているアクセス ポリシーに関連付けられていない場合は、有効期限を 1 時間以下に設定します |
保存されているアクセス ポリシーに関連付けられていないサービス SAS は取り消すことはできません。 このため、SAS が 1 時間以内に有効になるように有効期限を制限します。 |
- |
| コンテナーと BLOB への匿名読み取りアクセスを無効にする |
コンテナーとその BLOB への匿名読み取りアクセスは、任意のクライアントにそれらのリソースへの読み取り専用アクセスを許可します。 シナリオで必要な場合を除いて、匿名読み取りアクセスを有効にしないでください。 ストレージ アカウントの匿名アクセスを無効にする方法については、「概要: BLOB データに対する匿名読み取りアクセスの修復」を参照してください。 |
- |
ネットワーク
| 推奨 |
コメント |
Defender for Cloud |
| ストレージ アカウントに必要な最小バージョンのトランスポート層セキュリティ (TLS) を構成します。 |
Azure Storage アカウントに対して TLS の最小バージョンを構成することによって、クライアントで、より安全なバージョンの TLS を使用してそのアカウントに対して要求を行うことを義務付けます。 詳細については、ストレージ アカウントに必要な最小バージョンのトランスポート層セキュリティ (TLS) を構成する方法に関する記事を参照してください |
- |
| すべてのストレージ アカウントで [安全な転送が必須] オプションを有効にする |
[安全な転送が必須] オプションを有効にすると、ストレージ アカウントに対して行われるすべての要求が、セキュリティで保護された接続を経由して実行される必要があります。 HTTP 経由で行われた要求はすべて失敗します。 詳細については、「Azure Storage で安全な転送が必要」を参照してください。 |
はい |
| ファイアウォール規則を有効にする |
ストレージ アカウントへのアクセスを、Azure 仮想ネットワーク (VNet) 内の指定した IP アドレス、IP 範囲、またはサブネットのリストから発信された要求に制限するように、ファイアウォール規則を構成します。 ファイアウォール規則の構成の詳細については、「Azure Storage ファイアウォールおよび仮想ネットワークを構成する」を参照してください。 |
- |
| 信頼された Microsoft サービスによるストレージ アカウントへのアクセスを許可する |
ストレージ アカウントのファイアウォール規則を有効にすると、Azure 仮想ネットワーク (VNet) 内で動作しているサービス、または許可されたパブリック IP アドレスから送信された要求でない限り、データに対して受信した要求は既定でブロックされます。 ブロックされる要求には、他の Azure サービスからの要求、Azure portal からの要求、ログおよびメトリック サービスからの要求などが含まれます。 例外を追加して、信頼された Microsoft サービスがストレージ アカウントにアクセスできるようにすることによって、他の Azure サービスからの要求を許可できます。 信頼された Microsoft サービスの例外の追加の詳細については、「Azure Storage ファイアウォールおよび仮想ネットワークを構成する」を参照してください。 |
- |
| プライベート エンドポイントを使用する |
プライベート エンドポイントによって、Azure 仮想ネットワーク (VNet) からストレージ アカウントにプライベート IP アドレスが割り当てられます。 これにより、VNet とストレージ アカウントの間のすべてのトラフィックがプライベート リンクで保護されます。 プライベート エンドポイントの詳細については、「Azure プライベート エンドポイントを使用して非公開でストレージ アカウントに接続する」を参照してください。 |
- |
| VNet サービス タグを使用する |
サービス タグは、指定された Azure サービスからの IP アドレス プレフィックスのグループを表します。 サービス タグに含まれるアドレス プレフィックスの管理は Microsoft が行い、アドレスが変化するとサービス タグは自動的に更新されます。 Azure Storage でサポートされるサービス タグの詳細については、Azure サービス タグの概要に関する記事を参照してください。 サービス タグを使用してアウトバウンド ネットワーク ルールを作成する方法を示すチュートリアルについては、PaaS リソースへのアクセスの制限に関するページを参照してください。 |
- |
| 特定のネットワークへのネットワーク アクセスを制限する |
アクセスを必要とするクライアントをホストしているネットワークへのネットワーク アクセスを制限すると、リソースがネットワーク攻撃にさらされる危険性が軽減されます。 |
はい |
| ネットワーク ルーティングの優先設定 |
Azure ストレージ アカウントに対してネットワークのルーティング優先設定を構成し、Microsoft グローバル ネットワークまたはインターネット ルーティングを使用して、インターネット経由でクライアントからアカウントにネットワーク トラフィックをルーティングする方法を指定することができます。 詳細については、「Azure Storage に対してネットワークのルーティング優先設定を構成する」を参照してください。 |
- |
ログ記録または監視
次のステップ