Google Cloud で Linux 仮想マシン(VM)インスタンスを実行している場合は、VM へのユーザーやアプリケーションのアクセスを共有または制限することが必要になる場合があります。
Linux VM インスタンスへのユーザー アクセスを管理する必要がある場合は、次のいずれかの方法を使用します。
VM インスタンスへのアプリケーション アクセスを管理する必要がある場合は、SSH をサービス アカウントで使用するをご覧ください。
ユーザー アクセスの管理
OS Login
ほとんどの場合は、OS Login を使用することをおすすめします。OS Login 機能では、Compute Engine IAM のロールを使用して Linux インスタンスへの SSH アクセスを管理できます。2 要素認証プロセスを使用した OS Login を設定することでセキュリティを強化し、組織のポリシーを設定することで組織レベルでのアクセスを管理できます。
OS Login を有効にする方法については、OS Login を設定するをご覧ください。
メタデータ内の SSH 認証鍵を管理する
アクセスを管理するための独自のディレクトリ サービスを運用している場合や、OS Login を設定できない場合は、メタデータ内の SSH 認証鍵を手動で管理できます。
手動での鍵管理によるリスク
SSH 認証鍵を手動で管理することのリスクには、次のようなものがあります。
- メタデータに保存された SSH 認証鍵を使用して VM に接続するすべてのユーザーは、VM に対する
sudo
アクセス権を持ちます。 - 期限切れの鍵を記録し、VM にアクセスできないユーザーの鍵を削除する必要があります。たとえば、チームメンバーがプロジェクトを離れる場合は、VM に引き続きアクセスできなくなるように、メタデータからメンバーの鍵を手動で削除する必要があります。
- また、gcloud CLI や API の呼び出しを誤って指定すると、プロジェクトまたは VM の公開 SSH 認証鍵がすべて消去され、プロジェクト メンバーの接続が切断される可能性があります。
- プロジェクト メタデータを変更できるユーザーとサービス アカウントは、プロジェクト レベルの SSH 認証鍵をブロックする VM を除く、プロジェクト内のすべての VM の SSH 認証鍵を追加できます。
手動での鍵管理が必要かどうかわからない場合は、代わりに Compute Engine ツールを使用してインスタンスに接続します。
次のステップ
- OS Login を設定する方法を学習する。
- SSH 認証鍵を作成する方法を学習する。
- VM に SSH 認証鍵を追加する方法を学習する。
- VM からの SSH 認証鍵を制限する方法を学習する。