Az - Blob Storage
基本情報
ドキュメントから: Azure Blob storageはMicrosoftのクラウド向けオブジェクトストレージソリューションです。Blob storageは大量の非構造化データを保存するために最適化されています。非構造化データとは、特定のデータモデルや定義に従わないデータのことです。例えば、テキストやバイナリデータなどです。
Blob storageは3種類のリソースを提供します:
ストレージアカウント(一意の名前)
ストレージアカウント内のコンテナ(フォルダ)
コンテナ内のBlob
ストレージの種類
Blob storage |
|
Azure Data Lake Storage Gen2 |
|
Azure Files |
|
Queue storage |
|
Table storage |
|
ストレージへのアクセス
RBACロールをサポートするAzure ADプリンシパルを使用。
アクセスキー: ストレージアカウントのアクセスキーを使用。これにより、ストレージアカウントへの完全なアクセスが提供されます。
Shared Access Signature (SAS): 時間制限および特定の権限。
アクセスキーを使用してSAS URLを生成できます(検出がより困難)。
SASはアクセスキーから生成されるため、アクセスキーが更新されるとSASは機能しなくなります。
公開露出
「Allow Blob public access」が有効(デフォルトでは無効)になっている場合、以下が可能です:
Blobの読み取りのための公開アクセスを提供(名前を知っている必要があります)。
コンテナのBlobをリストし、それらを読み取る。
ストレージへの接続
ストレージを見つけた場合、Microsoft Azure Storage Explorerツールを使用して接続できます。
SAS URLs
ドキュメントから: Shared Access Signature (SAS)は、ストレージアカウント内のリソースへの安全な委任アクセスを提供します。SASを使用すると、クライアントがデータにアクセスする方法を細かく制御できます。例えば:
クライアントがアクセスできるリソース。
それらのリソースに対する権限。
SASの有効期間。
SAS URLは次のようになります: https://<container_name>.blob.core.windows.net/newcontainer?sp=r&st=2021-09-26T18:15:21Z&se=2021-10-27T02:14:21Z&spr=https&sv=2021-07-08&sr=c&sig=7S%2BZySOgy4aA3Dk0V1cJyTSIf1cW%2Fu3WFkhHV32%2B4PE%3D
データにアクセスするにはStorage Explorerまたはpythonを使用します:
User delegation SAS
Azure Active Directory (Azure AD) 資格情報またはアカウントキーを使用して、コンテナ、ディレクトリ、またはblobへのアクセスのための共有アクセス署名 (SAS) トークンをセキュリティ保護できます。ユーザー委任SASを作成するには、まずユーザー委任キーをリクエストし、それを使用してSASに署名します。
User Delegation Shared Access Signature (SAS) は、Azure Blob Storage および Azure Data Lake Storage Gen2 の両方でサポートされています。ただし、Stored Access Policies はユーザー委任SASと互換性がないことに注意してください。
ユーザー委任SASはストレージアカウントキーの代わりにAzure AD資格情報で保護されていることに注意してください。これにより、クライアント/アプリケーションがSASを作成するためにストレージキーを保存/取得することを防ぎます。
Service SAS
サービスSASはストレージアカウントキーで保護されています。サービスSASは、Azure Storageサービスのうちの1つのリソースへのアクセスを委任します: Blob storage、Queue storage、Table storage、またはAzure Files。サービスレベルのSASのURIは、SASがアクセスを委任するリソースへのURIに続いてSASトークンが続きます。
Azure Active Directory (Azure AD) 資格情報を使用してコンテナまたはblobのSASを保護するには、ユーザー委任SASを使用します。
Account SAS
アカウントSASは、2つのストレージアカウントキーのうちの1つで保護されています。アカウントSASは、1つ以上のストレージサービスのリソースへのアクセスを委任します。サービスまたはユーザー委任SASを介して利用可能なすべての操作は、アカウントSASを介しても利用可能です。
ドキュメントから: アカウントSASを作成することで、以下が可能になります:
サービス固有のSASでは現在利用できない
Get/Set Service Properties
やGet Service Stats
操作などのサービスレベルの操作へのアクセスを委任します。一度にストレージアカウント内の複数のサービスへのアクセスを委任します。例えば、アカウントSASを使用してAzure Blob StorageとAzure Filesの両方のリソースへのアクセスを委任できます。
オブジェクト固有のSASでは利用できないコンテナ、キュー、テーブル、およびファイル共有の書き込みおよび削除操作へのアクセスを委任します。
リクエストを受け入れるIPアドレスまたはIPアドレスの範囲を指定します。
リクエストを受け入れるHTTPプロトコル(HTTPSまたはHTTP/HTTPSのいずれか)を指定します。
Enumeration
参考文献
Last updated