共用方式為


管理 Azure 容器應用程式中的祕密

Azure 容器應用程式可讓您的應用程式安全地儲存敏感性組態值。 一旦祕密在應用程式層級定義,安全值即可供容器應用程式中的修訂版本使用。 此外,您還可以在級別規則內參考受保護的值。 如需將祕密與 Dapr 使用的資訊,請參閱 Dapr 整合

  • 秘密的適用範圍是應用程式,不包含應用程式的任何特定修訂版本。
  • 新的修訂不會透過新增、移除或變更秘密來產生。
  • 每個應用程式修訂版本都可以參考一或多個秘密。
  • 多個修訂版本可以參考相同的秘密。

更新或刪除的秘密不會自動影響您應用程式中現有的修訂。 當秘密更新或刪除時,您可以使用下列兩種方式之一回應變更:

  1. 新增修訂版本。
  2. 重新啟動現有的修訂版本。

在刪除秘密之前,請先部署不再參考舊密碼的新修訂版本。 然後停用參考秘密的所有修訂。

定義秘密

祕密定義為一組名稱/值組。 每個祕密的值會直接指定,或指定為 Azure Key Vault 中儲存祕密的參考。

注意

避免直接在生產環境中指定秘密的值。 請改用 Azure 金鑰保存庫 中所儲存秘密的參考,如在 Container Apps 中儲存秘密值一節中所述

在容器應用程式中儲存祕密值

透過入口網站或透過不同的命令列選項定義祕密時。

  1. 前往 Azure 入口網站的容器應用程式。

  2. 在「設定」區段中,選取「祕密」。

  3. 選取新增

  4. 在「新增祕密」窗格上,輸入下列資訊:

    • 名稱:祕密名稱。
    • 類型:選取「容器應用程式祕密」。
    • :祕密的值。
  5. 選取 [新增]。

參考 Key Vault 中的祕密

定義祕密時,您會建立 Azure Key Vault 中所儲存祕密的參考。 容器應用程式會自動從 Key Vault 擷取祕密值,並讓它可以在容器應用程式中當成祕密使用。

若要參考 Key Vault 中的祕密,您必須先在容器應用程式中啟用受控識別,並授與 Key Vault 祕密的身分識別存取權。

若在容器應用程式中啟用受控識別,請參閱受控識別

若要授予 Key Vault 祕密的存取權,針對您所建立的受控識別在 Key Vault 中建立存取原則。 啟用此原則的 [取得] 祕密使用權限。

  1. 前往 Azure 入口網站的容器應用程式。

  2. 在「設定」區段下,選取「鎖定」。

  3. 在「系統指派」索引標籤中選取「開啟」。

  4. 選取「儲存」以啟用系統指派的受控識別。

  5. 在「設定」區段中,選取「祕密」。

  6. 選取新增

  7. 在「新增祕密」窗格上,輸入下列資訊:

    • 名稱:祕密名稱。
    • 類型:選取「Key Vault 參考」。
    • Key Vault 祕密 URL:Key Vault 中祕密的 URI。
    • 身分識別:用來從 Key Vault 擷取祕密的身分識別。
  8. 選取 [新增]。

注意

如果您使用 UDR 和 Azure 防火牆,則需要將 AzureKeyVault 服務標籤和 login.microsoft.com FQDN 新增至防火牆允許清單。 請參閱使用 Azure 防火牆設定 UDR,以判斷您需要的其他服務標籤。

Key Vault 祕密 URI 和祕密輪替

Key Vault 祕密 URI 必須使用下列其中一種格式:

  • https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931:參考祕密的特定版本。
  • https://myvault.vault.azure.net/secrets/mysecret:參考祕密的最新版本。

若未在 URI 中指定版本,則應用程式會使用金鑰保存庫中的現有最新版本。 當較新版本可用時,應用程式會在 30 分鐘內自動擷取最新版本。 自動重新啟動參考環境變數中祕密的任何使用中修訂以挑選新的值。

若要完整控制使用哪一個祕密版本,請在 URI 中指定版本。

在環境變數中參考祕密

在應用程式層級宣告祕密之後 (如定義祕密一節中所述),您可以在容器應用程式中建立新的修訂時,於環境變數中參考這些祕密。 當環境變數參考秘密時,其值會以秘密中定義的值填入。

範例

下列範例展示在應用層級宣告連接字串的應用程式。 此連線會在容器環境變數和調整規則中進行參考。

已在容器應用程式中定義祕密之後,便可在建立新的修訂時在環境變數中予以參考。

  1. 前往 Azure 入口網站的容器應用程式。

  2. 開啟「修訂管理」頁面。

  3. 選取 [建立新修訂]

  4. 在「建立並部署新修訂版本」頁面中選取容器。

  5. 在「環境變數」區段中,選取「新增」。

  6. 輸入下列資訊:

    • 名稱:環境變數的名稱。
    • 來源:選取參考祕密
    • :選取您想要參考的祕密。
  7. 選取 [儲存]。

  8. 選取「建立」來建立新修訂。

在磁碟區中掛接祕密

在應用程式層級宣告祕密之後 (如定義祕密一節中所述),您可以在容器應用程式中建立新的修訂時,於環境變數中參考這些祕密。 當您在磁碟區中掛接祕密時,每個祕密都會掛接為磁碟區中的檔案。 檔名是祕密的名稱,而檔案內容則是祕密值。 您可以在體積掛接中載入所有祕密,也可以載入特定祕密。

範例

已在容器應用程式中定義祕密之後,便可在建立新的修訂時在體積掛載中予以參考。

  1. 前往 Azure 入口網站的容器應用程式。

  2. 開啟「修訂管理」頁面。

  3. 選取 [建立新修訂]

  4. 在「建立並部署新修訂版本」頁面。

  5. 選取容器,然後選取「編輯」。

  6. 在「磁碟區掛接」區段中,展開「祕密」區段。

  7. 選取「建立新磁碟區」。

  8. 輸入下列資訊:

    • 名稱:mysecrets
    • 掛接所有祕密:已啟用

    注意

    如果您想要載入特定祕密,請停用掛接所有祕密,然後選取您想要載入的祕密。

  9. 選取 [新增]。

  10. 磁碟區名稱下選取 mysecrets

  11. 掛接路徑下輸入 /mnt/secrets

  12. 選取 [儲存]。

  13. 選取「建立」來建立磁碟區掛接的新修訂。

下一步