Google Cloud リソースに対するアクセス権限の付与
スキャンモードが googlecloud で動作する Ksocket は GCE インスタンスに関する情報を API 経由で収集します。
この際、対象の Google Cloud のプロジェクトに対して Compute 閲覧者(Compute Viewer) 相当のロールを必要とします。
そのため、以下のいずれかの方法で必要な権限を付与してください。
接続されたサービスアカウントを使用する場合
接続されたサービスアカウント を使用し Ksocket がインストールされた GCE インスタンスに対象プロジェクトへの権限を付与します。
具体的な設定手順は下記リンクを参照してください。
※サービスアカウントキー用のファイル(Ksocket インストール先の
./etc/ksocket/googlecloud.toml
)が存在する場合は削除してください。
サービスアカウントキーを使用する場合
サービスアカウントキーを使用し Ksocket に対象となる管理対象プロジェクトへの権限を付与します。
サービスアカウントおよびサービスアカウントキーを作成します。
対象のプロジェクトをスコープとするロールを、作成したサービスアカウントに付与します。
上記の具体的な手順は下記リンクを参照してください。
作成したサービスアカウントキーは Ksocket を動作させるインスタンス内に配置します。
その後 Ksocket のインストール先に ./etc/ksocket/googlecloud.toml
を作成し、以下のように設定してください1。
# Google Cloud からダウンロードしたサービスアカウントキーのファイルパスを指定
# 絶対パスまたは相対パスを指定でき、相対パスの場合は、`$KSOCKET_HOME/etc/ksocket` を基準とする
serviceAccountFile = "/opt/fixpoint/ksocket/etc/ksocket/service-account-key.json"
# Windows の場合は、"C:\ProgramData\Fixpoint\ksocket\etc\ksocket\service-account-key.json"
1
設定ファイルがある場合はサービスアカウントキーの利用を優先します。
設定ファイル中に指定がない場合は、接続されたサービスアカウントによるスキャンを試みます。