Azure Container Apps で認証トークン ストアを有効にする

Azure Container Apps 認証では、トークン ストアと呼ばれる機能がサポートされています。 トークン ストアは、Web アプリと API のユーザーに関連付けられているトークンのリポジトリです。 トークン ストアを有効にするには、Azure Blob Storage コンテナーを使用してコンテナー アプリを構成します。

次のような場合、アプリケーション コードはユーザーに代わってこれらのプロバイダーのデータにアクセスする必要があることがあります。

  • 認証されたユーザーの Facebook タイムラインに投稿する
  • Microsoft Graph API を使用してユーザーの会社のデータを読み取る

通常、アプリケーションでトークンを収集、格納、更新するには、コードを記述する必要があります。 トークン ストアを使用すると、必要なときにトークンを取得し、無効になったときに更新するように Azure Container Apps に指示できます。

トークン ストアが有効になっている場合、Container Apps 認証システムは、認証されたセッションの ID トークン、アクセス トークン、および更新トークンをキャッシュし、関連付けられているユーザーのみがアクセスできます。

Note

トークン ストア機能はプレビュー段階です。

SAS URL を生成する

コンテナー アプリのトークン ストアを作成する前に、まずプライベート BLOB コンテナーを含む Azure Storage アカウントが必要です。

  1. ストレージ アカウントに移動するか、Azure portal で新しいストレージ アカウントを作成します。

  2. 必要に応じて、[コンテナー] を選択し、プライベート BLOB コンテナーを作成します。

  3. トークン ストアを作成するストレージ コンテナーの行の末尾にある 3 つのドット (•••) を選択します。

  4. [SAS の生成] ウィンドウで、ニーズに適した値を入力します。

    読み取り書き込み削除のアクセス許可を定義に含めるようにします。

    Note

    コンテナーへのアクセスが停止しないように、SAS の有効期限を必ず追跡してください。

  5. [SAS トークンおよび URL を生成] ボタンを選択して、SAS URL を生成します。

  6. SAS URL をコピーし、次の手順で使用するためにテキスト エディターに貼り付けます。

SAS URL をシークレットとして保存する

SAS URL が生成されると、コンテナー アプリにシークレットとして保存できます。 ストアに関連付けられているアクセス許可に、BLOB ストレージ コンテナーに対する有効なアクセス許可が含まれていることを確認します。

  1. Azure portal でコンテナー アプリに移動します。

  2. [Secrets](シークレット) を選択します。

  3. [追加] を選択し、[シークレットの追加] ウィンドウに次の値を入力します。

    プロパティ
    キー SAS シークレットの名前を入力します。
    Type Azure Container Apps シークレットを選びます。
    Value ストレージ コンテナーから生成した 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 プロパティを指定したトークン ストアを作成できます。

次のステップ