1Password からデータを取り込む
ベータ版
この機能はベータ版です。使用するには、ワークスペース管理者は プレビュー ページから Lakeflow Connect for 1Password Event Logs を有効にする必要があります。Databricksのプレビューを管理するを参照してください。
Lakeflow Connect でマネージド 1Password Event Logs 取り込みパイプラインを作成し、Events API データを Databricks に取り込みます。
要件
-
取り込みパイプラインを作成するには、最初に次の要件を満たす必要があります。
-
ワークスペースでUnity Catalogが有効になっている必要があります。
-
ワークスペースで Serverless コンピュートを有効にする必要があります。Serverless コンピュートの要件を参照してください。
-
新しい接続を作成するには、メタストアに対する
CREATE CONNECTION特権が必要です。See Manage privileges in Unity Catalog.コネクタが UI ベースのパイプライン オーサリングをサポートしている場合、管理者はこのページのステップを完了することで、接続とパイプラインを同時に作成できます。 ただし、パイプラインを作成するユーザーが API ベースのパイプライン オーサリングを使用している場合、または管理者以外のユーザーである場合、管理者はまずカタログ エクスプローラーで接続を作成する必要があります。 「管理対象取り込みソースへの接続」を参照してください。
-
既存の接続を使用するには、接続オブジェクトに対する
USE CONNECTION特権またはALL PRIVILEGES特権が必要です。 -
ターゲットカタログに対する
USE CATALOG権限が必要です。 -
既存のスキーマに対して
USE SCHEMAおよびCREATE TABLE特権、またはターゲットカタログに対してCREATE SCHEMA特権を持っている必要があります。
-
-
1Password から取り込むには、まず Databricks から認証を構成し、接続を作成します。1Password への認証の構成および 1Password Event Logs 接続の作成を参照してください。
取り込みパイプラインを作成する
サポートされているソーステーブルの一覧については、サポートされているソーステーブルを参照してください。
- Declarative Automation Bundles
- Databricks notebook
宣言型オートメーションバンドルを使用して、1Password Event Logs パイプラインをコードとして管理します。バンドルには、ジョブとタスクの YAML 定義を含めることができ、Databricks CLI を使用して管理され、異なるターゲット ワークスペース(開発、ステージング、本番運用など)で共有および実行できます。詳細については、「宣言型オートメーションバンドルとは?」をご覧ください。
-
Databricks CLI を使用してバンドルを作成するには、次の手順を実行します。
Bashdatabricks bundle init -
2つの新しいリソースファイルをバンドルに追加します:
- パイプライン定義ファイル(例:
resources/one_password_event_logs_pipeline.yml)。See パイプライン.ingestion_definition および Examples。 - データの取り込み頻度を制御するジョブ定義ファイル(例:
resources/one_password_event_logs_job.yml)。
- パイプライン定義ファイル(例:
-
Databricks CLIを使用してパイプラインをデプロイします。
Bashdatabricks bundle deploy
- 次のノートブックを Databricks ワークスペースにインポートします。
-
1つ目と2つ目のセルはそのままにしておきます。変更しないでください。
-
Modify cell three with your パイプライン configuration details.See パイプライン.ingestion_definitionand Examples.
-
必要に応じて、高度なパイプライン設定を構成します。管理された取り込みパイプラインの一般的なパターンを参照してください。
-
「 すべて実行 」をクリックします。
例
1Password Event Logs コネクターにより、default ソーススキーマで 3 つのソーステーブルが利用可能になります。選択したテーブルまたはスキーマ全体を取り込みます。
特定のテーブルを取り込む
このオプションを使用して、各テーブルの宛先ネーミングをカスタマイズします。
- Declarative Automation Bundles
- Databricks notebook
次のパイプライン定義ファイルには、3つの1Password Event Logsテーブルが取り込まれます。
resources:
pipelines:
one_password_event_logs_pipeline:
name: one_password_event_logs_pipeline
catalog: 'main'
target: 'one_password_event_logs_data'
ingestion_definition:
connection_name: one_password_event_logs_connection
objects:
- table:
source_schema: 'default'
source_table: 'audit_events'
destination_catalog: 'main'
destination_schema: 'one_password_event_logs_data'
destination_table: 'audit_events'
- table:
source_schema: 'default'
source_table: 'item_usages'
destination_catalog: 'main'
destination_schema: 'one_password_event_logs_data'
destination_table: 'item_usages'
- table:
source_schema: 'default'
source_table: 'sign_in_attempts'
destination_catalog: 'main'
destination_schema: 'one_password_event_logs_data'
destination_table: 'sign_in_attempts'
次のパイプライン仕様では、3 つの 1Password Event Logs テーブルを取り込みます。
pipeline_name = "one_password_event_logs_pipeline"
connection_name = "<one-password-event-logs-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"objects": [
{
"table": {
"source_schema": "default",
"source_table": "audit_events",
"destination_catalog": "main",
"destination_schema": "one_password_event_logs_data",
"destination_table": "audit_events"
}
},
{
"table": {
"source_schema": "default",
"source_table": "item_usages",
"destination_catalog": "main",
"destination_schema": "one_password_event_logs_data",
"destination_table": "item_usages"
}
},
{
"table": {
"source_schema": "default",
"source_table": "sign_in_attempts",
"destination_catalog": "main",
"destination_schema": "one_password_event_logs_data",
"destination_table": "sign_in_attempts"
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
スキーマ全体を取り込む
このオプションを使用して、1つの宣言ですべての 1Password Event Logs ソーステーブルを単一の宛先スキーマに取り込みます。
- Declarative Automation Bundles
- Databricks notebook
次のパイプライン定義ファイルは、サポートされているすべての 1Password Event Logs テーブルを宛先スキーマに取り込みます。
resources:
pipelines:
one_password_event_logs_pipeline:
name: one_password_event_logs_pipeline
catalog: 'main'
target: 'one_password_event_logs_data'
ingestion_definition:
connection_name: one_password_event_logs_connection
objects:
- schema:
source_schema: 'default'
destination_catalog: 'main'
destination_schema: 'one_password_event_logs_data'
次のパイプライン仕様では、サポートされているすべての 1Password Event Logs テーブルが宛先スキーマに取り込まれます。
pipeline_name = "one_password_event_logs_pipeline"
connection_name = "<one-password-event-logs-connection>"
pipeline_spec = {
"name": pipeline_name,
"ingestion_definition": {
"connection_name": connection_name,
"objects": [
{
"schema": {
"source_schema": "default",
"destination_catalog": "main",
"destination_schema": "one_password_event_logs_data"
}
}
]
}
}
json_payload = json.dumps(pipeline_spec, indent=2)
create_pipeline(json_payload)
Declarative Automation Bundlesジョブ定義ファイル
以下は、Declarative Automation Bundlesで使用するジョブ定義ファイルの例です。ジョブは毎日実行されます。
- Declarative Automation Bundles
resources:
jobs:
one_password_event_logs_job:
name: one_password_event_logs_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: one_password_event_logs_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.one_password_event_logs_pipeline.id}
Common patterns
For advanced パイプライン configurations, see Common patterns for managed ingestion パイプラインs.
次のステップ
パイプラインの起動、スケジュール設定、アラートの設定を行います。一般的なパイプラインのメンテナンス タスクを参照してください。