個々の 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サービス アカウントを作成することはできません。このサービス アカウントを作成するには、gcloudAPI を使用する必要があります。詳細については、サービス アカウントを作成するをご覧ください。
- 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 Trace や Jaeger などのシステムとの互換性がある形式で分散リクエスト トレースに参加できるようにします。 | |
| 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