このページでは、Cloud Interconnect 用の MACsec の鍵をローテーションする方法について説明します。
鍵をローテーションするには、次の操作を行います。
- 既存の鍵の後に開始日を指定して新しい鍵を作成します。
- 新しい鍵をオンプレミス ルーターに追加します。
- 新しい鍵の開始時間まで待ちます。
- 新しいキーがアクティブであることを確認します。
- 最も古い鍵を削除します。
指定した開始時刻で、最大 5 つの事前共有キーを作成できます。鍵の開始時間は、前の鍵の開始時間から 6 時間以内ではなく、昇順にする必要があります。不要になった鍵をローテーションするには、鍵を削除します。
事前共有キーに有効期限はありません。複数のキーを構成する場合は、すべてのキーに開始時間を構成する必要があります。
必要なロール
MACsec キーの取得に必要な権限を取得するには、プロジェクトに対する Compute ネットワーク管理者 (roles/compute.networkAdmin
)IAM ロールを付与するよう管理者に依頼します。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
カスタムロールを使用する場合は、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] タブで [事前共有キー] セクションに移動し、[事前共有キーを管理] をクリックします。
[キーを追加] をクリックします。
事前共有キーの詳細を指定します。
キー名: キーの名前。この名前は Google Cloud コンソールに表示され、gcloud CLI で
psk-2
などのキーを参照するために使用されます。開始時刻: キーが有効になる時刻。新しい事前共有キーの開始時間は、前のキーの開始時間から 6 時間以上後にしてください。
事前共有キーを追加するには、[キーを追加] をクリックします。連続する事前共有キーの開始時間は 6 時間以上あける必要があります。
[送信] をクリックします。
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 用に作成するすべてのキーに開始時刻を設定することをおすすめします。
既存のキーを一覧表示し、新しいキーの Connectivity Association Key(CAK)と Connectivity Association Key Name(CKN)をメモするには、次のいずれかのオプションを選択します。
コンソール
[事前共有キー] セクションで、追加した事前共有キーの名前を見つけ、[表示] をクリックします。Connectivity Association Key(CAK)と Connectivity Association Key Name(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] タブで [事前共有キー] に移動し、削除するキーを選択して [削除] をクリックします。
[事前共有キー] セクションで、新しいキーの [キーのステータス] が「有効、使用中」と表示され、削除したキーが表示されていないことを確認します。
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