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 接続はデフォルトはRDP , Linux 系は SSH 接続となる。Windows Server は初めてRDP接続しようしたときに、ユーザ名を聞かれる。デフォルトはGoogle
アカウントの性 + 名。 (tanaka_taro)。自由にユーザ名を設定することが可能。パスワードもそのときに表示される。後でパスワードは表示されないようなのでそのときにメモします。
ただしコンソールからWindowsユーザはどんどん作成することが可能。(Windows ローカルアカウントが作成可能)
[戻る]