BLOB ストレージのセキュリティに関する推奨事項Security recommendations for Blob storage

この記事には、BLOB ストレージのセキュリティに関する推奨事項が含まれています。This article contains security recommendations for Blob storage. これらの推奨事項を実装することにより、共有責任モデルに記載されたセキュリティに関する義務を果たすのに役立ちます。Implementing these recommendations will help you fulfill your security obligations as described in our shared responsibility model. サービス プロバイダーとしての責任を果たすための Microsoft の取り組みの詳細については、「クラウドにおける共同責任」を参照してください。For more information on how Microsoft fulfills service provider responsibilities, see Shared responsibility in the cloud.

この記事に記載されているいくつかの推奨事項は、Azure Security Center によって自動的に監視できます。Some of the recommendations included in this article can be automatically monitored by Azure Security Center. Azure Security Center は、Azure のリソースを保護するための防御の最前線です。Azure Security Center is the first line of defense in protecting your resources in Azure. Azure Security Center については、「Azure Security Center とは」を参照してください。For information on Azure Security Center, see the What is Azure Security Center?

Azure Security Center では、Azure リソースのセキュリティの状態が定期的に分析されて、潜在的なセキュリティ脆弱性が特定されます。Azure Security Center periodically analyzes the security state of your Azure resources to identify potential security vulnerabilities. その後、それらに対処する方法の推奨事項を提供します。It then provides you with recommendations on how to address them. Azure Security Center の推奨事項の詳細については、「Azure Security Center でのセキュリティに関する推奨事項」を参照してください。For more information on Azure Security Center recommendations, see Security recommendations in Azure Security Center.

データ保護Data protection

推奨Recommendation 説明Comments Security CenterSecurity Center
Azure Resource Manager デプロイ モデルを使用するUse the Azure Resource Manager deployment model 重要なセキュリティ強化のために、Azure Resource Manager デプロイ モデルを使用して新しいストレージ アカウントを作成します。これには、Azure ロールベースの優れたアクセス制御 (Azure RBAC) と監査、Resource Manager ベースのデプロイとガバナンス、マネージド ID へのアクセス、シークレットのための Azure Key Vault へのアクセス、Azure Storage データおよびリソースにアクセスするための Azure AD に基づく認証と承認などが含まれます。Create new storage accounts using the Azure Resource Manager deployment model for important security enhancements, including superior Azure role-based access control (Azure RBAC) and auditing, Resource Manager-based deployment and governance, access to managed identities, access to Azure Key Vault for secrets, and Azure AD-based authentication and authorization for access to Azure Storage data and resources. 可能であれば、クラシック デプロイ モデルを使用する既存のストレージ アカウントを移行して、Azure Resource Manager を使用するようにします。If possible, migrate existing storage accounts that use the classic deployment model to use Azure Resource Manager. Azure Resource Manager の詳細については、「Azure Resource Manager の概要」を参照してください。For more information about Azure Resource Manager, see Azure Resource Manager overview. -
すべてのストレージ アカウントに Azure Defender を有効にするEnable Azure Defender for all of your storage accounts Azure Defender for Azure Storage では、ストレージ アカウントに対する通常と異なる潜在的に有害なアクセスの試行すなわちストレージ アカウントの悪用を検出するセキュリティ インテリジェンス レイヤーが追加されます。Azure Defender for Azure Storage provides an additional layer of security intelligence that detects unusual and potentially harmful attempts to access or exploit storage accounts. アクティビティに異常が発生すると、Azure Security Center でセキュリティ アラートがトリガーされます。さらに、これらのアラートは、不審なアクティビティの詳細と、脅威の調査や修復の方法に関する推奨事項と共に、サブスクリプション管理者にメールで送信されます。Security alerts are triggered in Azure Security Center when anomalies in activity occur and are also sent via email to subscription administrators, with details of suspicious activity and recommendations on how to investigate and remediate threats. 詳細については、Azure Defender for Azure Storage の構成に関するページを参照してください。For more information, see Configure Azure Defender for Azure Storage. はいYes
BLOB の論理的な削除を有効にするTurn on soft delete for blobs BLOB の論理的な削除を使用すると、削除されてしまった BLOB データを回復できます。Soft delete for blobs enables you to recover blob data after it has been deleted. BLOB の論理的な削除の詳細については、Azure Storage BLOB の論理的な削除に関するページを参照してください。For more information on soft delete for blobs, see Soft delete for Azure Storage blobs. -
コンテナーの論理的な削除を有効にするTurn on soft delete for containers コンテナーの論理的な削除を使用すると、削除されてしまったコンテナーを回復できます。Soft delete for containers enables you to recover a container after it has been deleted. コンテナーの論理的な削除の詳細については、「コンテナーの論理的な削除 (プレビュー)」を参照してください。For more information on soft delete for containers, see Soft delete for containers (preview). -
誤ったまたは悪意のある削除や構成変更を防ぐために、ストレージ アカウントをロックするLock storage account to prevent accidental or malicious deletion or configuration changes Azure Resource Manager ロックをストレージ アカウントに適用して、アカウントを誤ったまたは悪意のある削除や構成変更から保護します。Apply an Azure Resource Manager lock to your storage account to protect the account from accidental or malicious deletion or configuration change. ストレージ アカウントをロックしても、そのアカウント内のデータが削除されなくなるわけではありません。Locking a storage account does not prevent data within that account from being deleted. そのアカウント自体が削除されなくなるだけです。It only prevents the account itself from being deleted. 詳細については、「Azure Resource Manager のロックをストレージ アカウントに適用する」を参照してください。For more information, see Apply an Azure Resource Manager lock to a storage account.
ビジネスに不可欠なデータを不変 BLOB に保存するStore business-critical data in immutable blobs BLOB データを WORM (Write Once, Read Many) 状態で保存するように、訴訟ホールドと時間ベースの保持ポリシーを構成します。Configure legal holds and time-based retention policies to store blob data in a WORM (Write Once, Read Many) state. 保持期間中は、不変の状態で保存された BLOB を読み取ることはできますが、変更や削除を行うことはできません。Blobs stored immutably can be read, but cannot be modified or deleted for the duration of the retention interval. 詳細については、「不変ストレージを使用してビジネスに不可欠な BLOB データを保存する」を参照してください。For more information, see Store business-critical blob data with immutable storage. -
ストレージ アカウントへの安全な転送 (HTTPS) を必須とするRequire secure transfer (HTTPS) to the storage account ストレージ アカウントに対して安全な転送が必要な場合は、ストレージ アカウントへの要求をすべて HTTPS 経由で行う必要があります。When you require secure transfer for a storage account, all requests to the storage account must be made over HTTPS. HTTP 経由で行われた要求はすべて拒否されます。Any requests made over HTTP are rejected. Microsoft では、すべてのストレージ アカウントに対して常に、セキュリティで保護された転送を要求することをお勧めしています。Microsoft recommends that you always require secure transfer for all of your storage accounts. 詳細については、「セキュリティで保護された接続を確保するために安全な転送を要求する」を参照してください。For more information, see Require secure transfer to ensure secure connections. -
Shared Access Signature (SAS) トークンを HTTPS 接続のみに制限するLimit shared access signature (SAS) tokens to HTTPS connections only クライアントが SAS トークンを使用して BLOB データにアクセスするときに HTTPS を要求することで、盗聴のリスクを最小限に抑えることができます。Requiring HTTPS when a client uses a SAS token to access blob data helps to minimize the risk of eavesdropping. 詳細については、「Shared Access Signatures (SAS) を使用して Azure Storage リソースへの制限付きアクセスを許可する」を参照してください。For more information, see Grant limited access to Azure Storage resources using shared access signatures (SAS). -

ID 管理とアクセス管理Identity and access management

推奨Recommendation 説明Comments Security CenterSecurity Center
Azure Active Directory (Azure AD) を使用して BLOB データへのアクセスを承認するUse Azure Active Directory (Azure AD) to authorize access to blob data Azure AD では、BLOB ストレージへの要求を承認するために、共有キーによる優れたセキュリティと使いやすさが実現されます。Azure AD provides superior security and ease of use over Shared Key for authorizing requests to Blob storage. 詳細については、Azure Active Directory を使用した Azure BLOB およびキューへのアクセスの承認に関するページを参照してください。For more information, see Authorize access to Azure blobs and queues using Azure Active Directory. -
Azure RBAC を使用して Azure AD セキュリティ プリンシパルにアクセス許可を割り当てる場合は、最小限の特権の原則を念頭に置くKeep in mind the principal of least privilege when assigning permissions to an Azure AD security principal via Azure RBAC ユーザー、グループ、またはアプリケーションにロールを割り当てる場合は、そのセキュリティ プリンシパルに対して、それぞれのタスクを実行するために必要なアクセス許可のみを付与します。When assigning a role to a user, group, or application, grant that security principal only those permissions that are necessary for them to perform their tasks. リソースへのアクセスを制限することで、意図しない、または悪意のあるデータの誤用を防ぐことができます。Limiting access to resources helps prevent both unintentional and malicious misuse of your data. -
ユーザー委任 SAS を使用して、クライアントによる BLOB データへのアクセスを制限するUse a user delegation SAS to grant limited access to blob data to clients ユーザー委任 SAS は、Azure Active Directory (Azure AD) 資格情報と、SAS に指定されたアクセス許可によっても保護されます。A user delegation SAS is secured with Azure Active Directory (Azure AD) credentials and also by the permissions specified for the SAS. ユーザー委任 SAS は、スコープと機能についてはサービス SAS に似ていますが、セキュリティの点では、サービス SAS よりも優れています。A user delegation SAS is analogous to a service SAS in terms of its scope and function, but offers security benefits over the service SAS. 詳細については、「Shared Access Signatures (SAS) を使用して Azure Storage リソースへの制限付きアクセスを許可する」を参照してください。For more information, see Grant limited access to Azure Storage resources using shared access signatures (SAS). -
Azure Key Vault を使用してアカウント アクセス キーをセキュリティで保護するSecure your account access keys with Azure Key Vault Azure Storage への要求を承認するには、Azure AD を使用することをお勧めします。Microsoft recommends using Azure AD to authorize requests to Azure Storage. ただし、共有キー認証を使用する必要がある場合は、Azure Key Vault を使用してアカウント キーをセキュリティで保護します。However, if you must use Shared Key authorization, then secure your account keys with Azure Key Vault. キーは、アプリケーションと共に保存するのではなく、実行時に Key Vault から取得できます。You can retrieve the keys from the key vault at runtime, instead of saving them with your application. Azure Key Vault の詳細については、Key Vault の概要ページを参照してください。For more information about Azure Key Vault, see Azure Key Vault overview. -
アカウント キーを定期的に再生成するRegenerate your account keys periodically アカウント キーを定期的に交換することで、悪意のあるアクターにデータが公開されるリスクが軽減されます。Rotating the account keys periodically reduces the risk of exposing your data to malicious actors. -
共有キーによる認可を禁止するDisallow Shared Key authorization ストレージ アカウントの共有キーによる承認を禁止すると、それ以降、そのアカウントに対するアカウント アクセスキーによる承認の要求はすべて、Azure Storage によって拒否されます。When you disallow Shared Key authorization for a storage account, Azure Storage rejects all subsequent requests to that account that are authorized with the account access keys. Azure AD によって承認されるセキュリティで保護された要求のみが成功します。Only secured requests that are authorized with Azure AD will succeed. 詳細については、Azure ストレージ アカウントの共有キーによる認可の禁止に関するページを参照してください。For more information, see Prevent Shared Key authorization for an Azure Storage account. -
SAS にアクセス許可を割り当てる場合は、最小限の特権の原則を念頭に置くKeep in mind the principal of least privilege when assigning permissions to a SAS SAS を作成する場合は、クライアントに対して、その機能を実行するために必要なアクセス許可のみを指定します。When creating a SAS, specify only those permissions that are required by the client to perform its function. リソースへのアクセスを制限することで、意図しない、または悪意のあるデータの誤用を防ぐことができます。Limiting access to resources helps prevent both unintentional and malicious misuse of your data. -
クライアントに発行するすべての SAS に対して失効計画を立てておくHave a revocation plan in place for any SAS that you issue to clients SAS が侵害された場合は、できるだけ早くその SAS を失効させることをお勧めします。If a SAS is compromised, you will want to revoke that SAS as soon as possible. ユーザーの委任 SAS を失効させるには、ユーザーの委任キーを失効させて、そのキーに関連付けられているすべての署名をただちに無効にします。To revoke a user delegation SAS, revoke the user delegation key to quickly invalidate all signatures associated with that key. 保存されているアクセス ポリシーに関連付けられているサービス SAS を失効させるには、保存されているアクセス ポリシーを削除するか、ポリシーの名前を変更するか、または有効期限を過去の時間に変更します。To revoke a service SAS that is associated with a stored access policy, you can delete the stored access policy, rename the policy, or change its expiry time to a time that is in the past. 詳細については、「Shared Access Signatures (SAS) を使用して Azure Storage リソースへの制限付きアクセスを許可する」を参照してください。For more information, see Grant limited access to Azure Storage resources using shared access signatures (SAS). -
保存されているアクセス ポリシーにサービス SAS が関連付けられていない場合は、有効期限を 1 時間以下に設定するIf a service SAS is not associated with a stored access policy, then set the expiry time to one hour or less 保存されているアクセス ポリシーに関連付けられていないサービス SAS を失効させることはできません。A service SAS that is not associated with a stored access policy cannot be revoked. このため、SAS の有効期限が 1 時間以下になるように制限することをお勧めします。For this reason, limiting the expiry time so that the SAS is valid for one hour or less is recommended. -
コンテナーと BLOB への匿名パブリック読み取りアクセスを無効にするDisable anonymous public read access to containers and blobs コンテナーとその BLOB への匿名のパブリック読み取りアクセスを有効にすると、これらのリソースへの読み取り専用アクセスがすべてのクライアントに付与されます。Anonymous public read access to a container and its blobs grants read-only access to those resources to any client. シナリオで必要な場合を除いて、パブリック読み取りアクセスを有効にしないでください。Avoid enabling public read access unless your scenario requires it. ストレージ アカウントの匿名パブリック アクセスを無効にする方法については、「コンテナーと BLOB の匿名パブリック読み取りアクセスを構成する」を参照してください。To learn how to disable anonymous public access for a storage account, see Configure anonymous public read access for containers and blobs. -

ネットワークNetworking

推奨Recommendation 説明Comments Security CenterSecurity Center
ストレージ アカウントに必要な最小バージョンのトランスポート層セキュリティ (TLS) を構成します。Configure the minimum required version of Transport Layer Security (TLS) for a storage account. Azure Storage アカウントに対して TLS の最小バージョンを構成することによって、クライアントで、より安全なバージョンの TLS を使用してそのアカウントに対して要求を行うことを義務付けます。Require that clients use a more secure version of TLS to make requests against an Azure Storage account by configuring the minimum version of TLS for that account. 詳細については、ストレージ アカウントに必要な最小バージョンのトランスポート層セキュリティ (TLS) を構成する方法に関する記事を参照してくださいFor more information, see Configure minimum required version of Transport Layer Security (TLS) for a storage account -
すべてのストレージ アカウントで [安全な転送が必須] オプションを有効にするEnable the Secure transfer required option on all of your storage accounts [安全な転送が必須] オプションを有効にすると、ストレージ アカウントに対して行われるすべての要求が、セキュリティで保護された接続を経由して実行される必要があります。When you enable the Secure transfer required option, all requests made against the storage account must take place over secure connections. HTTP 経由で行われた要求はすべて失敗します。Any requests made over HTTP will fail. 詳細については、「Azure Storage で安全な転送が必要」を参照してください。For more information, see Require secure transfer in Azure Storage. はいYes
ファイアウォール規則を有効にするEnable firewall rules ストレージ アカウントへのアクセスを、Azure 仮想ネットワーク (VNet) 内の指定した IP アドレス、IP 範囲、またはサブネットのリストから発信された要求に制限するように、ファイアウォール規則を構成します。Configure firewall rules to limit access to your storage account to requests that originate from specified IP addresses or ranges, or from a list of subnets in an Azure Virtual Network (VNet). ファイアウォール規則の構成の詳細については、「Azure Storage ファイアウォールおよび仮想ネットワークを構成する」を参照してください。For more information about configuring firewall rules, see Configure Azure Storage firewalls and virtual networks. -
信頼された Microsoft サービスによるストレージ アカウントへのアクセスを許可するAllow trusted Microsoft services to access the storage account ストレージ アカウントのファイアウォール規則を有効にすると、Azure 仮想ネットワーク (VNet) 内で動作しているサービス、または許可されたパブリック IP アドレスから送信された要求でない限り、データに対して受信した要求は既定でブロックされます。Turning on firewall rules for your storage account blocks incoming requests for data by default, unless the requests originate from a service operating within an Azure Virtual Network (VNet) or from allowed public IP addresses. ブロックされる要求には、他の Azure サービスからの要求、Azure portal からの要求、ログおよびメトリック サービスからの要求などが含まれます。Requests that are blocked include those from other Azure services, from the Azure portal, from logging and metrics services, and so on. 例外を追加して、信頼された Microsoft サービスがストレージ アカウントにアクセスできるようにすることによって、他の Azure サービスからの要求を許可できます。You can permit requests from other Azure services by adding an exception to allow trusted Microsoft services to access the storage account. 信頼された Microsoft サービスの例外の追加の詳細については、「Azure Storage ファイアウォールおよび仮想ネットワークを構成する」を参照してください。For more information about adding an exception for trusted Microsoft services, see Configure Azure Storage firewalls and virtual networks. -
プライベート エンドポイントを使用するUse private endpoints プライベート エンドポイントによって、Azure 仮想ネットワーク (VNet) からストレージ アカウントにプライベート IP アドレスが割り当てられます。A private endpoint assigns a private IP address from your Azure Virtual Network (VNet) to the storage account. これにより、VNet とストレージ アカウントの間のすべてのトラフィックがプライベート リンクで保護されます。It secures all traffic between your VNet and the storage account over a private link. プライベート エンドポイントの詳細については、「Azure プライベート エンドポイントを使用して非公開でストレージ アカウントに接続する」を参照してください。For more information about private endpoints, see Connect privately to a storage account using Azure Private Endpoint. -
VNet サービス タグを使用するUse VNet service tags サービス タグは、指定された Azure サービスからの IP アドレス プレフィックスのグループを表します。A service tag represents a group of IP address prefixes from a given Azure service. サービス タグに含まれるアドレス プレフィックスの管理は Microsoft が行い、アドレスが変化するとサービス タグは自動的に更新されます。Microsoft manages the address prefixes encompassed by the service tag and automatically updates the service tag as addresses change. Azure Storage でサポートされるサービス タグの詳細については、Azure サービス タグの概要に関する記事を参照してください。For more information about service tags supported by Azure Storage, see Azure service tags overview. サービス タグを使用してアウトバウンド ネットワーク ルールを作成する方法を示すチュートリアルについては、PaaS リソースへのアクセスの制限に関するページを参照してください。For a tutorial that shows how to use service tags to create outbound network rules, see Restrict access to PaaS resources. -
特定のネットワークへのネットワーク アクセスを制限するLimit network access to specific networks アクセスを必要とするクライアントをホストしているネットワークへのネットワーク アクセスを制限すると、リソースがネットワーク攻撃にさらされる危険性が軽減されます。Limiting network access to networks hosting clients requiring access reduces the exposure of your resources to network attacks. はいYes
ネットワーク ルーティング設定の構成Configure network routing preference Azure ストレージ アカウントに対してネットワークのルーティング優先設定を構成し、Microsoft グローバル ネットワークまたはインターネット ルーティングを使用して、インターネット経由でクライアントからアカウントにネットワーク トラフィックをルーティングする方法を指定することができます。You can configure network routing preference for your Azure storage account to specify how network traffic is routed to your account from clients over the Internet using the Microsoft global network or Internet routing. 詳細については、「Azure Storage に対してネットワークのルーティング優先設定を構成する」を参照してください。For more information, see Configure network routing preference for Azure Storage. -

ログ記録または監視Logging/Monitoring

推奨Recommendation 説明Comments Security CenterSecurity Center
要求がどのように承認されたかを追跡するTrack how requests are authorized Azure Storage のログ記録を有効にして、Azure Storage に対する各要求がどのように承認されたかを追跡します。Enable Azure Storage logging to track how each request made against Azure Storage was authorized. このログでは、OAuth 2.0 トークン、共有キー、または共有アクセス署名 (SAS) を使用して、要求が匿名で行われたかどうかが示されます。The logs indicate whether a request was made anonymously, by using an OAuth 2.0 token, by using Shared Key, or by using a shared access signature (SAS). 詳細については、Azure Monitor を使用した Azure Blob storage の監視、またはクラシックな監視を使用した Azure Storage Analytics のログ記録に関する各記事を参照してください。For more information, see Monitoring Azure Blob storage with Azure Monitor or Azure Storage analytics logging with Classic Monitoring. -
Azure Monitor でアラートを設定するSet up alerts in Azure Monitor ログ アラートを構成して、設定された頻度でリソース ログを評価し、その結果に基づいてアラートを発行することができます。Configure log alerts to evaluate resources logs at a set frequency and fire an alert based on the results. 詳しくは、「Azure Monitor でのログ アラート」を参照してください。For more information, see Log alerts in Azure Monitor. -

次のステップNext steps