Azure Storage への要求を承認する
Blob、File、Queue、または Table service 内のセキュリティで保護されたリソースに対するすべての要求には、承認が必要です。 承認により、必要な場合にのみ、アクセスを許可されたユーザーまたはアプリケーションだけが、ストレージ アカウント内のリソースにアクセスできるようになります。
重要
最適なセキュリティを確保するために、Microsoft では、マネージド ID でMicrosoft Entra IDを使用して、可能な限り BLOB、キュー、テーブル データに対する要求を承認することをお勧めします。 Microsoft Entra ID ID とマネージド ID を使用した承認は、共有キーの承認よりも優れたセキュリティと使いやすさを提供します。 詳細については、「Microsoft Entra IDで承認する」を参照してください。 マネージド ID の詳細については、「 Azure リソースのマネージド ID とは」を参照してください。
オンプレミス アプリケーションなど、Azure の外部でホストされているリソースの場合は、Azure Arc を介してマネージド ID を使用できます。たとえば、Azure Arc 対応サーバーで実行されているアプリでは、マネージド ID を使用して Azure サービスに接続できます。 詳細については、「 Azure Arc 対応サーバーを使用した Azure リソースに対する認証」を参照してください。
共有アクセス署名 (SAS) が使用されるシナリオでは、ユーザー委任 SAS を使用することをお勧めします。 ユーザー委任 SAS は、アカウント キーではなくMicrosoft Entra資格情報で保護されます。 共有アクセス署名の詳細については、「ユーザー委任 SAS のCreate」を参照してください。
次の表は、リソースへのアクセスを承認するために Azure Storage に用意されているオプションをまとめたものです。
Azure の成果物 | 共有キー (ストレージ アカウント キー) | Shared Access Signature (SAS) | Microsoft Entra ID | オンプレミス Active Directory Domain Services | 匿名のパブリック読み取りアクセス |
---|---|---|---|---|---|
Azure BLOB | サポートされています | サポートされています | サポートされています | サポートされていません | サポートされています |
Azure Files (SMB) | サポートされています | サポートされていません | Microsoft Entra Domain ServicesまたはMicrosoft Entra Kerberos でサポートされます | サポートされている資格情報は、Microsoft Entra IDに同期する必要があります | サポートされていません |
Azure Files (REST) | サポートされています | サポートされています | サポートされています | サポートされていません | サポートされていません |
Azure キュー | サポートされています | サポートされています | サポートされています | サポートされていません | サポートされていません |
Azure テーブル | サポートされています | サポートされています | サポートされています | サポートされていません | サポートされていません |
ここでは、各認証オプションについて簡単に説明します。
Microsoft Entra ID:Microsoft Entra は、Microsoft のクラウドベースの ID およびアクセス管理サービスです。 Microsoft Entra ID統合は、Blob、File、Queue、Table の各サービスで使用できます。 Microsoft Entra IDを使用すると、ロールベースのアクセス制御 (RBAC) を使用して、ユーザー、グループ、またはアプリケーションにきめ細かいアクセスを割り当てることができます。 Azure Storage との統合Microsoft Entra ID詳細については、「Microsoft Entra IDを使用して承認する」を参照してください。
Azure Filesの承認をMicrosoft Entra Domain Servicesします。 Azure Filesでは、Microsoft Entra Domain Servicesを介したサーバー メッセージ ブロック (SMB) に対する ID ベースの承認がサポートされます。 RBAC を使用して、ストレージ アカウント内の Azure Files リソースへのクライアントのアクセスを細かく制御できます。 ドメイン サービスを使用したAzure Files認証の詳細については、「AZURE FILES ID ベースの承認」を参照してください。
Azure Filesの Active Directory (AD) 承認。 Azure Files では、AD を使用した SMB を介した ID ベースの承認がサポートされています。 AD ドメイン サービスは、オンプレミスのコンピューターまたは Azure VM でホストできます。 Files には、オンプレミスまたは Azure で、ドメインに参加しているコンピューターから AD 資格情報を利用することで SMB アクセスできます。 共有レベルのアクセス制御には RBAC を使用し、ディレクトリとファイル レベルのアクセス許可の適用には NTFS DACL を使用できます。 ドメイン サービスを使用したAzure Files認証の詳細については、「AZURE FILES ID ベースの承認」を参照してください。
共有キー: 共有キーの承認は、アカウント アクセス キーとその他のパラメーターに依存して、 Authorization ヘッダーの要求で渡される暗号化された署名文字列を生成します。 共有キーの承認の詳細については、「共有 キーを使用して承認する」を参照してください。
共有アクセス署名: Shared Access Signature (SAS) は、指定されたアクセス許可と指定された時間間隔で、アカウント内の特定のリソースへのアクセスを委任します。 SAS の詳細については、「 共有アクセス署名を使用してアクセスを委任する」を参照してください。
コンテナーと BLOB への匿名アクセス: 必要に応じて、コンテナーまたは BLOB レベルで BLOB リソースをパブリックにすることができます。 任意のユーザーが、匿名読み取りアクセスで、パブリック コンテナーまたは BLOB にアクセスできます。 パブリック コンテナーと BLOB に対する読み取り要求に、承認は必要ありません。 詳細については、「 Azure Blob Storage でコンテナーと BLOB のパブリック読み取りアクセスを有効にする」を参照してください。
ヒント
Microsoft Entra IDを使用して BLOB、ファイル、キュー、テーブルのデータへのアクセスを認証および承認すると、他の承認オプションよりも優れたセキュリティと使いやすさが提供されます。 たとえば、Microsoft Entra IDを使用すると、共有キーの承認と同様に、アカウント アクセス キーをコードと共に格納する必要がなくなります。 BLOB アプリケーションとキュー アプリケーションで共有キーの承認を引き続き使用できますが、可能な場合はMicrosoft Entra IDに移行することをお勧めします。
同様に、共有アクセス署名 (SAS) を引き続き使用してストレージ アカウント内のリソースにきめ細かいアクセス権を付与できますが、Microsoft Entra IDでは、SAS トークンを管理したり、侵害された SAS の取り消しを心配したりする必要なく、同様の機能が提供されます。
Azure Storage でのMicrosoft Entra ID統合の詳細については、「Microsoft Entra IDを使用して Azure BLOB とキューへのアクセスを承認する」を参照してください。