create-service-account

個々の Apigee ハイブリッド コンポーネントが認証された API 呼び出しを行えるようにするため、適切なロールが付与された Google Cloud Platform サービス アカウントを作成し、そのアカウントに関連付けられたサービス アカウント キー ファイルをダウンロードします。このコマンドによって生成されたサービス アカウント キーファイルは、構成オーバーライド ファイルで使用できます。

create-service-account ツールは HYBRID_ROOT_DIR/tools ディレクトリにあります。

前提条件

create-service-account ツールを使用するには、gcloud CLI をインストールする必要があります。このユーティリティを呼び出すユーザーには Service Account Admin ロールが必要です。

はじめに、ステップ 2: Google Cloud プロジェクトを作成するで作成したプロジェクトに gcloud プロジェクト構成が設定されていることを確認します。

gcloud config list project

現在のプロジェクト ID を変更する必要がある場合は、次のコマンドを使用します。

gcloud config set project GC_PROJECT_ID

ここで GC_PROJECT_ID は、ステップ 2: Google Cloud プロジェクトを作成するで作成したプロジェクトです。

create-service-account の構文

create-service-account ツールは次の構文を使用します。

create-service-account HYBRID_SERVICE OUTPUT_DIR [GC_PROJECT_ID]

ここで

  • HYBRID_SERVICE: サービス アカウントを使用するハイブリッド サービスを指定します。指定できる値は次のとおりです。
    • apigee-cassandra
    • apigee-distributed-trace
    • apigee-logger
    • apigee-mart
    • apigee-metrics
    • apigee-synchronizer
    • apigee-udca
    • apigee-watcher

    なお、create-service-account ツールで apigee-org-admin サービス アカウントを作成することはできません。このサービス アカウントを作成するには、gcloud API を使用する必要があります。詳細については、サービス アカウントを作成するをご覧ください。

  • OUTPUT_DIR: ダウンロードされたサービス アカウント キーを保存する出力ディレクトリ。
  • GCP_PROJECT_ID:(省略可)ハイブリッド対応組織にバインドされているプロジェクトの Google Cloud プロジェクト ID を指定します。Google Cloud プロジェクト ID が指定されていない場合、ツールは現在の gcloud 構成からプロジェクト ID を取得します。

詳細な説明

create-service-account ツールは次の処理を行います。

  • ハイブリッド コンポーネントによって使用される Google Cloud サービス アカウントを作成します。作成されたサービス アカウントには、その特定のコンポーネントが動作するために必要なロールが付与されます。
  • サービス アカウントキーをシステムにダウンロードします。ハイブリッド インストール手順で説明されているように、このサービス アカウント キーをハイブリッド構成オーバーライド ファイルに設定します。

このツールは、次のコンポーネントのサービス アカウントを作成します。

コンポーネント* ロール 基本インストールでの要否 説明
apigee-cassandra Storage オブジェクト管理者
roles/storage.objectAdmin
バックアップと復元で説明されているように、Cassandra が Cloud Storage へのバックアップを実行できるようにします。
apigee-distributed-trace Cloud Trace エージェント
roles/cloudtrace.agent
ハイブリッド ランタイム プレーンが Google Cloud TraceJaeger などのシステムとの互換性がある形式で分散リクエスト トレースに参加できるようにします。
apigee-logger ログ書き込み
roles/logging.logWriter
ロギングデータの収集を可能にします(ロギングを参照)。クラスタが GKE 以外にインストールされている場合にのみ必要です。
apigee-mart Apigee Connect エージェント
roles/apigeeconnect.Agent
MART サービスの認証を可能にします。Apigee Connect エージェント ロールにより、Apigee Connect プロセスと安全に通信を行えるようにします(Apigee Connect の使用を参照)。
apigee-metrics モニタリング指標の書き込み
roles/monitoring.metricWriter
指標データの収集を可能にします(指標収集の概要を参照)。
apigee-synchronizer Apigee Synchronizer 管理者
roles/apigee.synchronizerManager
Synchronizer がプロキシ バンドルと環境構成データをダウンロードできるようにします。また、トレース機能も有効にします。
apigee-udca Apigee Analytics エージェント
roles/apigee.analyticsAgent
トレース、分析、デプロイのステータス データを管理プレーンに転送できるようにします。
apigee-watcher Apigee ランタイム エージェント
roles/apigee.runtimeAgent
Apigee Watcher では、synchronizer から組織の仮想ホスト関連の変更を pull し、istio Ingress を構成するために必要な変更が行われます。
* この名前は、ダウンロードされたサービス アカウントキーのファイル名で使用されます。

Google Cloud コンソールでサービス アカウントを作成することもできます。サービス アカウントの作成と管理もご覧ください。

次の例では、apigee-logger サービス用の新しいサービス アカウントを作成し、ダウンロードされたキーファイルを ./service-accounts ディレクトリに配置します。

./my-hybrid-root/tools/create-service-account apigee-logger ./service-accounts