本頁說明如何輪替 Cloud Interconnect 適用的 MACsec 金鑰。
如要輪替金鑰,請完成下列步驟:
- 建立新的金鑰,開始日期須晚於現有金鑰。
- 將新金鑰新增至內部部署路由器。
- 等待新金鑰的開始時間。
- 確認新車鑰已啟用。
- 刪除最舊的金鑰。
您最多可以建立五組預先共用金鑰,並指定生效時間。 金鑰的開始時間必須遞增,且不得與前一個金鑰的開始時間相差六小時。如要輪替不再使用的金鑰,請移除該金鑰。
預先共用金鑰不會過期。如果設定多個索引鍵,所有索引鍵都必須設定開始時間。
必要的角色
    
      如要取得擷取 MACsec 金鑰所需的權限,請要求管理員授予您專案的Compute Network Admin  (roles/compute.networkAdmin) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
  
  
如果您選擇使用自訂角色,請確保管理 Cloud Interconnect MACsec 的自訂角色包含 compute.interconnects.getMacsecConfig IAM 權限。
選用:更新現有金鑰的開始時間
如果您有不含開始時間的金鑰,並嘗試建立新金鑰,Cloud Interconnect 會顯示錯誤。如要修正開始時間,請選取下列任一選項,為現有金鑰設定開始時間:
主控台
- 前往 Google Cloud 控制台的 Cloud Interconnect「實體連線」分頁。 
- 選取要修改的連線。 
- 在「MACsec」分頁中,前往「預先共用金鑰」部分,然後按一下「管理預先共用金鑰」。 
- 在「開始時間」欄位中,選取或輸入新的開始時間。 
- 按一下「提交」。 
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
建立新的金鑰
- 如要新增金鑰,請選取下列其中一個選項: - 主控台- 前往 Google Cloud 控制台的 Cloud Interconnect「實體連線」分頁。 
- 選取要修改的連線。 
- 在「MACsec」分頁中,前往「預先共用金鑰」部分,然後按一下「管理預先共用金鑰」。 
- 按一下「Add key」。 
- 指定預先共用金鑰的詳細資料: - 金鑰名稱:金鑰的名稱。這個名稱會顯示在Google Cloud 控制台中,並由 gcloud CLI 用於參照金鑰,例如 - psk-2。
- 開始時間:金鑰的有效時間。請確認新預先共用金鑰的開始時間,至少比前一個金鑰的開始時間晚六小時。 
 
- 如要新增其他預先共用金鑰,請按一下「新增金鑰」。連續預先共用金鑰的開始時間必須間隔至少六小時。 
- 按一下「提交」。 
 - 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 建立所有金鑰時,都設定開始時間。 
- 如要列出現有金鑰,並記下新金鑰的連線關聯金鑰 (CAK) 和連線關聯金鑰名稱 (CKN),請選取下列其中一個選項: - 主控台- 在「預先共用金鑰」部分,找出您新增的預先共用金鑰名稱,然後按一下「查看」。視窗會顯示連線關聯金鑰 (CAK) 和連線關聯金鑰名稱 (CKN)。按一下任一值旁的「複製」,即可將該值複製到電腦的剪貼簿。 
- 按一下 [關閉]。 
 - 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是新加入的金鑰。
- 將新金鑰的開始時間、CAK 和 CKN 值新增至地端部署路由器的設定。 
Google 的邊緣路由器會使用啟動時間最新的金鑰,並隨著時間推移自動切換至下一個金鑰。所有設定的金鑰都具有無限期效期。也就是說,如要完成金鑰輪替,您必須移除不想使用的舊金鑰。
驗證有效金鑰
操作步驟如下:
- 如要列出現有金鑰,請選取下列其中一個選項: - 主控台- 前往 Google Cloud 控制台的 Cloud Interconnect「實體連線」分頁。 
- 選取要查看的連線。 
- 在「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 值。 
- 如要確認系統是否已列出有效金鑰,請選取下列其中一個選項: - 主控台- 在「預先共用金鑰」部分,確認新金鑰的「金鑰狀態」顯示為「有效,使用中」。
 - 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 會禁止您移除最後一個有效金鑰。
如要移除舊金鑰,請完成下列步驟:
- 從內部部署路由器設定中移除舊金鑰。這樣可確保在您從 Cloud Interconnect 刪除舊金鑰前,內部部署路由器不會使用舊金鑰。 
- 如要從 Cloud Interconnect 連線設定中移除舊金鑰,請選取下列其中一個選項: - 主控台- 前往 Google Cloud 控制台的 Cloud Interconnect「實體連線」分頁。 
- 選取要查看的連線。 
- 在「MACsec」分頁中,前往「Pre-shared keys」(預先共用金鑰),選取要刪除的金鑰,然後按一下「Delete」(刪除)。 
- 在「預先共用金鑰」部分,確認新金鑰的「金鑰狀態」為「有效,使用中」,且您要刪除的金鑰不再列出。 
 - gcloud- 執行下列指令: - gcloud compute interconnects macsec remove-key INTERCONNECT_CONNECTION_NAME \ --key-name=KEY_NAME- 更改下列內容: - INTERCONNECT_CONNECTION_NAME:Cloud Interconnect 連線的名稱
- KEY_NAME:金鑰名稱
 
- 如要確認您移除的索引鍵正確無誤,請執行下列指令: - gcloud compute interconnects macsec get-config INTERCONNECT_CONNECTION_NAME- 輸出結果會與下列內容相似: - preSharedKeys: - name: key2 ckn: 0202020289abcdef...0123456789abcdef cak: 0123456889abcdef...0123456789abcdef startTime: 2023-08-01T12:12:12Z