第2章 Workload Identity Federation を使用して GCP 上にクラスターを作成する
2.1. Workload Identity Federation の概要
Workload Identity Federation (WIF) は、Google Cloud Platform (GCP) のアイデンティティーおよびアクセス管理 (IAM) 機能であり、お客様のクラウドアカウント上のリソースにセキュアにアクセスする方法をサードパーティーに提供するものです。WIF を使用するとサービスアカウントキーが不要になります。これは Google Cloud の推奨される認証情報の認証方法です。
サービスアカウントキーを使用すると、Google Cloud リソースへの強力なアクセスが可能になります。しかし、サービスアカウントキーは、エンドユーザーが管理する必要があり、適切に管理されていない場合、セキュリティーリスクになる可能性があります。WIF は、Google クラウドリソースへのアクセス方法としてサービスキーを使用しません。代わりに、WIF は外部アイデンティティープロバイダーからの認証情報を使用してワークロード用の有効期間が短い認証情報を生成することでアクセスを許可します。ワークロードはこの認証情報を使用して、一時的にサービスアカウントの権限を借用し、Google Cloud リソースにアクセスします。これにより、サービスアカウントキーを適切に管理する負担がなくなり、権限のないユーザーがサービスアカウントキーにアクセスするリスクもなくなります。
以下に、Workload Identity Federation のプロセスの基本的な概要を箇条書きで示します。
- Google Cloud Platform (GCP) プロジェクトの所有者が、アイデンティティープロバイダーを使用してワークロードアイデンティティープールを設定します。これにより、OpenShift Dedicated が有効期間の短い認証情報を使用してプロジェクトの関連サービスアカウントにアクセスできるようになります。
- このワークロードアイデンティティープールは、ユーザーが定義するアイデンティティープロバイダー (IP) を使用して要求を認証するように設定されます。
- アプリケーションがクラウドリソースにアクセスするために、まず Google の Security Token Service (STS) に認証情報を渡します。STS は指定されたアイデンティティープロバイダーを使用して認証情報を検証します。
- 認証情報が検証されると、STS は呼び出し元に一時的なアクセストークンを返します。これにより、アプリケーションがそのアイデンティティーにバインドされたサービスアカウントの権限を借用できるようになります。
Operator もクラウドリソースへのアクセスを必要とします。このアクセスを許可するためにサービスアカウントキーの代わりに WIF を使用すると、サービスアカウントキーがクラスターに保存されなくなるため、クラスターのセキュリティーがさらに強化されます。代わりに、Operator にはサービスアカウントの権限を借用する一時的なアクセストークンが付与されます。これらのトークンは有効期間が短く、定期的にローテーションされます。
Workload Identity Federation の詳細は、Google Cloud Platform のドキュメント を参照してください。
Workload Identity Federation (WIF) は、OpenShift Dedicated バージョン 4.17 以降でのみサポートされています。