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関数を知ろう~前のページ

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

ピックアップ記事

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

関連記事

  1. Google Cloud Platform

    Google Compute Engine: 一定時間経過したらタスクを強制終了する

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

  2. Google BigQuery

    BigQuery BI Engine解説

    こんにちは、エクスチュア渡部です。2019/4/9-4/11に行わ…

  3. Cloud Dataflow

    Firebase AnalyticsのデータをフラットなCSVに変換する – Googl…

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

  4. Adobe Analytics

    Adobe AnalyticsのDatafeedをBigQueryのColumn-based Tim…

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

  5. Google BigQuery

    GCP: 今月のGCP課金額をslackに自動的に書き込む

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

  6. Google BigQuery

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

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

カテゴリ
最近の記事
  1. 真打ち登場LOD ~TableauのEXCLUDE関数を知ろ…
  2. DataformでactAs権限に適合する設定をする
  3. 真打ち登場LOD ~TableauのINCLUDE関数を知ろ…
  4. 真打ち登場LOD ~TableauのFIXED関数を知ろう~…
  5. 真打ち登場LOD ~Tableauで苦戦するアイツを知ろう~…
  1. ブログ

    「Power BI」を用いたダッシュボードの作成!②
  2. Treasure Data

    Treasure Data(トレジャーデータ)でよく使う関数9選[presto]…
  3. Generative AI

    VScode拡張機能「Cline」を利用してMCPのツール利用する方法
  4. dbt Projecs on Snowflake

    dbt Projects on Snowflake使ってみた
  5. ブログ

    ダッシュボードに使うべき10のグラフ③
PAGE TOP