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