Azure Container Apps認証では、トークン ストアと呼ばれる機能がサポートされます。 トークン ストアは、Web アプリと API のユーザーに関連付けられているトークンのリポジトリです。 トークン ストアを有効にするには、Azure Blob Storage コンテナーを使用してコンテナー アプリを構成します。
アプリケーション コードでは、次のようなユーザーの代わりにこれらのプロバイダーのデータにアクセスする必要がある場合があります。
- 認証済みユーザーの Facebook タイムラインに投稿する
- Microsoft Graph API を使用してユーザーの企業データを読み取る
通常は、アプリケーションでトークンを収集、格納、更新するためのコードを記述する必要があります。 トークン ストアを使用すると、必要なときに トークンを取得 し、 無効になったときに更新するように Container Apps に指示 できます。
トークン ストアが有効になっている場合、Container Apps 認証システムは、認証されたセッションの ID トークン、アクセス トークン、および更新トークンをキャッシュし、関連付けられているユーザーのみがアクセスできます。
SAS URL を生成する
コンテナー アプリのトークン ストアを作成するには、まずプライベート BLOB コンテナーを持つAzure Storage アカウントが必要です。
ストレージ アカウントに移動するか、Azure ポータルで新しいアカウントを作成する。
必要に応じて、[ コンテナー] を選択し、プライベート BLOB コンテナーを作成します。
トークン ストアを作成するストレージ コンテナーの行で、3 つのドット (•••) メニューを選択し、[ SAS の生成] を選択します。
[SAS の生成] ウィンドウで、ニーズに適した値を入力します。
定義に読み取り、書き込み、削除 のアクセス許可を含めるようにしてください。
注
コンテナーへのアクセスが停止しないようにするには、SAS の有効期限を追跡してください。
[SAS トークン URL の生成] ボタンを選択して、SAS URL を生成します。
SAS URL をコピーし、次の手順で使用するためにテキスト エディターに貼り付けます。
SAS URL をシークレットとして保存する
SAS URL が生成されると、コンテナー アプリにシークレットとして保存できます。 ストアに関連付けられているアクセス許可に、BLOB ストレージ コンテナーに対する有効なアクセス許可が含まれていることを確認します。
Azure ポータルでコンテナー アプリに移動します。
[シークレット] を選択します。
[ 追加] を選択し、[シークレットの 追加 ] ウィンドウに次の値を入力します。
注
[ シークレットの追加 ] ウィンドウのすべてのプロパティは必須です。
| プロパティ | 価値 |
|---|---|
| 鍵 | SAS シークレットの名前を入力します。 |
| タイプ | [Container Apps シークレット] を選択します。 |
| 価値 | ストレージ コンテナーから生成した SAS URL 値を入力します。 |
トークン ストアを作成する
containerapp auth update コマンドを使用して、Azure Storage アカウントをコンテナー アプリに関連付け、トークン ストアを作成します。
この例では、<> 角かっこで囲まれたプレースホルダー トークンの代わりに値を指定します。
az containerapp auth update \
--resource-group <RESOURCE_GROUP_NAME> \
--name <CONTAINER_APP_NAME> \
--sas-url-secret-name <SAS_SECRET_NAME> \
--token-store true
さらに、sasUrlSettingNameを使用して、 プロパティを使用してトークン ストアを作成できます。