Shared Access Signature を使用する場合を選ぶ

完了

SAS は、ストレージ アカウント内のリソースへのアクセス許可が他の方法では与えられないクライアントに、セキュリティで保護されたリソース アクセスを提供する場合に使用します。

SAS が役立つ一般的なシナリオは、ストレージ アカウント内でユーザーが自分のデータの読み取りや書き込みを行うサービスです。 ストレージ アカウントにユーザー データが格納されるシナリオには、2 種類の典型的な設計パターンがあります。

  • 認証を実行するフロントエンド プロキシ サービス経由で、クライアントがデータのアップロードとダウンロードを行います。 このフロントエンド プロキシ サービスには、ビジネス ルールの検証が可能であるという利点がありますが、データやトランザクションが大量である場合は、需要に応じて拡張可能なサービスの作成にコストがかかったり、困難が生じたりする可能性があります。

    Scenario diagram: Front-end proxy service

  • 軽量サービスが、必要に応じてクライアントを認証してから、SAS を生成します。 クライアント アプリケーションは、SAS を受信すると、SAS で定義されたアクセス許可と SAS で許可された期間で、ストレージ アカウントのリソースに直接アクセスできるようになります。 SAS によって、すべてのデータをフロントエンド プロキシ サービス経由でルーティングする必要性が減少します。

    Scenario diagram: SAS provider service

多くの実際のサービスでは、これら 2 つのアプローチを組み合わせて使用している場合があります。 たとえば、一部のデータはフロントエンド プロキシで処理して検証し、その他のデータは SAS を使用して直接保存または読み取ります。

また、特定のシナリオにおけるコピー操作でソース オブジェクトへのアクセスを承認するために、SAS が必要です。

  • BLOB を別のストレージ アカウント内にある他の BLOB にコピーする場合、コピー元 BLOB へのアクセスの承認には SAS を使用する必要があります。 コピー先 BLOB へのアクセスの承認にも、任意で SAS を使用できます。

  • ファイルを別のストレージ アカウント内にある他のファイルにコピーする場合、コピー元ファイルへのアクセスの承認には SAS を使用する必要があります。 コピー先 BLOB へのアクセスの承認にも、任意で SAS を使用できます。コピー先ファイルへのアクセスの承認にも、任意で SAS を使用できます。

  • BLOB をファイルにコピーしたり、ファイルを BLOB にコピーしたりする場合、同じストレージ アカウント内にコピー先とコピー元のオブジェクトがある場合でも、SAS を使用してソース オブジェクトへのアクセスを承認する必要があります。