輪替 MACsec 金鑰

本頁說明如何輪替 Cloud Interconnect 適用的 MACsec 金鑰。

如要輪替金鑰,請完成下列步驟:

  1. 建立新的金鑰,並設定比現有金鑰晚一天的開始日期。
  2. 將新金鑰新增至內部 Router。
  3. 等待新鍵的開始時間。
  4. 確認新車鑰是否已啟用。
  5. 刪除最久未使用的金鑰。

您最多可以建立五組預先共用金鑰,並指定開始時間。鍵的開始時間必須依序遞增,且不得在前一個鍵的開始時間後六小時內。如要輪替不再使用的金鑰,請移除金鑰。

預先共用金鑰不會過期。如果您設定多個鍵,則所有鍵都必須設定開始時間。

必要的角色

如要取得擷取 MACsec 金鑰所需的權限,請要求管理員為您授予專案的 Compute Network Admin (roles/compute.networkAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

如果您選擇使用自訂角色,請確認用於管理 Cloud Interconnect 的 MACsec 的自訂角色包含 compute.interconnects.getMacsecConfig IAM 權限。

選用:更新現有金鑰的開始時間

如果您有沒有開始時間的金鑰,並嘗試建立新金鑰,Cloud Interconnect 會顯示錯誤訊息。如要修正開始時間,請選取下列任一選項,為現有鍵設定開始時間:

主控台

  1. 在 Google Cloud 控制台中,前往 Cloud Interconnect「Physical connections」分頁。

    前往「Physical connections」(實體連線)

  2. 選取要修改的連線。

  3. 在「MACsec」分頁中,前往「預先共用金鑰」部分,然後按一下「受管理的預先共用金鑰」

  4. 在「開始時間」欄位中選取或輸入新的開始時間。

  5. 按一下「提交」

gcloud

gcloud compute interconnects macsec update-key INTERCONNECT_CONNECTION_NAME \
    --key-name=KEY_NAME \
    --start-time=START_TIME

更改下列內容:

  • INTERCONNECT_CONNECTION_NAME:Cloud Interconnect 連線的名稱
  • KEY_NAME:要更新的鍵名稱
  • START_TIME:此金鑰的有效時間,以 ISO 8601 格式表示,例如 2023-07-01T21:00:01.000Z

建立新的金鑰

  1. 如要新增金鑰,請選取下列任一選項:

    主控台

    1. 在 Google Cloud 控制台中,前往 Cloud Interconnect「Physical connections」分頁。

      前往「Physical connections」(實體連線)

    2. 選取要修改的連線。

    3. 在「MACsec」分頁中,前往「預先共用金鑰」部分,然後按一下「受管理的預先共用金鑰」

    4. 按一下「新增金鑰」

    5. 指定預先共用金鑰的詳細資料:

      • 索引鍵名稱:索引鍵名稱。這個名稱會顯示在Google Cloud 主控台中,並由 gcloud CLI 用於參照金鑰,例如 psk-2

      • 開始時間:開始使用金鑰的時間。請確認新預先共用金鑰的開始時間,至少比上一個金鑰的開始時間晚六小時。

    6. 如要新增其他預先共享金鑰,請按一下「新增金鑰」。連續的預先共用金鑰,其開始時間必須相隔至少六小時。

    7. 按一下「提交」

    gcloud

    gcloud compute interconnects macsec add-key INTERCONNECT_CONNECTION_NAME \
        --key-name=KEY_NAME \
        --start-time="START_TIME"
    

    更改下列內容:

    • INTERCONNECT_CONNECTION_NAME:Cloud Interconnect 連線的名稱
    • KEY_NAME:鍵的名稱
    • START_TIME:此金鑰的有效時間,以 ISO 8601 格式表示,例如 2023-07-01T21:00:01.000Z

    最佳做法是建議您為為 Cloud Interconnect 適用的 MACsec 建立的所有金鑰設定開始時間。

  2. 如要列出現有金鑰,並記下新金鑰的連線關聯金鑰 (CAK) 和連線關聯金鑰名稱 (CKN),請選取下列任一選項:

    主控台

    1. 在「預先共用金鑰」專區中,找出您新增的預先共用金鑰名稱,然後按一下「查看」。視窗會顯示連線關聯鍵 (CAK) 和連線關聯鍵名稱 (CKN)。按一下任一值旁的 「複製」,即可將值複製到電腦的剪貼簿。

    2. 按一下 [關閉]

    gcloud

    gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
    

    輸出結果會與下列內容相似:

    preSharedKeys:
    - name: key1
      ckn: 0101010189abcdef...0123456789abcdef
      cak: 0123456789abcdef...0123456789abcdef
      startTime: 2023-07-01T12:12:12Z
    - name: key2
      ckn: 0202020289abcdef...0123456789abcdef
      cak: 0123456889abcdef...0123456789abcdef
      startTime: 2023-08-01T12:12:12Z
    

    在這個範例中,key2 是新加入的鍵。

  3. 將新金鑰的開始時間、CAK 和 CKN 值新增至內部部署路由器的設定。

Google 邊緣路由器會使用最近的開始時間金鑰,並隨著時間自動切換至下一個金鑰。所有已設定的金鑰都會設為無限期。也就是說,如要完成金鑰輪替,您必須移除不想使用的舊金鑰

驗證有效金鑰

操作步驟如下:

  1. 如要列出現有金鑰,請選取下列任一選項:

    主控台

    1. 在 Google Cloud 控制台中,前往 Cloud Interconnect「Physical connections」分頁。

      前往「Physical connections」(實體連線)

    2. 選取要查看的連線。

    3. 在「MACsec」分頁的「預先共用金鑰」部分,列出此連線的所有預先共用金鑰。

    gcloud

    gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
    

    輸出結果會與下列內容相似:

    preSharedKeys:
    - name: key1
      ckn: 0101010189abcdef...0123456789abcdef
      cak: 0123456789abcdef...0123456789abcdef
      startTime: 2023-07-01T12:12:12Z
    - name: key2
      ckn: 0202020289abcdef...0123456789abcdef
      cak: 0123456889abcdef...0123456789abcdef
      startTime: 2023-08-01T12:12:12Z
    

    請注意最後一個鍵之前列出的鍵的 CKN 值。

  2. 如要確認在移除舊金鑰前,有無列出有效金鑰,請選取下列任一選項:

    主控台

    • 在「預先共用」金鑰專區中,確認新金鑰的「金鑰狀態」為「有效,正在使用中」

    gcloud

    gcloud compute interconnects get-diagnostics INTERCONNECT_CONNECTION_NAME
    

    輸出結果會與以下內容相似,請找出 macsec

    bundleAggregationType: BUNDLE_AGGREGATION_TYPE_STATIC
    bundleOperationalStatus: BUNDLE_OPERATIONAL_STATUS_UP
    links:
    - circuitId: LOOP-0
      googleDemarc: fake-local-demarc-0
      lacpStatus:
        googleSystemId: '00:11:22:33:44:55'
        neighborSystemId: '55:44:33:22:11:00'
        state: ACTIVE
      macsec:
        ckn: 0202020289abcdef...0123456789abcdef
        operational: true
      operationalStatus: LINK_OPERATIONAL_STATUS_UP
      receivingOpticalPower:
        state: OK
        value: -2.49
      transmittingOpticalPower:
        state: OK
        value: -0.88
    macAddress: 00:11:22:33:44:55
    

    gcloud compute interconnects get-diagnostics 指令會顯示有效鍵的 CKN 值。如果您設定了多個鍵,系統會選取最晚開始時間的鍵做為有效鍵。Google 邊緣路由器會拒絕任何嘗試使用舊版金鑰的新 MACsec 工作階段。

取下舊鑰匙

為確保安全,Cloud Interconnect 的 MACsec 會防止您移除最後一個有效金鑰。

如要移除舊金鑰,請完成下列步驟:

  1. 從內部路由器設定中移除舊金鑰。這樣可確保在您從 Cloud Interconnect 刪除舊金鑰之前,內部部署路由器不會使用舊金鑰。

  2. 如要從 Cloud Interconnect 連線設定中移除舊金鑰,請選取下列任一選項:

    主控台

    1. 在 Google Cloud 控制台中,前往 Cloud Interconnect「Physical connections」分頁。

      前往「Physical connections」(實體連線)

    2. 選取要查看的連線。

    3. 在「MACsec」分頁中,前往「預先共用金鑰」,選取要刪除的金鑰,然後按一下「刪除」

    4. 在「預先共用」金鑰部分,確認新金鑰的「金鑰狀態」為「啟用中,正在使用」,且您要刪除的金鑰已從清單中移除。

    gcloud

    1. 執行下列指令:

      gcloud compute interconnects macsec remove-key INTERCONNECT_CONNECTION_NAME \
          --key-name=KEY_NAME
      

      更改下列內容:

      • INTERCONNECT_CONNECTION_NAME:Cloud Interconnect 連線的名稱
      • KEY_NAME:鍵的名稱
    2. 如要確認是否移除正確的鍵,請執行下列指令:

      gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME
      

      輸出結果會與下列內容相似:

      preSharedKeys:
      - name: key2
        ckn: 0202020289abcdef...0123456789abcdef
        cak: 0123456889abcdef...0123456789abcdef
        startTime: 2023-08-01T12:12:12Z
      

後續步驟