ストレージ コンテナーの SAS トークンを作成する
このコンテンツの適用対象: v4.0 (プレビュー) v3.1 (GA) v3.0 (GA) v2.1 (GA)
この記事では、Azure portal または Azure Storage Explorer を使用して、ユーザー委任、Shared Access Signature (SAS) トークンを作成する方法について説明します。 ユーザー委任 SAS トークンは、Microsoft Entra 資格情報で保護されます。 SAS トークンを使用すると、Azure ストレージ アカウント内のリソースへ安全に委任アクセスができるようになります。
SAS トークンのしくみをおおまかに次に示します:
まず、アプリケーションが、REST API 要求の一部として SAS トークンを Azure Storage に送信します。
次に、ストレージ サービスによって SAS が有効であることが確認されると、要求が承認されます。 SAS が無効と見なされた場合、要求は拒否され、エラー コード 403 (Forbidden) が返されます。
Azure Blob Storage には、次の 3 種類のリソースがあります:
- ストレージ アカウントは、データ用の一意の名前空間を Azure 内に提供します。
- データ ストレージ コンテナーはストレージ アカウントにあり、BLOB のセットを整理します。
- BLOB はコンテナーに配置され、ファイル、テキスト、画像などのテキストとバイナリ データを格納します。
SAS トークンを使用するタイミング
カスタム モデルのトレーニング。 組み立てられたトレーニング ドキュメントのセットを Azure Blob Storage コンテナーにアップロードする "必要があります"。 SAS トークンを使用して、トレーニング ドキュメントへのアクセス権を付与できます。
パブリック アクセスでストレージ コンテナーを使用。 SAS トークンを使用して、パブリック読み取りアクセス権を持つストレージ リソースへの限定的なアクセス権を付与できます。
重要
Azure ストレージ アカウントが仮想ネットワークまたはファイアウォールで保護されている場合、SAS トークンを使用してアクセス権を付与することはできません。 ストレージ リソースへのアクセスを許可するには、マネージド ID を使用する必要があります。
マネージド ID では、プライベートとパブリックの両方のアクセスが可能な Azure Blog Storage アカウントがサポートされます。
SAS トークンは、ストレージ リソースへのアクセスを許可するため、アカウント キーと同様に保護する必要があります。
SAS トークンを使用する操作は、HTTPS 接続のみで実行する必要があり、SAS URI は、HTTPS などのセキュリティ保護された接続のみで配布する必要があります。
前提条件
開始するには、以下が必要です。
アクティブな Azure アカウント。 アカウントがない場合は、無料アカウントを作成できます。
Document Intelligence リソースまたはマルチサービス リソース。
標準パフォーマンスの Azure Blob Storage アカウント。 ストレージ アカウント内に BLOB データを格納して整理するためのコンテナーを作成する必要があります。 ストレージコンテナーでAzureストレージアカウントを作成する方法がわからない場合は、以下のクイックスタートに従ってください:
- ストレージ アカウントの作成。 ストレージ アカウントを作成するときに、 [インスタンスの詳細]>[パフォーマンス] フィールドで [Standard] を選択してください。
- コンテナーを作成する。 コンテナーを作成するときに、 [新しいコンテナー] ウィンドウの [パブリック アクセス レベル] を [コンテナー] (コンテナーと BLOB の匿名読み取りアクセス) に設定します。
ドキュメントをアップロードする
Azure portal にサインインします。
- 自分のストレージ アカウント → [データ ストレージ] → [コンテナー] を選択します。
一覧からコンテナーを選択します。
ページ上部のメニューから [アップロード] を選択します。
[BLOB のアップロード] ウィンドウが表示されます。 アップロードするファイルを選択します。
Note
既定では、REST API ではコンテナーのルートにあるドキュメントが使用されます。 API 呼び出しで指定されている場合は、サブフォルダーに整理されたデータを使用することもできます。 詳細については、「データをサブフォルダーに整理する」を参照してください
Azure ポータルの使用
Azure portal は、グラフィカル ユーザー インターフェイス (GUI) を使用して Azure サブスクリプションとリソースを管理できる Web ベースのコンソールです。
Azure portal にサインインします。
[ストレージ アカウント]>[コンテナー]>[ユーザーコンテナー] の順に移動します。
ページの上部付近にあるメニューから [SAS の生成] を選択します。
[署名方法] → [ユーザーの委任キー] を選択します。
該当するチェックボックスをオンまたはオフにして、[アクセス許可] を定義します。
- [読み取り] 、 [書き込み] 、 [削除] 、および [表示] のアクセス許可がオンになっていることを確認します。
重要
次のようなメッセージが表示された場合は、ストレージ アカウント内の BLOB データにもアクセス権を割り当てる必要があります。
Azure ロールベースのアクセス制御 (Azure RBAC) は、Azure のリソースに対するアクセスを管理するために使用する認可システムです。 Azure RBAC は、Azure リソースのアクセスとアクセス許可を管理するのに役立ちます。
Azure portal を使用して Azure ロールを割り当てることで、Azure ストレージ コンテナーの読み取り、書き込み、削除のアクセス許可を許可するロールを割り当てます。 ストレージ BLOB データ共同作成者を "参照" してください。
署名されたキーの開始と有効期限の時刻を指定します。
- SAS トークンを作成するとき、既定の有効期間は 48 時間です。 48 時間後に、新しいトークンを作成する必要があります。
- Document Intelligence サービス操作に対してストレージ アカウントを使用する期間をより長く設定することを検討してください。
- 有効期限の値は、使用している署名方法がアカウント キーか、ユーザー委任キーかによって決まります。
- アカウント キー: 時間の上限はありません。ただし、ベスト プラクティスとして、間隔を制限し、侵害を最小限に抑えるように、有効期限ポリシーを構成することをお勧めします。 共有アクセス署名の有効期限ポリシーを構成する。
- ユーザー委任キー: 有効期限の値は、SAS トークンの作成から最大 7 日間です。 ユーザー委任キーの有効期限が切れると SAS は無効になるため、有効期限が 7 日を超える SAS でも、7 日間だけ有効になります。 詳しくは、「Microsoft Entra 資格情報を使用して SAS をセキュリティで保護する」を "参照" してください。
[使用できる IP アドレス] フィールドは省略可能であり、要求を受け入れる IP アドレスまたは IP アドレスの範囲を指定します。 要求の IP アドレスが SAS トークンで指定された IP アドレスまたはアドレスの範囲と一致しない場合は、認可されません。 IP アドレスまたは IP アドレスの範囲は、プライベート IP ではなくパブリック IP とする必要があります。 詳細については、「IP アドレスまたは IP 範囲を指定する」を "参照してください"。
[許可されるプロトコル] フィールドは省略可能であり、SAS トークンを使用して行われた要求で許可されるプロトコルを指定します。 既定値は HTTPS です。
[SAS トークンおよび URL を生成] を選択します。
BLOB SAS トークンのクエリ文字列と BLOB SAS URL が、ウィンドウの下部に表示されます。 BLOB SAS トークンを使用するには、ストレージ サービス URI にトークンを追加します。
BLOB SAS トークンと BLOB SAS URL の値をコピーして安全な場所に貼り付けます。 値は 1 回だけ表示され、ウィンドウを閉じた後は取得できません。
SAS URL を作成するには、SAS トークン (URI) をストレージ サービスの URL に追加します。
Azure Storage Explorer を使用する
Azure Storage Explorer は、Azure クラウド ストレージ リソースをデスクトップから簡単に管理できるようにする無料のスタンドアロン アプリです。
はじめに
Windows、macOS、または Linux の開発環境に Azure Storage Explorer アプリがインストールされている必要があります。
Azure Storage Explorer アプリがインストールされた後、Document Intelligence に使用しているストレージ アカウントに接続します。
SAS トークンを作成する
ローカル コンピューターで Azure Storage Explorer アプリを開き、接続されているストレージ アカウントに移動します。
[ストレージ アカウント] ノードを展開し、 [BLOB コンテナー] を選択します。
[BLOB コンテナー] ノードを展開し、ストレージ コンテナーのノードを右クリックして、オプションのメニューを表示します。
オプションのメニューから [Shared Access Signature の取得] を選択します。
[Shared Access Signature] ウィンドウで、次の選択を行います。
- [アクセス ポリシー] を選択します (既定値は [なし] です)。
- 署名されたキーの開始と有効期限の日時を指定します。 いったん生成された SAS は取り消しができないため、有効期間を短くすることをお勧めします。
- 開始と有効期限の日時のタイムゾーンを選択します (既定値は [ローカル] です)。
- [読み取り]、[書き込み]、[リスト]、および [削除] のチェック ボックスをオンにして、コンテナーの [アクセス許可] を定義します。
- [key1] または [key2] を選択します。
- 確認し、 [作成] を選択します。
コンテナーのコンテナー名、SAS URL、クエリ文字列が新しいウィンドウに表示されます。
SAS URL とクエリ文字列の値をコピーして安全な場所に貼り付けます。 これらは 1 回だけ表示され、ウィンドウを閉じると取得できなくなります。
SAS URLをコンストラクトするには、ストレージサービスのURLにSASトークン(URI)を付加します。
SAS URL を使用してアクセス権を許可する
SAS URL には、クエリ パラメーターの特別なセットが含まれています。 それらのパラメーターは、リソースへのクライアントのアクセス方法を示します。
REST API
SAS URL を REST API で使用するには、次のように SAS URL を要求本文に追加します。
{
"source":"<BLOB SAS URL>"
}
これで完了です。 SAS トークンを作成して、クライアントがデータにアクセスする方法を認可する方法を説明しました。