Mashuに新しいデータソースを作成します。データソースのタイプ選択画面で、「Knowledge Catalog」を選択してください。
Knowledge Catalog への接続は、以下の2種類の認証方式に対応しています。
| 認証方式 | 概要 |
| Workload Identity 連携 | サービスアカウントキーを発行・管理することなく、AWS と GCP 間のフェデレーション認証を使用してセキュアに接続する方法です。 ※ Workload Identity 連携は、サービスアカウントキーの漏洩リスクを排除し、一時的なトークンで認証するより安全な方式です。セキュリティを重視される場合はこちらをご利用ください。 |
| サービスアカウントキー(非推奨) | GCP で発行したサービスアカウントキーファイルを Mashu にアップロードして認証する方法です。 |
Workload Identity 連携を使用するには、GCP 側での事前設定と Mashu 側への接続情報の入力が必要です。以下の手順に沿って設定してください。
ステップ 1: Mashu の組織 ID を確認する
GCP 側の設定で組織 ID が必要になります。事前に確認しておいてください。Mashu のトップページの「組織設定」タブを開き、「組織 ID」をコピーします。
ステップ 2: GCP で Workload Identity プールとプロバイダーを作成する
GCP コンソール にログインし、Workload Identity プールとプロバイダーを作成します。
2-1. Workload Identity プールの作成
GCP コンソール左上のナビゲーションメニューから「IAM と管理」→「Workload Identity 連携」を開きます。
「プールを作成」ボタンをクリックします。
以下の項目を入力し、「続行」をクリックします。
2-3. 属性のマッピングと条件の設定
「属性のマッピング」に以下を追加します。
「属性条件」の入力欄に以下の CEL 式を入力します。
「組織ID」 の部分をステップ 1 で確認した自身の Mashu 組織 ID に置き換えてください。google.subject == 'arn:aws:sts::717777571607:assumed-role/GCPRole/[組織ID]'
この設定は必須です。 属性条件を設定しないと、他の Mashu 組織からのアクセスも許可されてしまう可能性があります。
ステップ 3: GCP サービスアカウントを作成し、権限を付与する
Mashu がメタデータの読み取りに使用する GCP サービスアカウントを作成します。
3-1. サービスアカウントの作成
GCP コンソールの「IAM と管理」→「サービスアカウント」を開きます。
3-2. サービスアカウントへの Workload Identity ユーザー権限の付与
Mashu がこのサービスアカウントの権限を借用できるよう設定します。
principal://iam.googleapis.com/projects/[プロジェクト番号]/locations/global/workloadIdentityPools/[プールID]/subject/arn:aws:sts::717777571607:assumed-role/GCPRole/[組織ID]ステップ 4: Mashu の接続設定に情報を入力する
GCP 側の設定が完了したら、Mashu のデータソース画面「接続設定」タブで認証方式として「Workload Identity 連携」を選択し、以下の情報を入力します。
asia-northeast1)を指定します。指定したロケーションのみが同期対象となります。Knowledge Catalog への接続情報を入力した後、「保存」ボタンをクリックします。GCPへの接続に成功すると、GCPプロジェクトで利用可能なソースシステム(BigQuery, CloudSQLなど)の一覧が表示されます。一覧から、メタデータを同期したいシステムを選択してください。
「データソース設定」タブでは、メタデータの同期に関する3つのオプション(マッピング、マージ、同期対象)を設定できます。
Knowledge Catalog のエントリーおよびカラムの「説明」を、を、Mashuのどの項目(エイリアス/説明)に対応させるかを設定します。
2回目以降の同期時に、Knowledge Catalog の「エントリーの説明」と「カラムの説明」でMashu上の「エイリアス」と「説明」を上書きする際のルールを設定します。
Knowledge Catalog から同期するエントリーの種類を選択します。チェックを外した種類のエントリーは同期されません。データソース画面の「データソース設定」タブで、同期するメタデータの種類を絞り込むための「タイプエイリアス」を指定します。
手順2で使用するサービスアカウントには、Mashuが Knowledge Catalog からメタデータを読み取るためのIAM権限が必要です。GCPコンソールで、以下の権限をサービスアカウントに付与してください。
サービスアカウントが所属するプロジェクトとは異なるプロジェクトのリソースを同期対象とする場合、対象プロジェクト側で当該サービスアカウントに必要な権限を付与する必要があります。
Mashuでは、サービスアカウントに対して権限が付与されているリソースのみをメタデータ同期の対象とします。権限が付与されていれば、サービスアカウントが所属するプロジェクトとは異なるプロジェクトのリソースも同期対象とします。
Knowledge Catalog がメタデータを収集している元のサービス(ソースシステム)に対しても、メタデータを読み取る権限が必要です。以下に、代表的なシステムで必要となる権限を示します。
BigQuery
CloudSQL
Cloud Pub/Sub
VertexAI
最後に、「メタデータ」タブに移動し、「メタデータ同期」ボタンをクリックします。これにより、Knowledge Catalog から Mashu へのメタデータ同期が開始されます。