Dataform

DataformでactAs権限に適合する設定をする

こんにちは中村です。

2026年1月19日ごろから新規のDataformリポジトリに対してactAs権限が強制適用されるようです。
(既存のリポジトリは2026年4月28日ごろより適用)

そこで今回はactAs権限に対応できる設定について解説していこうと思います。

目次

設定項目について

今回の記事では2つの項目の設定方法について解説します。

  • サービスアカウントの設定
  • Git連携

サービスアカウントの設定について

対象
・サービスアカウントを明示的に設定していない場合

各リポジトリの Settings において、サービスアカウントが「デフォルトの Dataform サービスアカウント」になっている場合、サービスアカウントの明示的な設定は行われていません。
この状態では、実行時の認証には
service-*********@gcp-sa-dataform.iam.gserviceaccount.com
という Dataform のサービスエージェントが使用されます。


設定内容
・サービスアカウントを作成し、権限付与
・サービスアカウントの付け替え

Git連携について

対象
・Git連携をしていない、かつスケジュールで自動コンパイルを行っている場合

各リポジトリのSettingsで、左上にGitと接続が表示されている場合Git連携されていません。
リリースとスケジュールのリリース構成にCronのスケジュールが設定されている場合スケジュールで自動コンパイルが行われています。


設定内容
・GitHubに接続
・サービスエージェントに権限付与

設定

サービスエージェントの設定

実行に必要な権限

  • サービスアカウントを作成できるロール
  • サービスアカウントに権限を付与できるロール

設定手順

まず、GoogleCloudのコンソールに移動して、IAMと管理>サービスアカウントから + サービスアカウントを作成 を選択

作成したサービスアカウントにロールを付与します。
必要なロールは以下の通りです。

  • BigQueryジョブユーザー
  • BigQueryデータ編集者
  • BigQueryデータ閲覧者
  • ストレージオブジェクト閲覧者(DataformでGCSを見に行っている場合は必要)

次に作成したサービスアカウントへのアクセス権を許可するユーザーを追加します。
アクセス権を持つプリンシパルで + アクセスを許可 を選択

新しいプリンシパルに

  • サービスエージェント(service-*********gcp-sa-dataform.iam.gserviceaccount.com)
  • Dataformを触るメンバー

を追加し、

  • サービスアカウントユーザー
  • サービスアカウントトークン作成者

を付与します。

これでサービスアカウントの作成が完了したので、各リポジトリで付け替えを行います。

サービスアカウントが作成したサービスアカウントの名前になっていれば完了です。

Git連携

実行に必要な権限

  • サービスアカウントに権限を付与できるロール

設定手順

まず、GitHubに移動し、プライベートリポジトリを作成する。

作成後、ユーザーの設定(Settings)> Developer Settings >

Personal access tokens > Tokens (classic)を選択し、画面右上からGenerate new token (classic)を選択

アクセス名に名前を入れ、期限を選択し、スコープをrepoを選ぶ

作成できたらシークレットが作成されるので、忘れずにメモしておきましょう。後程使用します。

次にDataformに移動し、SettingsからGitと接続を選択

プロトコルを選択し、作成したリモートリポジトリのURLとブランチを入力、
その後シークレットの入力から新しいシークレットを作成を選択

先ほどのPAT作成で作成されたシークレットを値に入力し、シークレットを作成

作成が完了したら、Git接続画面で、先ほど作成したシークレットが設定されていることを確認してリンクを選択する。

続いてIAMに移動して、サービスエージェントにSecretManagerのアクセス権限を付与する。
IAMに移動して「Google提供のロール付与を含める」にチェックを入れ、フィルタにDataformサービスエージェントを入力

表示されたプリンシパル service-****************@gcp-sa-dataform.iam.gserviceaccount.com にSecretManagerのシークレットアクセッサー権限を付与します。

これでGit連携の設定は完了です。

設定が問題ないか確認する方法

リポジトリに移動し、actAs 権限チェックを「適用」にした状態で、スケジュール実行が問題なく完了すれば設定は正常です。

まとめ

今回はDataformのactAs権限の設定方法について解説しました。

既存リポジトリに関しては、既存のスケジュール実行が止まってしまう恐れがあるので、忘れずに設定しましょう。

真打ち登場LOD ~TableauのINCLUDE関数を知ろう~前のページ

ピックアップ記事

  1. 最速で理解したい人のためのIT用語集

関連記事

  1. Google Cloud Platform

    Server-side GTMのAppEngine設定をカスタマイズする

    こんにちは、エクスチュアの権泳東(權泳東/コン・ヨンドン)です。…

  2. GA 360 Suite

    GoogleDataStudio:複数のデータソースにフィルターを適用する

    こんにちは。エクスチュアの渡部です。今回はDataStudio(デ…

  3. Google BigQuery

    Tableau×BigQueryをコスパ良く使う方法

    こんにちは、エクスチュア渡部です。TableauでBigQue…

  4. Adobe Analytics

    Adobe Analytics: データフィードをGoogle BigQueryのテーブルにロードす…

    ※2019年9月4日追記この記事は情報が古いので、新しい記事を書き…

  5. Adobe Analytics

    Adobe Analytics: DatafeedをGoogle BigQueryにロード(2019…

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  6. Enterprise Data Warehouse

    爆速データウェアハウスなApache Druidを試す

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

カテゴリ
最近の記事
  1. DataformでactAs権限に適合する設定をする
  2. 真打ち登場LOD ~TableauのINCLUDE関数を知ろ…
  3. 真打ち登場LOD ~TableauのFIXED関数を知ろう~…
  4. 真打ち登場LOD ~Tableauで苦戦するアイツを知ろう~…
  5. モック作成が面倒で “楽” した話
  1. GitHub Actions

    GitHub ActionsでGCEへのデプロイを楽にしてみた
  2. Adobe Analytics

    バウンスとは-Adobe Analyticsの指標説明
  3. Adobe Analytics

    Adobe Summit 2020レポート: Customer Journey …
  4. IT用語集

    カーネル(Kernel)って何?
  5. Adobe Analytics

    Adobe Analytics:IF関数を使用した計算指標
PAGE TOP