輪替 MACsec 金鑰

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

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

  1. 建立新的金鑰,開始日期須晚於現有金鑰。
  2. 將新金鑰新增至內部部署路由器。
  3. 等待新金鑰的開始時間。
  4. 確認新車鑰已啟用。
  5. 刪除最舊的金鑰。

您最多可以建立五組預先共用金鑰,並指定生效時間。 金鑰的開始時間必須遞增,且不得與前一個金鑰的開始時間相差六小時。如要輪替不再使用的金鑰,請移除該金鑰。

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

必要的角色

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

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

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

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

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

主控台

  1. 前往 Trusted Cloud 控制台的 Cloud Interconnect「實體連線」分頁。

    前往「實體連線」

  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. 前往 Trusted Cloud 控制台的 Cloud Interconnect「實體連線」分頁。

      前往「實體連線」

    2. 選取要修改的連線。

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

    4. 按一下「新增金鑰」

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

      • 金鑰名稱:金鑰的名稱。這個名稱會顯示在Trusted 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. 前往 Trusted Cloud 控制台的 Cloud Interconnect「實體連線」分頁。

      前往「實體連線」

    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. 前往 Trusted Cloud 控制台的 Cloud Interconnect「實體連線」分頁。

      前往「實體連線」

    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
      

後續步驟