Privates Paket in Dataform authentifizieren

In diesem Dokument erfahren Sie, wie Sie ein privates NPM-Paket in Dataform authentifizieren, um die Installation in einem Dataform-Repository zu aktivieren.

Wenn Sie ein privates NPM-Paket in einem Dataform-Repository installieren und für die Entwicklung Ihres SQL-Workflows verwenden möchten, müssen Sie das Paket zuerst in Dataform authentifizieren. Der Authentifizierungsprozess unterscheidet sich für das erste private Paket in einem Repository und ein nachfolgendes privates Paket in einem Repository.

Hinweise

  1. Rufen Sie in der Google Cloud Console die Seite Dataform auf.

    Zur Seite „Dataform“

  2. Wählen Sie ein Repository aus oder erstellen Sie ein Repository.

  3. Wählen Sie einen Entwicklungsarbeitsbereich aus oder erstellen Sie einen.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Dataform Editor (roles/dataform.editor) für Repositories und Arbeitsbereiche zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Authentifizieren privater NPM-Pakete in Dataform benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Möglicherweise können Sie die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Das erste private Paket in einem Dataform-Repository authentifizieren

Um private NPM-Pakete in Dataform zu authentifizieren, müssen Sie Folgendes tun, bevor Sie das erste private NPM-Paket in einem Dataform-Repository installieren:

  1. Erstellen Sie ein Secret Manager-Secret zum Speichern von Authentifizierungstokens privater NPM-Pakete im Dataform-Repository.

    1. Fügen Sie dem Secret das Authentifizierungstoken des Pakets hinzu, das Sie aus Ihrer NPM-Registry erhalten haben.

    Sie müssen alle Authentifizierungstokens der privaten NPM-Pakete in Ihrem Repository in einem einzigen Secret speichern. Sie müssen pro Dataform-Repository ein dediziertes Secret erstellen. Das Secret muss im JSON-Format vorliegen.

  2. Laden Sie das Secret in das Dataform-Repository hoch.

  3. Erstellen Sie eine .npmrc-Datei und fügen Sie der Datei das Authentifizierungstoken des Pakets hinzu.

    Das Authentifizierungstoken in der Datei .npmrc muss mit dem Authentifizierungstoken im hochgeladenen Secret übereinstimmen.

Nachdem Sie das private NPM-Paket authentifiziert haben, können Sie das Paket im Dataform-Repository installieren.

Secret für die Authentifizierung privater Pakete erstellen

Zum Authentifizieren privater NPM-Pakete in einem Dataform-Repository müssen Sie ein Secret Manager-Secret erstellen und Authentifizierungstokens für alle privaten Pakete definieren, die Sie im Dataform-Repository innerhalb des Secrets installieren möchten. Definieren Sie ein Authentifizierungstoken pro privatem NPM-Paket und speichern Sie alle Authentifizierungstokens in einem einzigen Secret pro Repository. Das Secret muss im JSON-Format vorliegen.

So erstellen Sie ein Secret mit Authentifizierungstokens für private NPM-Pakete:

  1. Erstellen Sie ein Secret in Secret Manager.

    1. Geben Sie im Feld Secret-Wert ein oder mehrere Authentifizierungstokens im folgenden Format ein:
    {
      "AUTHENTICATION_TOKEN_NAME": "TOKEN_VALUE"
    }
    

    Ersetzen Sie Folgendes:

    • AUTHENTICATION_TOKEN_NAME: ein eindeutiger Name für das Token, das das zu authentifizierende Paket identifiziert
    • TOKEN_VALUE: der Wert des Authentifizierungstokens, das von Ihrer NPM-Registry abgerufen wurde
  2. Gewähren Sie Ihrem Dataform-Dienstkonto Zugriff auf das Secret.

    Ihr Dataform-Dienstkonto hat das folgende Format:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. Wenn Sie Zugriff gewähren, müssen Sie Ihrem Dataform-Dienstkonto die Rolle roles/secretmanager.secretAccessor zuweisen.

Secret für die Authentifizierung privater Pakete in ein Dataform-Repository hochladen

Bevor Sie zum ersten Mal ein privates NPM-Paket in einem Dataform-Repository installieren, laden Sie Ihr Secret mit dem Authentifizierungstoken des Pakets in das Repository hoch.

So laden Sie das Secret mit Authentifizierungstokens für private NPM-Pakete in ein Dataform-Repository hoch:

  1. Rufen Sie in der Google Cloud Console die Seite Dataform auf.

    Zu Dataform

  2. Wählen Sie das Repository aus, in dem Sie private NPM-Pakete installieren möchten.

  3. Klicken Sie auf der Repository-Seite auf Einstellungen > Private NPM-Pakete konfigurieren.

  4. Wählen Sie im Bereich Secret-Token für NPM-Paket hinzufügen im Drop-down-Menü Secret das Secret mit Authentifizierungstokens für private NPM-Pakete aus.

  5. Klicken Sie auf Speichern.

.npmrc-Datei für die Authentifizierung privater Pakete erstellen

Zum Authentifizieren privater NPM-Pakete in einem Dataform-Repository müssen Sie auf oberster Ebene eine .npmrc-Datei im Repository erstellen. Sie müssen Authentifizierungstokens für alle privaten NPM-Pakete speichern, die im Repository in der Datei .npmrc installiert werden sollen. Die Authentifizierungstokens in der Datei .npmrc müssen mit den Authentifizierungstokens im in das Repository hochgeladenen Secret übereinstimmen. Weitere Informationen zu .npmrc-Dateien finden Sie in der Dokumentation zu npmrc.

So erstellen Sie eine .npmrc-Datei der obersten Ebene in Ihrem Repository:

  1. Rufen Sie in der Google Cloud Console die Seite Dataform auf.

    Zu Dataform

  2. Wählen Sie das Repository aus, in dem Sie private NPM-Pakete installieren möchten, und wählen Sie dann einen Arbeitsbereich aus.

  3. Klicken Sie im Bereich Dateien auf das -Menü Mehr und dann auf Datei erstellen.

  4. Führen Sie im Bereich Neue Datei erstellen die folgenden Schritte aus:

    1. Geben Sie im Feld Dateipfad hinzufügen .npmrc ein.

    2. Klicken Sie auf Datei erstellen.

Authentifizierungstoken der Datei .npmrc in einem Dataform-Repository hinzufügen

Zum Authentifizieren eines privaten NPM-Pakets in einem Dataform-Repository, das bereits ein Secret mit Paketauthentifizierungstokens und einer .npmrc-Datei enthält, müssen Sie der Datei .npmrc im Repository das Authentifizierungstoken für das private Paket hinzufügen.

In der Datei .npmrc müssen Sie den Bereich Ihrer NPM-Registry definieren und das Authentifizierungstoken für das private Paket hinzufügen, auf das in diesem Bereich zugegriffen wird. Weitere Informationen zu .npmrc-Dateien finden Sie in der Dokumentation zu npmrc.

Das Authentifizierungstoken in der Datei .npmrc muss mit dem Authentifizierungstoken in dem in das Repository hochgeladenen Secret übereinstimmen.

So fügen Sie der Datei .npmrc in einem Dataform-Repository ein Authentifizierungstoken hinzu:

  1. Rufen Sie in der Google Cloud Console die Seite Dataform auf.

    Zu Dataform

  2. Wählen Sie das Repository aus, in dem Sie private NPM-Pakete installieren möchten, und wählen Sie dann einen Arbeitsbereich aus.

  3. Wählen Sie im Bereich Files (Dateien) die Datei .npmrc aus.

  4. Definieren Sie in der Datei .npmrc den NPM-Registrierungsbereich und das Authentifizierungstoken für das private Paket im folgenden Format:

   @REGISTRY-SCOPE:registry=NPM-REGISTRY-URL
   NPM-REGISTRY-URL:_authToken=$AUTHENTICATION-TOKEN

Ersetzen Sie Folgendes:

  • REGISTRY-SCOPE: der NPM-Registry-Bereich, auf den Sie das Authentifizierungstoken anwenden möchten
  • NPM-REGISTRY-URL: die URL Ihrer NPM-Registry, z. B. https://npm.pkg.github.com
  • AUTHENTICATION-TOKEN: das Authentifizierungstoken für das private NPM-Paket. Das Authentifizierungstoken in der Datei .npmrc muss mit dem Authentifizierungstoken im hochgeladenen Secret übereinstimmen. Das Authentifizierungstoken ist als Umgebungsvariable in der Datei .npmrc angegeben. Achten Sie deshalb darauf, die öffnenden ${- und }-Klammern einzufügen.

    Sie können mehrere Authentifizierungstokens eingeben.

Das folgende Codebeispiel zeigt ein Authentifizierungstoken für ein privates NPM-Paket, das der Datei .npmrc in einem Dataform-Repository hinzugefügt wurde:

@company:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${AUTHENTICATION_TOKEN}

Nachfolgendes privates Paket in einem Dataform-Repository authentifizieren

So authentifizieren Sie ein privates NPM-Paket in einem Dataform-Repository, das bereits ein Secret mit Paketauthentifizierungstokens und einer .npmrc-Datei enthält:

  1. In Secret Manager können Sie Secrets auflisten und das Secret auswählen, in dem die Authentifizierungstokens privater NPM-Pakete Ihres Repositorys gespeichert sind.

  2. Fügen Sie dem Secret eine neue Version hinzu.

    Dataform verwendet standardmäßig die neueste Version des Secrets.

    1. Fügen Sie dem Secret-Wert das Authentifizierungstoken für das private Paket im folgenden Format hinzu:
    {
      "AUTHENTICATION_TOKEN_NAME": "TOKEN_VALUE"
    }
    

    Ersetzen Sie Folgendes:

    • AUTHENTICATION_TOKEN_NAME: ein eindeutiger Name für das Token, das das zu authentifizierende Paket identifiziert
    • TOKEN_VALUE: der Wert des Authentifizierungstokens, das von Ihrer NPM-Registry abgerufen wurde

    Sie können mehrere Authentifizierungstokens gleichzeitig hinzufügen.

  3. Fügen Sie in Dataform das Authentifizierungstoken der Datei .npmrc in Ihrem Repository hinzu.

Nachdem Sie das private NPM-Paket authentifiziert haben, können Sie das Paket im Dataform-Repository installieren.

Nächste Schritte