設定內容傳遞網路憑證和身份驗證 cdn-credentials-authentication

Adobe提供的CDN具有多項功能和服務,部分功能和服務需仰賴憑證和驗證,以確保適當等級的企業安全性。 透過在使用Cloud Manager 設定管道部署的設定檔案中宣告規則,客戶可以自助方式設定以下專案:

  • AdobeCDN用來驗證來自客戶管理CDN之請求的X-AEM-Edge-Key HTTP標題值。
  • 用來清除CDN快取中資源的API權杖。
  • 透過提交基本驗證表單,可存取受限制內容的使用者名稱/密碼組合清單。 此功能可供早期採用者使用。

各項(包括設定語法)將於下文其本身的章節中說明。

有一節說明如何旋轉金鑰,這是良好的安全性作法。

客戶管理的CDN HTTP標頭值 CDN-HTTP-value

如AEM as a Cloud Service🔗頁面中的CDN中所述,客戶可以選擇透過自己的CDN路由流量,這稱為「客戶CDN」(有時也稱為BYOCDN)。

在設定過程中,AdobeCDN和客戶CDN必須同意X-AEM-Edge-Key HTTP標頭的值。 此值是在每個請求中在客戶CDN處設定的,之後再傳送至AdobeCDN,由其驗證值是否如預期般符合,因此它可以信任其他HTTP標頭,包括有助於將請求傳送至適當AEM來源的那些標頭。

X-AEM-Edge-Key ​值由名為cdn.yaml或類似檔案中的edgeKey1edgeKey2屬性參考,位於最上層config資料夾的某處。 閱讀設定管道文章,以瞭解資料夾結構以及如何部署設定的詳細資訊。

語法如下所述:

kind: "CDN"
version: "1"
metadata:
  envTypes: ["dev"]
data:
  authentication:
    authenticators:
      - name: edge-auth
        type: edge
        edgeKey1: ${{CDN_EDGEKEY_052824}}
        edgeKey2: ${{CDN_EDGEKEY_041425}}
    rules:
      - name: edge-auth-rule
        when: { reqProperty: tier, equals: "publish" }
        action:
          type: authenticate
          authenticator: edge-auth

請參閱設定管道文章,瞭解data節點上方屬性的說明。 kind屬性值應該是​ CDN,且version屬性應該設定為1

其他屬性包括:

  • 包含子authentication節點的Data節點。

  • authentication底下,有一個authenticators節點和一個rules節點,兩者都是陣列。

  • 驗證者:可讓您宣告權杖或認證的型別,在此例中是邊緣金鑰。 其內容包含下列屬性:

    • name — 描述性字串。
    • 型別 — 必須是edge
    • edgeKey1 - X-AEM-Edge-Key ​的值,它必須參考Cloud Manager秘密型別環境變數。 在「已套用服務」欄位中,選取全部。 建議值(例如,${{CDN_EDGEKEY_052824}})反映新增日期。
    • edgeKey2 — 用於旋轉機密,如下面的旋轉機密區段所述。 定義方式與edgeKey1類似。 至少必須宣告edgeKey1edgeKey2其中之一。
  • 規則:可讓您宣告應該使用哪一個驗證器,以及它是否用於發佈和/或預覽層。 內容包括:

    • name — 描述性字串。
    • when — 根據流量篩選規則文章中的語法,決定何時應該評估規則的條件。 通常會包含目前階層的比較(例如publish),以便驗證所有即時流量為透過客戶CDN的路由。
    • 動作 — 必須指定「authenticate」,並參考所要的驗證者。
NOTE
在部署參考Edge金鑰的組態之前,必須將其設定為密碼型別Cloud Manager環境變數

清除API Token purge-API-token

客戶可以使用宣告的清除API權杖清除CDN快取。 Token是在名為cdn.yaml或類似的檔案中宣告的,位於最上層config資料夾的某處。 閱讀設定管道文章,以瞭解資料夾結構以及如何部署設定的詳細資訊。

語法如下所述:

kind: "CDN"
version: "1"
metadata:
  envTypes: ["dev"]
data:
  authentication:
    authenticators:
       - name: purge-auth
         type: purge
         purgeKey1: ${{CDN_PURGEKEY_031224}}
         purgeKey2: ${{CDN_PURGEKEY_021225}}
    rules:
       - name: purge-auth-rule
         when: { reqProperty: tier, equals: "publish" }
         action:
           type: authenticate
           authenticator: purge-auth

請參閱設定管道文章,瞭解data節點上方屬性的說明。 kind屬性值應該是​ CDN,且version屬性應該設定為1

其他屬性包括:

  • 包含子authentication節點的data節點。

  • authentication底下,有一個authenticators節點和一個rules節點,兩者都是陣列。

  • 驗證者:可讓您宣告權杖或認證的型別,在此例中為清除金鑰。 其內容包含下列屬性:

    • name — 描述性字串。
    • 型別 — 必須是永久刪除。
    • purgeKey1 — 其值必須參考Cloud Manager秘密型別的環境變數。 在「已套用服務」欄位中,選取全部。 建議值(例如${{CDN_PURGEKEY_031224}})反映新增日期。
    • purgeKey2 — 用於輪換密碼,如下面的輪換密碼區段部分所述。 至少必須宣告purgeKey1purgeKey2其中之一。
  • 規則:可讓您宣告應該使用哪一個驗證器,以及它是否用於發佈和/或預覽層。 內容包括:

    • 名稱 — 描述性字串
    • when — 根據流量篩選規則文章中的語法,決定何時應該評估規則的條件。 通常包括目前階層的比較(例如,發佈)。
    • 動作 — 必須指定「authenticate」,並參考所要的驗證者。
NOTE
在部署參考清除金鑰的組態之前,必須將清除金鑰設定為機密型別Cloud Manager環境變數

基本驗證 basic-auth

NOTE
此功能尚未正式推出。若要加入早期採用者計畫,請傳送電子郵件至aemcs-cdn-config-adopter@adobe.com

透過彈出要求使用者名稱和密碼的基本驗證對話方塊來保護某些內容資源。此功能主要用於輕度驗證使用案例(例如業務利害關係人審查內容),而不是作為一般使用者存取權的完整解決方案。

一般使用者會看到基本驗證對話方塊突然出現,如下所示:

basicauth-dialog

語法如下:

kind: "CDN"
version: "1"
metadata:
  envTypes: ["dev"]
data:
  experimental_authentication:
    authenticators:
       - name: my-basic-authenticator
         type: basic
         credentials:
           - user: johndoe
             password: ${{JOHN_DOE_PASSWORD}}
           - user: janedoe
             password: ${{JANE_DOE_PASSWORD}}
    rules:
       - name: basic-auth-rule
         when: { reqProperty: path, like: "/summercampaign" }
         action:
           type: authenticate
           authenticator: my-basic-authenticator

請參閱設定管道文章,瞭解data節點上方屬性的說明。 kind屬性值應該是​ CDN,且version屬性應該設定為1

此外,語法包括:

  • 包含experimental_authentication節點的data節點(釋放功能時會移除實驗首碼)。

  • experimental_authentication底下,有一個authenticators節點和一個rules節點,兩者都是陣列。

  • 驗證者:在此案例中,會宣告基本驗證者,其結構如下:

    • 名稱 — 描述性字串

    • 型別 — 必須是basic

    • 認證陣列,每個認證包括下列名稱/值組,一般使用者可在基本驗證對話方塊中輸入:

  • 規則:可讓您宣告應使用哪些驗證者,以及應保護哪些資源。 每個規則包含:

    • 名稱 — 描述性字串
    • when — 根據流量篩選規則文章中的語法,決定何時應該評估規則的條件。 通常會包含發佈層級或特定路徑的比較。
    • 動作 — 必須指定「authenticate」,並參考所要的驗證者,這是此情境的基本驗證
NOTE
在部署參考密碼的組態之前,必須將密碼設定為機密型別Cloud Manager環境變數

旋轉密碼 rotating-secrets

  1. 不定期變更認證是很好的安全性做法。 雖然清除金鑰使用相同的策略,但還是可以透過邊緣金鑰的範例來達到此目的。

  2. 一開始只定義了edgeKey1,在此案例中是參考為${{CDN_EDGEKEY_052824}},這作為建議的慣例,會反映其建立日期。

    code language-none
    experimental_authentication:
      authenticators:
        - name: edge-auth
          type: edge
          edgeKey1: ${{CDN_EDGEKEY_052824}}
    
  3. 輪換金鑰時,請建立新的Cloud Manager密碼,例如${{CDN_EDGEKEY_041425}}

  4. 在設定中,從edgeKey2參照並部署。

    code language-none
    experimental_authentication:
      authenticators:
        - name: edge-auth
          type: edge
          edgeKey1: ${{CDN_EDGEKEY_052824}}
          edgeKey2: ${{CDN_EDGEKEY_041425}}
    
  5. 一旦確定不再使用舊的Edge金鑰,請從設定中移除edgeKey1以將其移除。

    code language-none
    experimental_authentication:
      authenticators:
        - name: edge-auth
          type: edge
          edgeKey2: ${{CDN_EDGEKEY_041425}}
    
  6. 從Cloud Manager刪除舊密碼參考(${{CDN_EDGEKEY_052824}})並進行部署。

  7. 準備好進行下一次輪換時,請遵循相同的程式,不過這次您會新增edgeKey1至組態,並參考名為的新Cloud Manager環境密碼,例如${{CDN_EDGEKEY_031426}}

    code language-none
    experimental_authentication:
      authenticators:
        - name: edge-auth
          type: edge
          edgeKey2: ${{CDN_EDGEKEY_041425}}
          edgeKey1: ${{CDN_EDGEKEY_031426}}
    
recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab