APIおよび自動化アクセス用のサービスアカウントを作成する
サービスアカウントは、API消費者、リモートサーバーアクセス、スクリプト、またはその他の自動化エンティティによって使用される特別な種類のアカウントです
目的
A service accountは、API消費者、リモートサーバーアクセス、スクリプト、またはその他の自動化されたエンティティによって使用される特殊な種類のアカウントです。物理的な人ではなく、です。
Data Platformでは、サービスアカウントは一般的に2つの理由で使用されます:
- 外部的に、APIおよびシークレットキーを使用して、プロジェクトにアクセスする必要があるリモートエンティティを認証するため
- 内部的に、プロジェクトのジョブを認証するため。例えば、サービスアカウントをData Processing Engineワークフローにアタッチすることができます。実行時に、ジョブはサービスアカウントとして認証できます。サービスアカウントのロールは、ジョブがアクセスできるリソースを制御します。
彼らは、Identity Access ManagerのService Accountsタブにあります。Data Platformでは、各サービスアカウントは、彼らに固有である必要がある技術名によって識別されます。
Service Accounts は Project IAM にのみ存在します。
プロジェクトサービスアカウントの管理
A サービスアカウントには、プロジェクトIAM ロールが付与できます。これにより、関連するエンティティ(外部エンティティまたは内部ジョブ)がリソースにアクセスできます。サービスアカウントは関連するエンティティのアイデンティティとして使用され、サービスアカウントのロールはエンティティがアクセスできるリソースを制御します。
これにより、サービスアカウントを使用して、Data Platform上のデータにアクセスする必要があるCRONトリガーによるData Processing EngineジョブやリモートAPIのアクセスレベルを制限することができます。
サービスアカウントには2種類あります:
- デフォルトのData Platform由来のサービスアカウント: これはプロジェクトの作成時に生成され、基本的なサービスがすぐに実行できるようになります。例えば、デフォルトのプロジェクトサービスアカウントなどです。
- ユーザー管理サービスアカウント: これはData Platformのユーザーによって作成されます。
デフォルトサービスアカウント
デフォルトプロジェクトサービスアカウント は、プロジェクトの作成時に自動的に生成される、Data Platform由来のサービスアカウントです。このアカウントは、Data Processing Engine内のすべてのジョブで、認証とアクセス制御にデフォルトで使用されます。このサービスアカウントは削除できません。
プロジェクト内のユーザーは、常にData Processing Engineでこのサービスアカウントを代行することができます。
このサービスアカウントのインパーソネーションを、プロジェクトのIAMで認証されたユーザーによって制限することはできません。可能性のある特権昇格を避けるためには、このデフォルトサービスアカウントに付与された役割の権限を下げる必要があります。
デフォルトでは、プロジェクトの作成時に、デフォルトプロジェクトサービスアカウント はプロジェクトで Admin アクセス権限 を持っています。
新しいサービスアカウントの作成
プロジェクトにサービスアカウントを追加するには、新しいサービスアカウントをクリックしてください。
サービスアカウントの名前とメールアドレスを入力してください。
このメールアドレスは、リモートエンティティの認証に必要なAPIおよびシークレットキーを送信するために使用されます。
サービスアカウントをグループに追加する サービスアカウントにロールを割り当てる
ジョブ内でサービスアカウントを内部的に使用する
すべての Data Processing Engine のジョブは、ワークロードの認証とアクセス制御のためにサービスアカウントを使用します。そのため、このジョブを実行できるユーザーは、実行されたワークロードを通じてサービスアカウントを偽装し、そのアクセス権を取得できることになります。
現在、ジョブのサービスアカウントは変更できません。この機能は間もなくリリースされます!
デフォルトでは、ジョブは デフォルトプロジェクトサービスアカウント を使用するように設定されています。このサービスアカウントの偽装をユーザーが制限することはできませんので、一部のユーザーがすべてにアクセスできない場合に特権昇格が発生する可能性を避けるため、このサービスアカウントから不要な権限を削除するようにしてください。
そのためには、デフォルトプロジェクトサービスアカウントページを開き、このサービスアカウントにバインドされているすべてのグループとロールを削除し、サービスアカウントに必要な基本的なロール/グループを追加して保存します。Data Processing Engineジョブがエラーなく実行できるための基本的な権限は、以下の通りです:
Data Manager | * | ReadData Processing Engine | * | ReadData Processing Engine | * | Writeはオプションであり、ジョブ実行の終了時にメタデータ(テーブル内の行数など)を更新したい場合にのみ必要です
Data Store | Bucket | Read、バケット dpe に対する条件を指定します
サービスアカウントを外部で使用する
外部からData Platformの特定のジョブ(ワークフローの起動など)をトリガーする必要がある場合は、認証に使用するAPIとシークレットキーを生成する必要があります。
サービスアカウント用のAPIおよびシークレットキーを生成する
さらに進む
もしトレーニングや技術的なサポートが必要な場合は、営業担当者にお問い合わせください、またはこのリンクをクリックして見積もりを取得し、プロフェッショナルサービスの専門家にプロジェクトのカスタム分析を依頼してください。
質問をする、フィードバックを提供する、またはData Platformを構築するチームと直接交流するには、専用のDiscordチャネルをご利用ください。
サポートが必要な場合は、ヘルプセンターでリクエストを作成してください。
当社のユーザーコミュニティにご参加ください。

