説明
メタデータによる SSH を使う VM がプロジェクト全体のキーを受け入れると、特定のインスタンスに必要なアクセスが他の VM に広がる場合があります。インスタンスの用途に合わせてキーの適用範囲を限定してください。
OS Login が有効な VM は、プロジェクトやインスタンスのメタデータにある SSH キーを使いません。実際の認証方式を確認し、メタデータキーの遮断と IAM によるアクセス管理を区別してください。
想定される影響
- プロジェクトレベルのキーが、必要以上に多くの VM に適用される場合があります。
- キーの漏えいや管理漏れにより、アクセスできるインスタンスの侵害リスクが高まる場合があります。
対処方法
- メタデータによる SSH でプロジェクト全体のキーが不要なら、インスタンスのメタデータ
block-project-ssh-keysを文字列"true"にしてください。変更前に必要な管理アクセスを準備してください。 - OS Login と最小権限の IAM を検討し、不要なキーを削除してください。プロジェクトキーの遮断だけでは、インスタンスキー、ローカルアカウント、既存のセッションは削除されません。
例
Deployment Manager のサポートは終了しています。サポートされる管理ツールを使用してください。以下はインスタンスのメタデータの一部であり、残りの VM 設定は省略しています。Compute Engine のメタデータの value は文字列です。
変更前
yaml
resources:
- name: vm
type: compute.v1.instance
properties:
description: my-vm
変更後
yaml
resources:
- name: vm
type: compute.v1.instance
properties:
description: my-vm
metadata:
items:
- key: block-project-ssh-keys
value: "true"
補足:
- 変更前: プロジェクト全体のキーの遮断を明示していません。実際の OS Login とメタデータ設定を確認する必要があります。
- 変更後: メタデータによる SSH でプロジェクト全体のキーを遮断します。他の認証経路の権限も別途管理する必要があります。