Shared Access Signature を作成する

完了

Shared Access Signature (SAS) は、Azure Storage リソースへの制限付きアクセス権を付与する Uniform Resource Identifier (URI) です。 SAS を使用すると、アカウント キーを侵害されることなくストレージ リソースを共有できます。

ストレージ アカウント キーへのアクセス権を持ってはならないクライアントには、SAS を提供できます。 これらのクライアントに SAS URI を配布して、指定した期間だけリソースへのアクセスを許可します。

通常、SAS は、自分のストレージ アカウントに対して他のユーザーがデータの読み取りや書き込みを行うサービスに対して使用します。 ユーザー データを格納するアカウントには 2 つの一般的な設計があります。

  • クライアントは、認証を実行するフロントエンド プロキシ サービスを介してデータをアップロードおよびダウンロードできます。 このフロントエンド プロキシ サービスには、ビジネス ルールを検証できるという利点があります。 大量のデータや大量のトランザクションを処理する場合、このサービスのスケーリングが困難になる可能性があります

フロントエンド プロキシ サービスを使用して Azure Storage にアクセスするデータの図。

  • 軽量サービスでは、必要に応じてクライアントの認証が行われます。 次に、SAS が生成されます。 SAS を受け取るクライアントは、ストレージ アカウント リソースに直接アクセスできます。 SAS では、クライアントのアクセス許可とアクセス期間が定義されています。 これにより、すべてのデータをフロントエンド プロキシ サービス経由でルーティングする必要がなくなります。

Azure Storage へのアクセスを認証する SAS の図。

Shared Access Signature について知っておくべきこと

SAS のいくつかの特性を確認してみましょう。

  • SAS では、SAS を所有しているクライアントに付与するアクセスの種類をきめ細かく制御できます。

  • アカウント レベルの SAS を使うと、BLOB、ファイル、キュー、テーブルなど、複数の Azure Storage サービスへのアクセスを委任できます。

  • 開始時刻と有効期限など、SAS が有効な期間を指定できます。

  • SAS によって付与されるアクセス許可を指定します。 BLOB の SAS では、その BLOB への読み取りと書き込みのアクセス許可を付与し、削除アクセス許可を付与しないことができます。

  • SAS は、アカウント レベルとサービス レベルの制御を提供します。

    • アカウント レベル。 "アカウント レベルの SAS" を使用して、サービス レベルの SAS で許可できるすべてのものに加えて、その他のリソースや機能へのアクセスを許可します。 たとえば、アカウント レベルの SAS を使用すると、ファイル システムの作成を許可できます。

    • サービス レベル。"サービス レベルの SAS" を使用して、ストレージ アカウント内の特定のリソースへのアクセスを許可できます。 たとえば、ファイル システム内のファイルのリストの取得や、ファイルのダウンロードをアプリに許可するには、この種の SAS を使います。

    Note

    サーバー側でサービス レベルの SAS を使っている場合、保存されているアクセス ポリシーで別のレベルの制御を提供できます。 SAS をグループ化し、保存されているアクセス ポリシーを使って他の制限を指定できます。

  • オプションの SAS 構成設定があります。

    • IP アドレス。 SAS を受け入れる Azure Storage の IP アドレスまたは IP アドレスの範囲を識別できます。 組織に属する IP アドレスの範囲を指定するには、このオプションを構成します。

    • プロトコル。 Azure Storage が SAS を受け入れるプロトコルを指定できます。 HTTPS を使ってクライアントへのアクセスを制限するには、このオプションを構成します。

Shared Access Signature を構成する

Azure portal でいくつかの設定を構成して SAS を作成します。 これらの詳細を確認するときは、ストレージ セキュリティ ソリューションに Shared Access Signature を実装する方法を検討してください。

Shared Access Signature キー作成ページのスクリーンショット。

  • [署名方法]: 署名方法として、[アカウント キー] または [ユーザーの委任キー] を選びます。
  • [署名キー]: キーの一覧から署名キーを選びます。
  • [アクセス許可]: 読み取りや書き込みなど、SAS によって付与されるアクセス許可を選びます。
  • 開始日時と有効期限の日時: SAS が有効な期間を指定します。 開始日時と有効期限の日時を設定します。
  • [使用できる IP アドレス] (オプション) SAS を受け入れる Azure Storage の IP アドレスまたは IP アドレス範囲を指定します。
  • [許可されるプロトコル]: (オプション) Azure Storage が SAS を受け入れるプロトコルを選びます。