Azure Container Apps 的驗證功能支援一項稱為「令牌存放區」的特性。 令牌存放區是與 Web 應用程式和 API 使用者相關聯的令牌存放庫。 您可以使用 Azure Blob 儲存體容器來設定容器應用程式,以啟用權杖存放區。
您的應用程式程式代碼有時需要代表使用者存取這些提供者的數據,例如:
- 張貼至已驗證使用者的 Facebook 時程表
- 使用 Microsoft Graph API 讀取使用者的公司數據
您通常需要撰寫程式代碼,以收集、儲存和重新整理應用程式中的令牌。 您可以使用權杖存放區,在需要權杖時擷取權杖,並在權杖無效時告知容器應用程式重新整理權杖。
啟用權杖存放區時,容器應用程式驗證系統會快取已驗證工作階段的識別碼權杖、存取權杖和重新整理權杖,且只能由相關聯的使用者存取。
備註
令牌存放區功能處於預覽狀態。
產生SAS URL
您必須先有具有私人 Blob 容器的 Azure 記憶體帳戶,才能為容器應用程式建立令牌存放區。
移至您的記憶體帳戶,或在 Azure 入口網站中 建立新的 帳戶。
選取 [容器 ],並視需要建立私人 Blob 容器。
在您要建立權杖存放區的儲存體容器資料列中,選取三個點 (•••) 功能表,然後選取 [產生 SAS]。
在 [ 產生 SAS ] 視窗中輸入適合您需求的值。
請確定您在定義中包含 讀取、 寫入和 刪除 許可權。
備註
若要確保容器的存取不會停止,請確定您注意到 SAS 密鑰到期日。
選取 [ 產生 SAS 令牌 URL ] 按鈕以產生 SAS URL。
複製 SAS URL,並將其貼到文字編輯器中,以供下列步驟使用。
將SAS URL儲存為秘密
透過產生的SAS URL,您可以將它儲存在容器應用程式中做為秘密。 請確定與您的商店相關聯的權限中包含對 Blob 儲存容器的有效權限。
請前往 Azure 入口網站中的您的容器應用程式。
選取 [祕密]。
選取 [新增 ],然後在 [ 新增秘密 ] 視窗中輸入下列值。
備註
[新增秘密] 視窗中的所有屬性都是必要的。
| 房產 | 價值觀 |
|---|---|
| 鑰匙 | 輸入SAS秘密的名稱。 |
| 類型 | 選取 容器應用程式密碼。 |
| 價值觀 | 輸入您從記憶體容器產生的 SAS URL 值。 |
建立令牌存放區
containerapp auth update使用 命令將 Azure 記憶體帳戶與您的容器應用程式產生關聯,並建立令牌存放區。
在此範例中,您會將值取代為以 <> 括弧括住的預留位置權杖。
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 屬性建立令牌存放區。