> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iru.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Snowflake

> Verbinden Sie Snowflake mit Schlüsselpaar-JWT-Authentifizierung und ACCOUNT_USAGE-Zugriff mit Iru Compliance, um Nachweise zu Rollenzuweisungen, Benutzern und Data Governance zu erfassen.

### Über Snowflake

Iru erfasst aus Snowflake **Warehouse- und Kontonutzung**, **Datenbank-/Schema-Metadaten**, **Rollen und Berechtigungen** sowie den **Anmelde-/Abfrageverlauf**, hauptsächlich über die Views von **`SNOWFLAKE.ACCOUNT_USAGE`**. Die Authentifizierung erfolgt über **Schlüsselpaar-Authentifizierung**: kurzlebige **JWTs**, die mit Ihrem **privaten RSA-Schlüssel** signiert und anhand des **öffentlichen Schlüssels** geprüft werden, der beim von Iru verwendeten Snowflake-**Benutzer** hinterlegt ist.

### Funktionsweise

```http lines theme={null}
Authorization: Bearer YOUR_SIGNED_JWT
X-Snowflake-Authorization-Token-Type: KEYPAIR_JWT
```

JWTs sind **kurzlebig** (etwa **60 Sekunden**); Iru generiert sie anhand des konfigurierten Schlüssels und der Kontodetails neu.

| Detail | Wert |
| - | - |
| **Kategorie** | Datenbanken |
| **Authentifizierung** | Schlüsselpaar-JWT |

Offizielle Referenzen: [Schlüsselpaar-Authentifizierung](https://docs.snowflake.com/en/user-guide/key-pair-auth), [Kontokennungen](https://docs.snowflake.com/en/user-guide/admin-account-identifier), [REST API](https://docs.snowflake.com/en/developer-guide/snowflake-rest-api/snowflake-rest-api), [ACCOUNT\_USAGE](https://docs.snowflake.com/en/sql-reference/account-usage).

### Voraussetzungen

* **`SECURITYADMIN`** (oder gleichwertig), um **`RSA_PUBLIC_KEY`** einem dedizierten Dienstbenutzer zuzuweisen.
* **OpenSSL** (oder ein anderes Tool), um ein RSA-Schlüsselpaar mit **2048 Bit** (oder mehr) zu generieren.
* Ihre **Kontokennung** (vorzugsweise `orgname-accountname` oder bei Bedarf der Legacy-Locator mit Region/Cloud).

### Snowflake mit Iru verbinden

<Tabs>
  <Tab title="Snowflake">
    <Note>
      Schließen Sie diesen Tab ab, bevor Sie die Quelle in Compliance verbinden.
    </Note>

    <Steps>
      <Step title="Snowflake-Administratorzugriff bestätigen">
        Melden Sie sich bei Snowsight oder der klassischen Konsole mit **`SECURITYADMIN`** (oder gleichwertig) an, damit Sie **`ALTER USER`**- und **`GRANT`**-Anweisungen für den Integrationsbenutzer ausführen können.
      </Step>

      <Step title="Sicheren Arbeitsplatz vorbereiten">
        Verwenden Sie einen vertrauenswürdigen Rechner mit **OpenSSL** (oder einem anderen von Ihrem Sicherheitsteam genehmigten RSA-Tool). Bewahren Sie **`snowflake_private_key.pem`** ausschließlich in Ihrem Tresor auf. Committen Sie die Datei niemals in Git und senden Sie sie niemals an den Snowflake-Support.
      </Step>

      <Step title="RSA-Schlüsselpaar generieren">
        Beispiel mit OpenSSL:

        ```bash lines theme={null}
        openssl genrsa -out snowflake_private_key.pem 2048
        openssl rsa -in snowflake_private_key.pem -pubout -out snowflake_public_key.pem
        ```

        Schützen Sie **`snowflake_private_key.pem`**. Committen Sie die Datei niemals und geben Sie sie niemals an Snowflake weiter.
      </Step>

      <Step title="Öffentlichen Schlüssel bei einem Snowflake-Benutzer registrieren">
        Entfernen Sie als Administrator die PEM-Kopfzeilen und Zeilenumbrüche aus **`snowflake_public_key.pem`**, sodass nur der Base64-Inhalt übrig bleibt, und führen Sie dann Folgendes aus:

        ```sql theme={null}
        ALTER USER YOUR_USERNAME SET RSA_PUBLIC_KEY='YOUR_PUBLIC_KEY';
        ```

        Snowflake erlaubt zur Rotation **zwei** Schlüssel pro Benutzer (`RSA_PUBLIC_KEY` / `RSA_PUBLIC_KEY_2`). Weisen Sie den neuen Schlüssel **`RSA_PUBLIC_KEY_2`** zu, aktualisieren Sie Iru und entfernen Sie dann den alten Schlüssel.
      </Step>

      <Step title="JWT für den Assistenten erzeugen">
        Verwenden Sie die **Snowflake CLI** oder eine Bibliothek. Zum Beispiel:

        ```bash lines theme={null}
        snow connection generate-jwt \
          --account YOUR_ACCOUNT_IDENTIFIER \
          --user YOUR_USERNAME \
          --private-key-path snowflake_private_key.pem
        ```

        Kopieren Sie die JWT-Zeichenfolge für den ersten Handshake mit Iru; die fortlaufende Neugenerierung übernimmt das Produkt.
      </Step>

      <Step title="ACCOUNT_USAGE-Zugriff gewähren">
        Der Integrationsbenutzer benötigt eine Rolle, die die freigegebenen Metadaten von **`SNOWFLAKE`** lesen kann, zum Beispiel:

        ```sql lines theme={null}
        GRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO ROLE YOUR_ROLE;
        GRANT ROLE YOUR_ROLE TO USER YOUR_USERNAME;
        ```
      </Step>
    </Steps>

    <Note>
      Fahren Sie im Tab [**Iru Compliance**](#iru-compliance) fort.
    </Note>
  </Tab>

  <Tab title="Iru Compliance">
    <Note>
      Schließen Sie zuerst den Tab [**Snowflake**](#snowflake) ab.
    </Note>

    <Steps>
      <Step title="Quellen öffnen">
        Erweitern Sie in Iru Compliance in der linken Navigationsleiste **Compliance** und wählen Sie **Quellen**.

        <Frame>
          <img src="https://mintcdn.com/iru/tI0HDLDwHj8r9Ile/assets/media/images/iru-navigation-compliance-sources.png?fit=max&auto=format&n=tI0HDLDwHj8r9Ile&q=85&s=87dcef15fc17d2fb9a6e53f454e41710" alt="Linke Navigation: Compliance erweitert, Sources ausgewählt" width="410" height="1024" data-path="assets/media/images/iru-navigation-compliance-sources.png" />
        </Frame>
      </Step>

      <Step title="Snowflake aktivieren">
        Suchen Sie **Snowflake** (verwenden Sie **Kategorie** oder **Nach Name oder Beschreibung suchen**). Aktivieren Sie auf dieser Karte den **Schalter**. Für den Connector-Assistenten kann sich ein Browser-Tab oder -Fenster öffnen.
      </Step>

      <Step title="Konto und Host im Assistenten eingeben">
        Wählen Sie das Host-Muster, das zu Ihrem Konto passt:

        * Standard: `https://YOUR_ACCOUNT_IDENTIFIER.snowflakecomputing.com`
        * **PrivateLink**: `https://YOUR_ACCOUNT_IDENTIFIER.privatelink.snowflakecomputing.com`

        Geben Sie **`account_identifier`** ein und bestätigen Sie die Servervariablen, bevor Sie fortfahren.
      </Step>

      <Step title="JWT einfügen">
        Fügen Sie das **JWT** ein, wenn Sie dazu aufgefordert werden.
      </Step>

      <Step title="Verbindung abschließen">
        Wählen Sie **Bearer-Token senden**. Wenn die Verbindung erfolgreich ist, zeigt der Assistent **Verbindung konfiguriert** an.
      </Step>

      <Step title="Prüfen, ob die Quelle aktiv ist">
        Schließen Sie den Browser-Tab **Iru fordert Zugriff auf externe Dienste an**, kehren Sie dann zu **Compliance** → **Quellen** zurück und vergewissern Sie sich, dass die Karte **Snowflake** den Status **Aktiv** hat.
      </Step>
    </Steps>
  </Tab>
</Tabs>

### Fehlerbehebung

<AccordionGroup>
  <Accordion title="Beim Aktivieren der Quelle öffnet sich nichts">
    Überprüfen Sie die Einstellungen des **Pop-up-Blockers** für die Iru-Website und versuchen Sie es erneut.
  </Accordion>

  <Accordion title="Servervariablen fehlgeschlagen">
    Die Sitzung des Assistenten ist abgelaufen. Deaktivieren und aktivieren Sie die Quelle erneut und versuchen Sie es noch einmal.
  </Accordion>

  <Accordion title="JWT-Validierung / 401">
    Führen Sie **`DESCRIBE USER`** aus, um zu bestätigen, dass der Fingerabdruck übereinstimmt und der private Schlüssel zum registrierten öffentlichen Schlüssel passt.
  </Accordion>

  <Accordion title="Falsche Kontozeichenfolge">
    Verwenden Sie vorzugsweise die Form **`org-account`**; Legacy-Locators benötigen möglicherweise ein Suffix für **Region/Cloud**.
  </Accordion>

  <Accordion title="PrivateLink">
    Stellen Sie sicher, dass der ausgehende Datenverkehr von Iru Ihren Endpunkt erreichen kann; nehmen Sie ihn bei Bedarf in die Positivliste auf.
  </Accordion>

  <Accordion title="ACCOUNT_USAGE fehlt">
    **`IMPORTED PRIVILEGES`** auf **`SNOWFLAKE`** für die Iru-Rolle.
  </Accordion>
</AccordionGroup>

### Hinweise

<CardGroup cols={2}>
  <Card title="Iru führt keine beliebigen Abfragen auf Ihren…" icon="circle-info">
    Iru führt **keine** beliebigen Abfragen auf Ihren Tabellen aus. Es liest Governance-bezogene Metadaten und Nutzungs-Views.
  </Card>
</CardGroup>

### Verwandte Artikel

<CardGroup cols={2}>
  <Card title="Verwaltung von Quellen" icon="plug" href="/de/compliance/sources-management">
    Alle Compliance-Quellen durchsuchen und verwalten.
  </Card>

  <Card title="Erste Schritte mit Compliance" icon="rocket" href="/de/compliance/getting-started-with-compliance">
    Frameworks, Aktionen und **Artefakte**.
  </Card>

  <Card title="Iru-Überblick" icon="layer-group" href="/de/iru/platform-overview/iru-overview">
    Wie Endpoint, Compliance und Identity zusammenwirken.
  </Card>

  <Card title="Verwaltung von Artifacts" icon="folder-open" href="/de/compliance/artifacts-management">
    Nachweise aus Quellen und Aktionen hochladen, prüfen und organisieren.
  </Card>
</CardGroup>
