個々の 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 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