メインコンテンツまでスキップ

クロスアカウントサービスアカウントを作成する

このページでは、Zilliz Cloud がプロジェクトのデータプレーンをブートストラップするためのクロスアカウントサービスアカウントを作成および設定する方法について説明します。このサービスアカウントは、Zilliz Cloud に代行で VPC リソースを管理するために必要な権限を付与します。

📘注意

Zilliz BYOC は現在 General Availability で利用可能です。アクセス方法および実装の詳細については、Zilliz Cloud sales までお問い合わせください。

Procedures

Google Cloud Platform (GCP) ダッシュボードを使用して EKS ロールを作成できます。あるいは、Zilliz Cloud が提供する Terraform スクリプトを使用して、GCP 上の Zilliz Cloud プロジェクト向けインフラストラクチャをブートストラップすることもできます。詳細については、Terraform Provider を参照してください。

Step 1: custom role を作成する

クロスアカウントサービスアカウントを作成する前に、サービスアカウントに割り当てる必要がある複数の custom role を作成する必要があります。

instance group manager custom role を作成する

instance group manager custom role を作成し、その custom role を上で作成したサービスアカウントに割り当てることで、サービスアカウントが GKE ノードを管理するために必要な最小限の権限を持つようにします。

instance group manager custom role を作成する手順は次のとおりです。

1

GCP コンソールで IAM & Admin を探してクリックします。

2

左側のナビゲーションペインで Roles を選択します。

3

Create role をクリックします。

4

作成する custom role の title と description を設定します。

このデモでは、Zilliz Cloud Custom Role for GKE Management を使用できます。

5

Role launch stageAlpha から General Availability に変更します。

6

Add permissions をクリックします。この手順で追加する権限は次のとおりです。

  • compute.instanceGroupManagers.get

  • compute.instanceGroupManagers.update

7

Create をクリックします。

IAM custom role を作成する

IAM custom role を作成し、その custom role を上で作成したサービスアカウントに割り当てることで、サービスアカウントが IAM ポリシーを管理するために必要な最小限の権限を持つようにします。

custom role を作成する手順は次のとおりです。

1

GCP コンソールで IAM & Admin を探してクリックします。

2

左側のナビゲーションペインで Roles を選択します。

3

Create role をクリックします。

4

作成する custom role の title と description を設定します。

このデモでは、IAM custom role を使用できます。

5

Role launch stageAlpha から General Availability に変更します。

6

Add permissions をクリックします。この手順で追加する権限は次のとおりです。

  • iam.serviceAccounts.getIamPolicy

  • iam.serviceAccounts.setIamPolicy

7

Create をクリックします。

Step 2: サービスアカウントを作成する

この手順では、Zilliz Cloud が代行で VPC リソースを管理するためのサービスアカウントを作成し、そのサービスアカウントのメールアドレスを Zilliz Cloud コンソールに貼り戻します。

サービスアカウントを作成する手順は次のとおりです。

1

GCP コンソールで IAM & Admin を探してクリックします。

2

左側のナビゲーションペインで Service Accounts を選択します。

3

Create service account をクリックします。

4

作成するサービスアカウントに適切な名前を設定します。

このデモでは、your-org-cross-account-sa に設定できます。サービスアカウント ID は、サービスアカウント名の先頭 18 文字です。適切な値に手動で設定できます。

5

Create and continue をクリックします。

6

Permissions セクションで、前の手順で作成した custom role と、いくつかの GCP 管理ロールをサービスアカウントに追加します。

次の表に、サービスアカウントに割り当てるロールを示します。

RoleTypeCondition
Instance group manager custom roleCustomresource.name.extract("projects/<name>").startsWith("PROJECT_ID") &&resource.name.extract("zones/<name>").startsWith("REGION") &&resource.name.extract("instanceGroupManagers/<name>").startsWith("gke-CLUSTER_NAME")
IAM custom roleCustomapi.getAttribute("iam.googleapis.com/modifiedGrantsByRole", []).hasOnly(["roles/iam.workloadIdentityUser"])
Kubernetes Engine AdminGCP-managedN/A
Storage Object ViewerGCP-managedresource.name.startsWith("projects/_/buckets/YOUR_BUCKET_NAME")
📘注意

上記の式内にある 3 つのプレースホルダーを実際の値に置き換える必要があります。

  • PROJECT_ID

    これは GCP project ID です。

  • REGION

    これは BYOC プロジェクトの cloud region です。

  • CLUSTER_NAME

    これは、Zilliz Cloud が代行で作成する GKE cluster の名前です。

    Google Cloud は cluster 名の前に gke- というプレフィックスを追加する点に注意してください。したがって、条件内では gke- プレフィックスをそのまま保持し、CLUSTER_NAME のみを実際の名前に置き換えてください。

  • YOUR_BUCKET_NAME

    これは前の手順で作成した bucket の名前です。

7

Save をクリックします。

他のサービスアカウントへのアクセスを付与する

前の手順で作成したクロスアカウントサービスアカウントに、他のいくつかのサービスアカウントへのアクセス権を付与します。

以下の手順に従って、これらのサービスアカウントへのアクセス権をクロスアカウントサービスアカウントに付与してください。

1

GCP コンソールで Service Account を探してクリックします。

2

リスト内で次のサービスアカウントを見つけてクリックします。

Description
PROJECT_NUMBER-compute@developer.gserviceaccount.comこのサービスアカウントは、Compute Engine API を有効にすると自動的に作成されます。
📘注意

GCP project には project ID と project number があります。project ID は GCP コンソールで project を作成するときに入力した文字列であり、project number は作成時に GCP が project に割り当てる文字列です。

PROJECT_NUMBER はご自身の GCP project number に置き換える必要があります。

3

Principals with access タブに切り替え、Grant access をクリックします。

4

Add principals > New principals に、前の手順で作成したクロスアカウントサービスアカウントを入力します。

5

Assign roles > RoleService Account User を選択します。

Zilliz Cloud のサービスアカウントを impersonate する

前の手順で作成したクロスアカウントサービスアカウントが、Zilliz Cloud コンソールで提供される Zilliz Cloud のサービスアカウントを impersonate できるようにします。

Zilliz Cloud が提供するサービスアカウントを impersonate する手順は次のとおりです。

1

Zilliz Cloud コンソールで、Zilliz Cloud が提供するサービスアカウントをコピーします。

2

GCP コンソールに移動し、IAM & Admin を探してクリックします。

3

左側のナビゲーションペインで Service Accounts を選択します。

4

クロスアカウントサービスアカウントを絞り込み、その名前をクリックして詳細を表示します。

5

Principals with access タブに切り替え、Grant access をクリックします。

6

Zilliz Cloud コンソールからコピーしたサービスアカウントを Add principals > New principals に貼り付けます。

7

Assign roles > RoleService Account Token Creator を選択します。

8

Save をクリックします。

Ctrl I