本頁說明如何輪替 Cloud Interconnect 適用的 MACsec 金鑰。
如要輪替金鑰,請完成下列步驟:
- 建立新的金鑰,開始日期須晚於現有金鑰。
- 將新金鑰新增至內部部署路由器。
- 等待新金鑰的開始時間。
- 確認新車鑰已啟用。
- 刪除最舊的金鑰。
您最多可以建立五組預先共用金鑰,並指定生效時間。 金鑰的開始時間必須遞增,且不得與前一個金鑰的開始時間相差六小時。如要輪替不再使用的金鑰,請移除該金鑰。
預先共用金鑰不會過期。如果設定多個金鑰,所有金鑰都必須設定開始時間。
必要的角色
如要取得擷取 MACsec 金鑰所需的權限,請要求管理員授予您專案的Compute Network Admin (roles/compute.networkAdmin
) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
如果您選擇使用自訂角色,請確保管理 Cloud Interconnect MACsec 的自訂角色包含 compute.interconnects.getMacsecConfig
IAM 權限。
選用:更新現有金鑰的開始時間
如果您有不含開始時間的金鑰,並嘗試建立新金鑰,Cloud Interconnect 會顯示錯誤訊息。如要修正開始時間,請選取下列任一選項,為現有金鑰設定開始時間:
主控台
前往 Trusted 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
建立新的金鑰
如要新增金鑰,請選取下列其中一個選項:
主控台
前往 Trusted Cloud 控制台的 Cloud Interconnect「實體連線」分頁。
選取要修改的連線。
在「MACsec」分頁中,前往「預先共用金鑰」部分,然後按一下「管理預先共用金鑰」。
按一下「新增金鑰」。
指定預先共用金鑰的詳細資料:
金鑰名稱:金鑰的名稱。這個名稱會顯示在Trusted 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 的邊緣路由器會使用啟動時間最新的金鑰,並隨著時間推移自動切換至下一個金鑰。所有設定的金鑰都具有無限期效期。也就是說,如要完成金鑰輪替,您必須移除不想使用的舊金鑰。
驗證有效金鑰
操作步驟如下:
如要列出現有金鑰,請選取下列其中一個選項:
主控台
前往 Trusted 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 連線設定中移除舊金鑰,請選取下列其中一個選項:
主控台
前往 Trusted Cloud 控制台的 Cloud Interconnect「實體連線」分頁。
選取要查看的連線。
在「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