Shared Access Signature を使用する場合を選ぶ
SAS は、ストレージ アカウント内のリソースへのアクセス許可が他の方法では与えられないクライアントに、セキュリティで保護されたリソース アクセスを提供する場合に使用します。
SAS が役立つ一般的なシナリオは、ストレージ アカウント内でユーザーが自分のデータの読み取りや書き込みを行うサービスです。 ストレージ アカウントにユーザー データが格納されるシナリオには、2 種類の典型的な設計パターンがあります。
認証を実行するフロントエンド プロキシ サービス経由で、クライアントがデータのアップロードとダウンロードを行います。 このフロントエンド プロキシ サービスには、ビジネス ルールの検証が可能であるという利点がありますが、データやトランザクションが大量である場合は、需要に応じて拡張可能なサービスの作成にコストがかかったり、困難が生じたりする可能性があります。
軽量サービスが、必要に応じてクライアントを認証してから、SAS を生成します。 クライアント アプリケーションは、SAS を受信すると、SAS で定義されたアクセス許可と SAS で許可された期間で、ストレージ アカウントのリソースに直接アクセスできるようになります。 SAS によって、すべてのデータをフロントエンド プロキシ サービス経由でルーティングする必要性が減少します。
多くの実際のサービスでは、これら 2 つのアプローチを組み合わせて使用している場合があります。 たとえば、一部のデータはフロントエンド プロキシで処理して検証し、その他のデータは SAS を使用して直接保存または読み取ります。
また、特定のシナリオにおけるコピー操作でソース オブジェクトへのアクセスを承認するために、SAS が必要です。
BLOB を別のストレージ アカウント内にある他の BLOB にコピーする場合、コピー元 BLOB へのアクセスの承認には SAS を使用する必要があります。 コピー先 BLOB へのアクセスの承認にも、任意で SAS を使用できます。
ファイルを別のストレージ アカウント内にある他のファイルにコピーする場合、コピー元ファイルへのアクセスの承認には SAS を使用する必要があります。 コピー先 BLOB へのアクセスの承認にも、任意で SAS を使用できます。コピー先ファイルへのアクセスの承認にも、任意で SAS を使用できます。
BLOB をファイルにコピーしたり、ファイルを BLOB にコピーしたりする場合、同じストレージ アカウント内にコピー先とコピー元のオブジェクトがある場合でも、SAS を使用してソース オブジェクトへのアクセスを承認する必要があります。