非公開 NPM パッケージを Dataform リポジトリにインストールして、SQL ワークフローの開発に使用するには、まず Dataform でパッケージを認証する必要があります。認証プロセスは、リポジトリ内の最初の非公開パッケージとリポジトリ内の後続の非公開パッケージで異なります。
始める前に
Google Cloud コンソールの [Dataform] ページに移動します。
リポジトリを作成または選択します。
開発ワークスペースを作成または選択します。
必要なロール
Dataform で非公開 NPM パッケージを認証するために必要な権限を取得するには、リポジトリとワークスペースに対する Dataform 編集者 (roles/dataform.editor
)IAM ロール の付与を管理者に依頼してください。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Dataform リポジトリで最初の非公開パッケージを認証する
Dataform で非公開 NPM パッケージを認証するには、まず最初の非公開 NPM パッケージを Dataform リポジトリにインストールする前に、次の作業を行う必要があります。
非公開 NPM パッケージの認証トークンを Dataform リポジトリに保存する専用の Secret Manager シークレットを作成します。
- NPM レジストリから取得したパッケージの認証トークンをシークレットに追加します。
非公開 NPM パッケージのすべての認証トークンを 1 つのシークレット内のリポジトリに保存する必要があります。Dataform リポジトリごとに 1 つの専用シークレットを作成する必要があります。シークレットは JSON 形式である必要があります。
Dataform リポジトリにシークレットをアップロードします。
.npmrc
ファイルを作成し、パッケージの認証トークンをファイルに追加します。.npmrc
ファイル内の認証トークンは、アップロードされたシークレットの認証トークンと一致する必要があります。
非公開 NPM パッケージを認証したら、Dataform リポジトリにパッケージをインストールできます。
非公開パッケージの認証用のシークレットを作成する
Dataform リポジトリで非公開 NPM パッケージを認証するには、Secret Manager のシークレットを作成し、シークレット内の Dataform リポジトリにインストールするすべての非公開パッケージの認証トークンを定義する必要があります。1 つの非公開 NPM パッケージごとに 1 つの認証トークンを定義し、リポジトリごとに 1 つのシークレットにすべての認証トークンを保存します。シークレットは JSON 形式である必要があります。
非公開 NPM パッケージの認証トークンを使用してシークレットを作成するには、次の手順に従います。
Secret Manager で Secret を作成します。
- [シークレットの値] フィールドに、次の形式で 1 つ以上の認証トークンを入力します。
{ "AUTHENTICATION_TOKEN_NAME": "TOKEN_VALUE" }
以下を置き換えます。
- AUTHENTICATION_TOKEN_NAME: 認証するパッケージを識別するトークンの一意の名前。
- TOKEN_VALUE: NPM レジストリから取得した認証トークンの値
Dataform サービス アカウントにシークレットへのアクセス権を付与します。
Dataform サービス アカウントの形式は次のとおりです。
service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
- アクセス権を付与する際は、Dataform サービス アカウントに
roles/secretmanager.secretAccessor
ロールを付与してください。
- アクセス権を付与する際は、Dataform サービス アカウントに
非公開パッケージ認証用のシークレットを Dataform リポジトリにアップロードする
非公開 NPM パッケージを Dataform リポジトリに初めてインストールする前に、パッケージの認証トークンを含むシークレットをリポジトリにアップロードします。
非公開 NPM パッケージの認証トークンを含むシークレットを Dataform リポジトリにアップロードする手順は次のとおりです。
Google Cloud コンソールの [Dataform] ページに移動します。
非公開 NPM パッケージをインストールするリポジトリを選択します。
リポジトリ ページで、[設定] > [非公開 NPM パッケージを設定] の順にクリックします。
[NPM パッケージのシークレットのトークンを追加] ペインの [シークレット] プルダウンで、非公開 NPM パッケージの認証トークンを含むシークレットを選択します。
[保存] をクリックします。
非公開パッケージ認証用の .npmrc
ファイルを作成する
Dataform リポジトリで非公開 NPM パッケージを認証するには、リポジトリにトップレベルの .npmrc
ファイルを作成する必要があります。リポジトリにインストールするすべての非公開 NPM パッケージの認証トークンを .npmrc
ファイル内に保存する必要があります。.npmrc
ファイル内の認証トークンは、リポジトリにアップロードされたシークレットの認証トークンと一致する必要があります。.npmrc
ファイルの詳細については、npmrc のドキュメントをご覧ください。
リポジトリに最上位の .npmrc
ファイルを作成する手順は次のとおりです。
Google Cloud コンソールの [Dataform] ページに移動します。
プライベート NPM パッケージをインストールするリポジトリを選択し、ワークスペースを選択します。
[ファイル] ペインで、
[その他] メニューをクリックし、[ファイルの作成] をクリックします。[新しいファイルを作成] ペインで、次の操作を行います。
[ファイルパスを追加] フィールドに「
.npmrc
」と入力します。[ファイルを作成] をクリックします。
Dataform リポジトリの .npmrc
ファイルに認証トークンを追加する
パッケージ認証トークンと .npmrc
ファイルを含むシークレットをすでに含む Dataform リポジトリで非公開NPM パッケージを認証するには、非公開パッケージの認証トークンをリポジトリ内の .npmrc
ファイルに追加する必要があります。
.npmrc
ファイルで、NPM レジストリのスコープを定義し、そのスコープでアクセスされる非公開パッケージの認証トークンを追加する必要があります。.npmrc
ファイルの詳細については、npmrc のドキュメントをご覧ください。
.npmrc
ファイル内の認証トークンは、リポジトリにアップロードされたシークレットの認証トークンと一致する必要があります。
Dataform リポジトリの .npmrc
ファイルに認証トークンを追加する手順は次のとおりです。
Google Cloud コンソールの [Dataform] ページに移動します。
プライベート NPM パッケージをインストールするリポジトリを選択し、ワークスペースを選択します。
[ファイル] ペインで、
.npmrc
ファイルを選択します。.npmrc
ファイルで、非公開パッケージの NPM レジストリ スコープと認証トークンを次の形式で定義します。
@REGISTRY-SCOPE:registry=NPM-REGISTRY-URL
NPM-REGISTRY-URL:_authToken=$AUTHENTICATION-TOKEN
以下を置き換えます。
- REGISTRY-SCOPE: 認証トークンを適用する NPM レジストリ スコープ
- NPM-REGISTRY-URL: NPM レジストリの URL(例:
https://npm.pkg.github.com
) AUTHENTICATION-TOKEN: 非公開 NPM パッケージの認証トークン。
.npmrc
ファイル内の認証トークンは、アップロードされたシークレットの認証トークンと一致する必要があります。認証トークンは、.npmrc
ファイルで環境変数として提供されるため、開きの${
と}
の閉じ括弧を追加してください。複数の認証トークンを入力できます。
次のコードサンプルは、Dataform リポジトリの .npmrc
ファイルに追加された非公開 NPM パッケージの認証トークンを示しています。
@company:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${AUTHENTICATION_TOKEN}
Dataform リポジトリで後続の非公開パッケージを認証する
パッケージ認証トークンと .npmrc
ファイルを含むシークレットをすでに含む Dataform リポジトリで非公開 NPM パッケージを認証するには、次の手順を行います。
Secret Manager で、シークレットを一覧表示し、リポジトリの非公開 NPM パッケージの認証トークンを保存するシークレットを選択します。
シークレットに新しいバージョンを追加します。
Dataform はデフォルトで最新バージョンのシークレットを使用します。
- 非公開パッケージの認証トークンを次の形式でシークレット値に追加します。
{ "AUTHENTICATION_TOKEN_NAME": "TOKEN_VALUE" }
以下を置き換えます。
- AUTHENTICATION_TOKEN_NAME: 認証するパッケージを識別するトークンの一意の名前。
- TOKEN_VALUE: NPM レジストリから取得した認証トークンの値
複数の認証トークンを一度に追加できます。
Dataform で、リポジトリの
.npmrc
ファイルに認証トークンを追加します。
非公開 NPM パッケージを認証したら、Dataform リポジトリにパッケージをインストールできます。
次のステップ
- Dataform リポジトリにパッケージをインストールする方法については、Dataform にパッケージをインストールするをご覧ください。
- Dataform のパッケージの詳細については、パッケージを使用して複数のリポジトリ間でコードを再利用するをご覧ください。
- Dataform で独自のパッケージを作成する方法については、Dataform にパッケージを作成するをご覧ください。
- Dataform でオープンソース パッケージを使用する方法については、Dataform で変化が緩やかなディメンションを使用するをご覧ください。