GCPサービスアカウントまとめ


GCPサービスアカウントとは

GCP(Google Cloud Platform)のサービスアカウントとは、Google Cloud のリソースにアクセスするアプリケーションや仮想マシンなどに対して、認証と認可を行うための特別なアカウントのことです。

・サービスアカウントはユーザー用のアカウントとは異なります。アプリケーションや仮想マシンなどが使用します。
・サービスアカウントを使用すると、アプリケーションは特定の権限を持つ認証情報を利用してGCPリソースにアクセス可能。

各サービスアカウントには、特定の権限が付与され、その範囲内でGCPのリソースに対する操作が可能。権限はIAM(Identity and Access Management)ポリシーによって管理されます。

利用例

利用例は次のとおりです。

・Compute Engine:
仮想マシンインスタンスが他のGCPリソース(例: Cloud Storage、BigQuery)にアクセスする際に使用します。

・Cloud Functions:
サーバーレス関数がデータベースやメッセージングサービスにアクセスする場合に使用します。

・アプリケーション:
デプロイされたアプリケーションがAPIやデータベースにアクセスするために使用します。

作成と管理

サービスアカウントは Google Cloud コンソール、gcloudコマンドラインツール、API などで作成します。
VM作成時に"アイデンティティとAPIアクセス"の""サービスアカウント"で指定が可能です。デフォルトでは"Compute Engine default service account"が指定されていて、変更が可能です。
JSON形式のキーが作成されます。このキーで認証が可能です。このキーはとても重要なので厳重な管理が必要です。必要な場合はローテーションして作成、管理します。また監査ログで監視や不正利用のチェックが必要です。

例えばOSで次のように指定してキーを利用します。

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\path\to\your-service-account-key.json"

サービスアカウントには必要な IAM ロールをアサインします。これによりサービスアカウントに権限が設定されます。

サービスアカウント名は次のような形式となります。
service-account-name@project-id.iam.gserviceaccount.com

例えば、サービスアカウント名が my-service-account で、プロジェクトIDが my-gcp-project の場合、ユーザー名は次のようになります。
my-service-account@my-gcp-project.iam.gserviceaccount.com

Windows Server の RDP に関して

Windows 接続はデフォルトはRDP , Linux 系は SSH 接続となる。Windows Server は初めてRDP接続しようしたときに、ユーザ名を聞かれる。デフォルトはGoogle アカウントの性 + 名。 (tanaka_taro)。自由にユーザ名を設定することが可能。パスワードもそのときに表示される。後でパスワードは表示されないようなのでそのときにメモします。

ただしコンソールからWindowsユーザはどんどん作成することが可能。(Windows ローカルアカウントが作成可能)





[戻る]