このドキュメントでは、Knowledge Catalog コネクタを使用して、SQL Server から Knowledge Catalog(以前の Dataplex Universal Catalog)にメタデータをインポートする方法について説明します。
このコネクタは、オンプレミス、Cloud SQL、または他のクラウド環境でホストされている SQL Server インスタンスをサポートしています。
始める前に
SQL Server からメタデータをインポートする前に、次のタスクを完了します。
- 必要なロールと権限を付与します。
- Knowledge Catalog API と BigQuery Data Transfer Service API を有効にします。
- SQL Server の前提条件を満たします。
- ネットワーキングの前提条件を満たします。
IAM のロールと権限
Knowledge Catalog コネクタ ジョブを作成して管理するには、Knowledge Catalog と BigQuery Data Transfer Service の権限を付与する Identity and Access Management(IAM)ロールが必要です。
SQL Server コネクタを構成するために必要な権限を取得するには、管理者に次の IAM ロールを付与するよう依頼してください。
- エントリ グループを作成、管理する: プロジェクトに対する Dataplex Catalog 管理者
(
roles/dataplex.catalogAdmin)、Dataplex Catalog 編集者 (roles/dataplex.catalogEditor)、または Dataplex エントリ グループ オーナー (roles/dataplex.entryGroupOwner)。 - BigQuery Data Transfer Service 転送ジョブを作成、管理する: プロジェクトに対する BigQuery 管理者
(
roles/bigquery.admin)。 - Cloud Logging でログを表示する: ログビューア
(
roles/logging.viewer)をプロジェクトに対して。
また、BigQuery Data Transfer Service サービス エージェント
(service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com)に
dataplex.entryGroups.import権限または Dataplex エントリ グループ
インポーター
(roles/dataplex.entryGroupImporter)ロールを付与する必要があります。このロールは、プロジェクト レベルまたはエントリ グループ レベルで付与できます。
ロールの付与の詳細については、アクセスの管理 をご覧ください。
API を有効にする
Knowledge Catalog API と BigQuery Data Transfer Service API を有効にします。
SQL Server の前提条件
Microsoft SQL Server データベースにユーザー アカウントがあることを確認します。詳細については、ログインを使用してユーザーを作成する をご覧ください。
SQL Server インスタンスは次の要件を満たしている必要があります。
最小バージョン: Knowledge Catalog は、Microsoft SQL Server バージョン 14(2017)以降をサポートしています。
データベース ユーザー: Microsoft SQL Server データベースにユーザー アカウントがあることを確認します。詳細については、ログインを使用してユーザーを作成する をご覧ください。
最小権限: データベース ユーザーに次の権限を付与する必要があります。
基本権限(すべての構成で必要):
GRANT VIEW DATABASE STATE TO USER_NAME;特定のスキーマにアクセスする権限:
GRANT VIEW DEFINITION ON SCHEMA::TARGET_SCHEMA TO USER_NAME;他のすべてのスキーマにアクセスする権限:
GRANT VIEW DEFINITION ON DATABASE::TARGET_DATABASE TO USER_NAME;次のように置き換えます。
USER_NAME: 構成するデータベース ユーザー。TARGET_SCHEMA: アクセスする SQL Server スキーマの名前。TARGET_DATABASE: アクセスする SQL Server データベースの名前。
ネットワーキングの前提事項
プライベート ネットワーク内のプライベート IP アドレスを使用して外部データベースまたはサードパーティのクラウド データソースに安全に接続し、BigQuery Data Transfer Service がデータベースにアクセスできるようにするには、Private Service Connect を介した接続のネットワーク アタッチメントが必要です。
パブリック IP アドレスを使用してオンプレミス環境またはクラウド ホスト型インスタンスに接続する場合、ネットワーク アタッチメントは必要ありません。
SQL Server コネクタを構成する
コンソールまたは API を使用して SQL Server コネクタを構成します。 Google Cloud
コンソール
コンソールで、Knowledge Catalog ページに移動します。 Google Cloud
ナビゲーション メニューの [管理] セクションで、[コネクタ] をクリックします。
[Add connection] をクリックします。
[コネクタ] リストで、[SQL Server] カードを選択します。
[データソースの詳細] セクションで、SQL Server インスタンスの接続の詳細を指定します。
- [ネットワーク アタッチメント] で、必要に応じて既存のネットワーク アタッチメントを選択するか、作成します。
- ホスト 、ポート 、データベース名 、ユーザー名 、 パスワード を入力します。
- TLS を使用する場合は、TLS モード を選択し、信頼できる PEM 証明書 を指定します。
- [インポートする SQL Server メタデータ オブジェクト] で [参照] をクリックして オブジェクトを選択します。
[宛先の設定] セクションで、次の操作を行います。
- [参照] をクリックし、インポートしたメタデータを保存する既存の Knowledge Catalog エントリ グループ を選択するか、[新しいエントリ グループを作成] をクリックします。
- エントリ グループに対する権限を今すぐ設定するか、後で設定するかを選択します。ユーザーがインポートしたメタデータを表示できるように権限を設定することをおすすめします。プロジェクト レベルで BigQuery Data Transfer Service サービス エージェント
(
service-PROJECT_NUMBER@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com)に Dataplex エントリ グループ インポーター (roles/dataplex.entryGroupImporter)ロールまたは dataplex.entryGroups.import 権限を付与していない場合は、エントリ グループ レベルで付与する必要があります。
[**コネクタ構成名**] セクションの [**表示名**] に、メタデータ インポート ジョブの名前 を入力します。
[スケジュール オプション] セクションで、メタデータ インポート ジョブの頻度を構成します。[オンデマンド] を選択した場合、ジョブは手動でトリガーしたときにのみ実行されます。
省略可: [通知オプション] セクションで、ジョブの失敗に関するメールまたは Pub/Sub 通知を構成します。
省略可: [詳細オプション] セクションで、暗号化の設定を構成します。顧客管理の暗号鍵(CMEK)を選択した場合、この鍵は Knowledge Catalog メタデータ インポート ジョブを開始する前にステージングされた一時データの暗号化に使用されます。宛先の Knowledge Catalog エントリ グループのメタデータの暗号化には使用されません。
[保存] をクリックします。
REST
projects.locations.transferConfigs.create
メソッドを使用します。TransferConfig
リソースで、次のフィールドを構成します。
dataSourceIdフィールドを"sqlserver"に設定します。metadataDestinationフィールドで、ターゲット Knowledge Catalog エントリ グループのリソースパスdataplexConfigurationを使用してprojects/<var>PROJECT_ID</var>/locations/<var>LOCATION</var>/entryGroups/<var>ENTRY_GROUP_ID</var>オブジェクトを設定します。
ジョブを作成すると、Knowledge Catalog は構成に基づいて最初の実行をスケジュールします。手動で開始することもできます。
次のステップ
- コネクタ ジョブを管理する方法を学習する。