Workday アクティビティのロギング
プレビュー
Lakewatchはプライベートプレビュー段階です。アクセスをリクエストするには、Databricksアカウントチームにお問い合わせください。
Lakewatchは、Workdayアクティビティログからデータを取り込むためのAPIコネクタを提供します。この記事では、前提条件、構成手順、コネクタスキーマ、およびLakewatchパーサーの監視対象について説明します。
前提条件
このコネクターには以下が必要です:
- Serverless Lakeflow Spark Declarative Pipelines がオンになっています。
- Unity Catalog、および Unity Catalog 接続を作成または使用する権限。「接続のパーミッション」を参照してください。
- Workday の権限で、テナント設定の編集、統合システム ユーザーおよびセキュリティ グループの作成、ドメイン セキュリティ ポリシーの更新、API クライアントの登録する、更新トークンの生成を行います。
既知の制限事項
- Workday アクティビティ Logs は追記専用であるため、SCD タイプ 2 はサポートされていません。
- 過去のルックバックは30日を超えてはなりません。取り込むデータの期間を選択するを参照してください。
インジェスト用の Workday の構成
認証とユーザー アクティビティ Logs へのアクセスを有効にするように Workday を構成します。
アクティビティのログ記録とOAuthを有効にする
- Workday で、「 テナント設定の編集 - システム 」を検索して選択します。
- ユーザーアクティビティログを有効にする が選択されていることを確認します。
- Edit テナント Setup - Security を検索して選択します。
- OAuth 2.0 クライアントの有効化 が選択されていることを確認します。
統合システム ユーザーを作成する
- Workdayで、 統合システム ユーザーの作成 を検索して選択します。
- ユーザー名を入力します。たとえば、
ISU_Databricksなどです。 - 新しいパスワードを入力します。
- セッションタイムアウト (分) を
0に設定します。 - 「 UI セッションを許可しない 」を選択します。
- OK をクリックします。
- ユーザー名を記録します。更新トークンを生成するときに使用します。
セキュリティ権限を構成する
- Workday で、「 セキュリティグループを作成 」を検索して選択します。
- テナントセキュリティグループのタイプ に 統合システムセキュリティグループ (制約なし) を選択し、グループの名前を入力します。たとえば、
ISSG_Databricks_Monitoringがあります。 - OK をクリックします。
- 次のフォームで、統合システム ユーザーを Integration System Users に追加します。
- OK をクリックし、 完了 をクリックします。
- ドメインの表示 を検索して選択します。
- 「 ドメイン 」で「 システム監査 」を選択します。
- システム監査 ドメイン名の横にある3点メニューをクリックし、 [ドメイン] > [セキュリティポリシー権限の編集] を選択します。
- セキュリティグループを レポート/タスク権限 テーブルに追加し、 表示 アクセス権を付与します。
- セキュリティグループを [統合権限] テーブルに追加し、 [取得] アクセス権を付与します。
- OK をクリックし、 完了 をクリックします。
- [保留中のセキュリティポリシーの変更を有効にする ] を検索して選択します。
- 変更の説明を入力してください。
- OK をクリックします。
APIクライアントを登録する
- Workday で 登録する API Clients for Integrations を検索して選択します。
- クライアント名 を入力してください。たとえば、
Databricks User Activity Monitorなどです。 - 有効期限のない更新トークン を選択すると、更新トークンの期限切れによる中断を防ぐことができます。
- スコープ(機能領域) で、 System を選択します。
- OK をクリックします。
- クライアントID と クライアントシークレット を記録します。Unity Catalog 接続を作成するときに、これらの値を使用します。
Databricks認証用のWorkday値を取得する
-
Workdayで View API Clients を検索して選択します。
-
「 統合用APIクライアント 」tabを選択します。
-
作成したAPIクライアントに対して、次の設定が有効になっていることを確認します:
- クライアント付与タイプ : 認可コード付与
- アクセストークンの種類 : ベアラー
-
Workday REST API Endpoint を見つけます。URLから次の値を記録します。
- スキームとパスを除いた、
.comで終わるインスタンスドメイン。たとえば、wd2-impl-services1.workday.com。 - URL内の
/v1/の後に表示されるテナント名。
- スキームとパスを除いた、
-
APIクライアントのLinkをクリックします。 APIクライアントの表示 ページで、クライアント名の横にある3ドットメニューをクリックします。
-
API クライアント > 統合の更新トークンの管理 を選択します。
-
Workday アカウント の場合、統合システムユーザーを選択し、 OK をクリックします。
-
[新規更新トークンを生成] を選択し、 [OK] をクリックします。
-
更新トークンを記録します。これは、Unity Catalog接続を作成するときに使用します。
Lakewatch UI を通じて接続を作成するときは、上記で収集した インスタンス URL 、 テナント名 、 クライアント ID 、 クライアント シークレット 、および 更新トークン が必要です。
次のステップ
上記の構成を完了した後、Lakewatch UIでWorkdayコネクタを使用してデータソースを作成します。手順については、 APIコネクターを参照してください。
コネクタとLakewatchスキーマ
コネクタは、defaultソーススキーマから以下のソーステーブルを取り込みます。
ソーステーブル | Workdayデータ | 組み込みのLakewatchパーサー |
|---|---|---|
| ユーザーアクティビティログイベント |
|
コネクタは、ソーステーブルをデータソースの未加工宛先に書き込みます。組み込みパーサーは、データソースを構成するときに解析済み宛先を設定しない限り、パーサーの名前が付いた別の解析済みテーブルに書き込みます。
Lakewatch管理列
コネクターは、各RAWソース行に次の列を追加します。
lw_id:Lakewatchが主キーとして使用する非Null文字列。コネクターは、WorkdayrequestTimeと完全なソースレコードから、安定した時間でソート可能なIDを導き出します。IDは、増分同期全体での重複排除をサポートします。time:requestTimeからコピーされたNULL以外のTimestamp。コネクタは、増分取り込みのカーソルフィールドとしてtimeを使用します。
Lakewatchデータソースの場合、Rawテーブルにはこれらの列も含まれ、解析済みテーブルは3つのLakewatch管理フィールドをすべて引き継ぎます。
lw_meta:標準のLakewatch処理メタデータ。lw_observables: パーサーでセキュリティ監視可能としてマークされたフィールドから抽出された値。
パーサーは、解析されたtime列も割り当てます。
情報については、 パーサー リファレンスを参照してください。
未処理コネクターテーブルスキーマ
次のスキーマは、標準のLakeflow ConnectフィールドとLakewatch管理フィールドを組み合わせたものです。
スキーマ
列 | データ型 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
パーサーのオブザーバブル
workday_activity パーサーは target を VARIANT として書き込み、次のフィールドを lw_observables に抽出します。
可観測項目
フィールド | 可観測 |
|---|---|
|
|
|
|
|
|