本頁說明如何輪替 Cloud Interconnect 適用的 MACsec 金鑰。
如要輪替金鑰,請完成下列步驟:
- 建立新的金鑰,並設定比現有金鑰晚一天的開始日期。
- 將新金鑰新增至內部 Router。
- 等待新鍵的開始時間。
- 確認新車鑰是否已啟用。
- 刪除最久未使用的金鑰。
您最多可以建立五組預先共用金鑰,並指定開始時間。鍵的開始時間必須依序遞增,且不得在前一個鍵的開始時間後六小時內。如要輪替不再使用的金鑰,請移除金鑰。
預先共用金鑰不會過期。如果您設定多個鍵,則所有鍵都必須設定開始時間。
必要的角色
如要取得擷取 MACsec 金鑰所需的權限,請要求管理員為您授予專案的 Compute Network Admin (roles/compute.networkAdmin
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
如果您選擇使用自訂角色,請確認用於管理 Cloud Interconnect 的 MACsec 的自訂角色包含 compute.interconnects.getMacsecConfig
IAM 權限。
選用:更新現有金鑰的開始時間
如果您有沒有開始時間的金鑰,並嘗試建立新金鑰,Cloud Interconnect 會顯示錯誤訊息。如要修正開始時間,請選取下列任一選項,為現有鍵設定開始時間:
主控台
在 Google Cloud 控制台中,前往 Cloud Interconnect「Physical connections」分頁。
選取要修改的連線。
在「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「Physical connections」分頁。
選取要修改的連線。
在「MACsec」分頁中,前往「預先共用金鑰」部分,然後按一下「受管理的預先共用金鑰」。
按一下「新增金鑰」。
指定預先共用金鑰的詳細資料:
索引鍵名稱:索引鍵名稱。這個名稱會顯示在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「Physical connections」分頁。
選取要查看的連線。
在「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「Physical connections」分頁。
選取要查看的連線。
在「MACsec」分頁中,前往「預先共用金鑰」,選取要刪除的金鑰,然後按一下「刪除」。
在「預先共用」金鑰部分,確認新金鑰的「金鑰狀態」為「啟用中,正在使用」,且您要刪除的金鑰已從清單中移除。
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