実行ユーザー サービス アカウントが必要な統合を見つける
このページは、今後の認証の変更に備えるの一部です。変更が有効になる前に実行ユーザー サービス アカウントが必要な統合を見つけるのに役立ちます。
インテグレーションに必要かどうかを判断する
実行ユーザーの認証情報が実行全体で使用できない場合にのみ、実行ユーザー サービス アカウントが必要です。これは次の 2 つの状況でのみ発生します。
| 統合の実行方法 | 誰かの認証情報が利用可能かどうか。 | 実行ユーザー サービス アカウントが必要ですか? |
|---|---|---|
| 同期 - 誰かが開始して結果を待つ | はい、ランニング全体で | いいえ |
| 非同期 - キューに入れられ、後で完了します | トリガーされた時点でのみ | はい |
| 無人 - スケジュールまたはイベントによって開始される | いいえ、人物は写っていません | はい |
影響を受ける統合を特定する
まず、人がいない状態で実行されることはありますか?次のいずれかに該当する場合は、該当します。
- API トリガーまたは Private トリガー以外のトリガー(Schedule、Cloud Scheduler、Cloud Pub/Sub、Salesforce、Integration Connectors イベント、Eventarc トリガーなど)がある。
scheduleIntegrationsを使用して API を介してスケジュール設定します。- 別の統合が 統合の呼び出しタスクを使用して、非同期サブインテグレーションとして呼び出します。呼び出し元インテグレーションに実行ユーザー サービス アカウントがある場合でも、サブインテグレーションには独自の実行ユーザー サービス アカウントが必要です。
- 一時停止タスクまたは承認タスクを使用します。実行は待機状態になり、自動的に期限切れになります。
2 つ目は、実行ユーザーのサービス アカウントが空かどうかです。リージョン内のすべての公開済みバージョンとその実行ユーザー サービス アカウントを一覧表示するには、次のコマンドを実行します。
curl -s -G -H "Authorization: Bearer $(gcloud auth print-access-token)" \
--data-urlencode "filter=state=ACTIVE" \
--data-urlencode "pageSize=1000" \
"https://REGION-integrations.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/integrations/-/versions" \
| jq -r '.integrationVersions[]
| [ .name, (.runAsServiceAccount // "NONE") ]
| @tsv'
次のように置き換えます。
REGION: 統合のリージョン。サポート対象の地域の一覧については、ロケーションをご覧ください。PROJECT_ID: Google Cloud プロジェクトの ID
NONEを示す行は、前半も適用される場合にのみ対応が必要です。- 代わりに単一の統合を確認するには、統合エディタで統合を開き、エディタ ツールバーの ([統合設定])をクリックします。[サービス アカウント] フィールドに実行ユーザー サービス アカウントが表示されます。統合に実行ユーザー サービス アカウントがない場合は、このフィールドは空になります。
次のステップ
- すでに使用している実行ユーザー サービス アカウントにサービス アカウント ユーザーを付与します。
- 見つかった統合ごとに実行ユーザー サービス アカウントを設定します。