🐡

Google Compute Engine の OS Login 機能でユーザー管理を効率的に!

2024/10/29に公開

はじめに

こんにちは。クラウドエース株式会社の第三開発部に所属している小林真理子です。

元々オンプレミス環境サーバの設計・構築などの業務に携わってきましたが、クラウドエースに入社して、初めて Google Cloud に触れました。
そこでオンプレミス環境と Google Cloud とで感じたギャップなどを紹介できたら良いと思っています。

早速ですが皆さんはオンプレミス環境のサーバにログインする際、ユーザーをどのように管理していますか?
サーバごとにユーザーを作る、ID 管理システムを使う、もしくは Windows 環境なら Active Directory を利用しているかもしれません。
統合管理できていればよいのですが、サーバごとにユーザーを作ると人事異動などで定期的にユーザーの棚卸が必要になるので、サーバや利用ユーザーが多いほど管理は煩雑になります。

Google Compute Engine(以下、GCE )には OS Login という機能があり、Linux ユーザー ID を効率的に管理でき、これは素晴らしいと感じたので、ご紹介したいと思います。

OS Login とは

OS Login は、GCE における機能の1つです。
それぞれのインスタンスにおいて Google アカウントと Linux ユーザーアカウントをリンクして管理してくれます。
ログインするための権限は Google アカウントに付与される Identity and Access Management (以下、IAM )で管理されます。
従来のように 1 台ずつコマンドを実行する必要はありません!

参考:OS Login の概要

OS Login のメリット

ユーザー管理の効率化

  • 一元管理: Google アカウントと Linux ユーザーアカウントを直接関連付けることで、ユーザーやグループのアクセス権を一元的に管理できます。
  • ポリシーの自動適用: IAM ポリシーの変更が自動的に適用されるため、インスタンスごとに個別に設定する必要がありません。

セキュリティ向上

  • SSH 鍵が不要: ユーザーは Google アカウントを使用してログインするため、SSH 鍵の生成や配布、管理の手間が省けます。鍵の漏洩リスクも減少します。
  • 細かいアクセス制御: Google IAM を使用してきめ細かい認可設定が可能です。
  • 2 要素認証: オプションとしてログイン時の 2 要素認証も簡単に設定でき、さらにセキュリティ向上を見込めます。
  • 監査ログ: 誰がいつインスタンスにアクセスしたかを記録しやすく、セキュリティ監査や問題発生時のトラブルシューティングが容易になります。

設定方法

Step 1 OS Login の IAM ロールを割り当てる

OS Login を使うには、以下のいずれかの IAM ロールを付与します。

  • 標準ユーザーとして Compute Engine インスタンスにログインするためのアクセス権 ( sudo 権限なし )

    • roles/compute.osLogin
  • 管理者ユーザーとして Compute Engine インスタンスにログインするためのアクセス権 ( sudo 権限あり )

    • roles/compute.osAdminLogin

Step 2 OS Login を有効にする

OS Login 機能をプロジェクト単位またはインスタンス単位で設定できます。
上記を決定したら、OS Login を有効にするためにメタデータに次の値を設定します。
プロジェクト単位で有効化する場合はプロジェクトのメタデータに設定、インスタンス単位で有効化する場合はインスタンスのメタデータに次の値を設定します。

キー
enable-oslogin TRUE

プロジェクト単位のメタデータ設定
[Compute Engine] > [設定] > [メタデータ] 画面からメタデータを設定します。
プロジェクト単位

インスタンス単位のメタデータ設定
インスタンス単位で有効化するには、インスタンス作成時または設定対象インスタンスの[編集]画面からメタデータを設定します。
インスタンス単位

2 要素認証を有効にする場合は、メタデータに次の値も設定します。(省略可)

キー
enable-oslogin-2fa TRUE

Step 3 ログイン

OS Login を有効化すると、Cloud Console または gcloud CLI を使用して VM にログインする際に、自動的に OS Login による認証が行われ、ログインできるようになります。
OS内では組織管理者が構成したユーザー名が使用されます。

コンソールSSH

2 要素認証の設定を実施していれば、ログイン時に 2 要素認証が求められます。

2 要素認証

参考:OS Login を設定する

まとめ

OS Login は、簡単な設定でユーザー管理を一元化し、セキュリティを強化することで、運用をスムーズに進めることができます。
まだ使っていない方は、ぜひ試してみてください!

Discussion