MACsec 鍵をローテーションする

このページでは、Cloud Interconnect 用の MACsec 鍵をローテーションする方法について説明します。

鍵をローテーションするには、次の操作を行います。

  1. 既存の鍵の後に開始日を指定して新しい鍵を作成します。
  2. 新しい鍵をオンプレミス ルーターに追加します。
  3. 新しい鍵の開始時間まで待ちます。
  4. 新しい鍵がアクティブであることを確認します。
  5. 最も古い鍵を削除します。

指定した開始時刻で、最大 5 つの事前共有キーを作成できます。鍵の開始時間は、前の鍵の開始時間から 6 時間以内ではなく、昇順にする必要があります。不要になった鍵をローテーションするには、鍵を削除します。

事前共有キーに有効期限はありません。複数のキーを構成する場合は、すべてのキーに開始時間を構成する必要があります。

必要なロール

MACsec キーの取得に必要な権限を取得するには、Compute ネットワーク管理者 roles/compute.networkAdmin)の IAM ロールをプロジェクトに付与するように管理者に依頼します。ロールの付与の詳細については、アクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

カスタムロールを使用する場合は、Cloud Interconnect の MACsec を管理するカスタムロールに compute.interconnects.getMacsecConfig IAM 権限が含まれていることを確認してください。

省略可: 既存のキーの開始時間を更新する

開始時間が指定されているキーが存在していて、新しいキーを作成しようとすると、Cloud Interconnect にエラーが表示されます。開始時間を修正するには、次のいずれかのオプションを選択して、既存のキーの開始時間を設定します。

コンソール

  1. Google 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. Google Cloud コンソールで、Cloud Interconnect の [物理接続] タブに移動します。

      [物理接続] に移動

    2. 変更する接続を選択します。

    3. [MACsec] タブで [事前共有キー] セクションに移動し、[事前共有キーを管理] をクリックします。

    4. [キーを追加] をクリックします。

    5. 事前共有キーの詳細を指定します。

      • キー名: キーの名前。この名前は Google Cloud コンソールに表示され、gcloud CLI で psk-2 などのキーを参照するために使用されます。

      • 開始時刻: キーが有効になる時刻。新しい事前共有キーの開始時間は、前のキーの開始時間から 6 時間以上後にしてください。

    6. 事前共有キーを追加するには、[キーを追加] をクリックします。連続する事前共有キーの開始時間は 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. 既存のキーを一覧表示し、新しいキーの Connectivity Association Key(CAK)と Connectivity Association Key Name(CKN)をメモするには、次のいずれかのオプションを選択します。

    コンソール

    1. [事前共有キー] セクションで、追加した事前共有キーの名前を見つけ、[表示] をクリックします。Connectivity Association Key(CAK)と Connectivity Association Key Name(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. Google 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
    

    出力は次のようになります。

    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. Google 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
      

次のステップ