Einen Katalog erstellen

Der Snowflake Open Catalog Service-Administrator erstellt einen Katalog.

Die Schritte zur Erstellung eines Katalogs hängen von Ihrem Anbieter von Cloud-Speichern ab.

Wenn Sie einen Katalog erstellen, geben Sie Informationen über Ihren externen Cloud-Speicher an, und Snowflake Open Catalog verwendet diese Informationen, um eine Speicherkonfiguration zu erstellen. Diese Konfiguration speichert eine Entität für das Identitäts- und Zugriffsmanagement (IAM) für Ihren Speicher. Open Catalog verwendet die Entität IAM, um eine sichere Verbindung zu Ihren Speicherorten herzustellen, um auf Tabellendaten, Apache Iceberg™-Metadaten und Manifestdateien zuzugreifen.

Anweisungen dazu finden Sie in den folgenden Abschnitten:

Einen Katalog mit Amazon Simple Storage Service (Amazon S3) erstellen

Voraussetzungen

  • Ein S3 Speicher-Bucket in derselben Region, in der auch Ihr Snowflake Konto liegt

    • Open Catalog kann keine Bucket-Namen unterstützen, die Punkte enthalten (z. B. my.s3.bucket). Open Catalog verwendet virtuelle Pfade und HTTPS für den Zugriff auf Daten in S3. S3 unterstützt jedoch kein SSL bei „virtual-hosted-style“-Buckets mit Punkten im Namen.

    • Informationen zu den Features der Datenwiederherstellung erhalten Sie von Ihrem Speicheranbieter.

  • Berechtigungen in AWS zum Erstellen und Verwalten von IAM-Richtlinien und -Rollen

    Wenn Sie kein AWS-Administrator sind, bitten Sie Ihren AWS-Administrator, diese Aufgaben zu übernehmen.

Schritt 1: IAM-Richtlinie erstellen, die Zugriff auf den S3-Speicherort gewährt

Um die Zugriffsberechtigungen für Open Catalog in der AWS-Managementkonsole zu konfigurieren, gehen Sie wie folgt vor:

  1. Melden Sie sich bei der AWS-Managementkonsole an.

  2. Wählen Sie auf dem Home Dashboard IAM.

  3. Wählen Sie im Navigationsbereich Kontoeinstellungen.

  4. Suchen Sie unter Security Token Service (STS) in der Liste Endpunkte die Open Catalog-Region, in der sich Ihr Konto befindet, und wenn der STS-Status inaktiv ist, setzen Sie den Schalter auf Aktiv.

  5. Wählen Sie im Navigationsbereich Richtlinien.

  6. Wählen Sie Richtlinie erstellen.

  7. Wählen Sie unter Richtlinieneditor die Option JSON.

  8. Fügen Sie eine Richtlinie hinzu, um Open Catalog die erforderlichen Berechtigungen zum Lesen und Schreiben von Daten an Ihrem S3-Speicherort zu erteilen.

    Die folgende Beispielrichtlinie gewährt Zugriff auf alle Speicherorte im angegebenen Bucket.

       {
          "Version": "2012-10-17",
          "Statement": [
                {
                   "Effect": "Allow",
                   "Action": [
                      "s3:PutObject",
                      "s3:GetObject",
                      "s3:GetObjectVersion",
                      "s3:DeleteObject",
                      "s3:DeleteObjectVersion"
                   ],
                   "Resource": "arn:aws:s3:::<my_bucket>/*"
                },
                {
                   "Effect": "Allow",
                   "Action": [
                      "s3:ListBucket",
                      "s3:GetBucketLocation"
                   ],
                   "Resource": "arn:aws:s3:::<my_bucket>",
                   "Condition": {
                      "StringLike": {
                            "s3:prefix": [
                               "*"
                            ]
                      }
                   }
                }
          ]
       }
    
    Copy

    Hinweis

    • Ersetzen Sie *my_bucket* durch den Namen Ihres tatsächlichen Buckets. Sie können auch einen Pfad im Bucket angeben, z. B. *my_bucket*/*path*.

    • Die Einstellung der Bedingung "s3:prefix": auf ["*"] gewährt Zugriff auf alle Präfixe im angegebenen Bucket; die Einstellung auf ["*path*/*"] gewährt Zugriff auf einen bestimmten Pfad im Bucket.

    • Für Buckets in Regierungsregionen verwendet der Bucket ARNs den Präfix arn:aws-us-gov:s3:::.

  9. Wählen Sie Nächste.

  10. Geben Sie für Richtlinienname einen Richtliniennamen ein (zum Beispiel open_catalog_access).

  11. Optional: Geben Sie für Beschreibung eine Beschreibung ein.

  12. Wählen Sie Richtlinie erstellen.

Schritt 2: Eine IAM-Rolle erstellen, um Berechtigungen für Ihren S3-Bucket zu erteilen

  1. Wählen Sie in der AWS-Managementkonsole auf dem Identity and Access Management(IAM)-Dashboard im Navigationsbereich Rollen.

  2. Wählen Sie Rolle erstellen.

  3. Wählen Sie für den Typ der vertrauenswürdigen Entität AWS-Konto.

  4. Wählen Sie unter Ein AWS-Konto die Option Dieses Konto.

    In einem späteren Schritt ändern Sie die vertrauenswürdige Beziehung und gewähren den Zugriff auf Open Catalog.

  5. Optional: Um eine externe ID zu erstellen, aktivieren Sie das Kontrollkästchen Externe ID anfordern, und geben Sie eine externe ID ein; zum Beispiel open_catalog_external_id.

    Hinweis

    Wenn Sie beim Erstellen eines Katalogs keine externe ID erstellen, generiert Open Catalog eine externe ID für Sie, die Sie verwenden können. Eine externe ID wird verwendet, um einer dritten Partei wie Open Catalog Zugriff auf Ihre AWS-Ressourcen (wie S3-Buckets) zu gewähren.

  6. Wählen Sie Nächste.

  7. Wählen Sie die Richtlinie aus, die Sie im vorherigen Schritt erstellt haben, und wählen Sie dann Weiter.

  8. Geben Sie einen Rollennamen und eine Beschreibung für die Rolle ein, und wählen Sie dann Rolle erstellen.

    Sie haben nun eine IAM-Richtlinie für einen S3-Speicherort erstellt, eine IAM-Rolle erstellt und die Richtlinie an die Rolle angehängt.

  9. Um die Übersichtsseite der Rolle anzuzeigen, wählen Sie Rolle anzeigen.

  10. Suchen Sie den Wert ARN (Amazon Resource Name) für die Rolle, und notieren Sie ihn.

Schritt 3: Einen Katalog in Open Catalog erstellen

  1. Melden Sie sich an, um den Katalog zu öffnen.

  2. Wählen Sie auf der Startseite von Open Catalog im Bereich Kataloge die Option + Erstellen.

  3. Füllen Sie im Dialog Katalog erstellen die Felder aus:

    1. Geben Sie für Name einen Namen für den Katalog ein.

      Bei Katalognamen wird zwischen Groß- und Kleinschreibung unterschieden.

    2. Optional: Um einen externen Katalog zu erstellen, setzen Sie den Schalter Extern auf Ein.

      Informationen über externe Kataloge finden Sie unter Katalogtypen.

    3. Wählen Sie für Speicheranbieter die Option S3.

    4. Für Standard-Speicherort geben Sie den Standard-Speicherort für Ihren AWS S3-Bucket ein.

    5. Optional: Wenn der Katalog Objekte enthält, die an mehr als einem Speicherort gespeichert sind, listen Sie jeden zusätzlichen Speicherort (durch ein Komma getrennt) in Zusätzliche Speicherorte (optional) auf.

    6. Geben Sie für S3 Rollen-ARN die ARN der IAM- Rolle ein, die Sie für Open Catalog erstellt haben.

    7. Optional: Wenn Sie beim Erstellen der IAM-Rolle eine externe ID erstellt haben, geben Sie bei Externe ID die externe ID ein.

    8. Wählen Sie Erstellen.

Schritt 4: Den AWS IAM-Benutzer für Ihr Open Catalog-Konto abrufen

  1. Wählen Sie auf der Startseite von Open Catalog im Bereich Kataloge den Katalog aus, den Sie erstellt haben.

  2. Kopieren Sie unter Speicherdetails die IAM-Benutzer-ARN; zum Beispiel arn:aws:iam::123456789001:user/abc1-b-self1234.

    Open Catalog stellt einen einzigen IAM-Benutzer für Ihr gesamtes Open Catalog-Konto bereit. Alle S3-Speicherkonfigurationen in Ihrem Konto verwenden diesen IAM-Benutzer.

    Hinweis Wenn Sie bei der Erstellung Ihrer IAM-Rolle keine externe ID angegeben haben, generiert Open Catalog eine externe ID für Sie, die Sie verwenden können. Notieren Sie sich den Wert, damit Sie Ihre IAM-Rollen-Vertrauensrichtlinie mit der generierten externen ID aktualisieren können.

Schritt 5: IAM-Benutzerberechtigungen für den Zugriff auf Bucket-Objekte erteilen

  1. Melden Sie sich bei der AWS-Managementkonsole an.

  2. Suchen Sie auf dem Home Dashboard nach IAM, und wählen Sie dieses aus.

  3. Wählen Sie im Navigationsbereich Rollen.

  4. Wählen Sie die IAM-Rolle, die Sie für Ihre Konfiguration des Speichers erstellt haben.

  5. Wählen Sie die Registerkarte Vertrauensbeziehungen.

  6. Wählen Sie Vertrauensrichtlinie bearbeiten.

  7. Ändern Sie das Richtliniendokument mit den Details zum Katalogspeicher, die Sie aufgezeichnet haben:

       {
         "Version": "2012-10-17",
         "Statement": [
           {
             "Sid": "",
             "Effect": "Allow",
             "Principal": {
               "AWS": "<open_catalog_user_arn>"
             },
             "Action": "sts:AssumeRole",
             "Condition": {
               "StringEquals": {
                 "sts:ExternalId": "<open_catalog_external_id>"
               }
             }
           }
         ]
       }
    
    Copy

    Wobei:

    • open_catalog_user_arn ist die IAM-Benutzer-ARN, die Sie aufgezeichnet haben.

    • open_catalog_external_id ist Ihre externe ID. Wenn Sie bei der Erstellung der Rolle eine externe ID angegeben und dieselbe ID für die Erstellung Ihrer Konfiguration des Speichers verwendet haben, lassen Sie den Wert unverändert. Andernfalls aktualisieren Sie sts:ExternalId mit dem Wert, den Sie aufgezeichnet haben.

    Hinweis

    Sie müssen dieses Richtliniendokument aktualisieren, wenn Sie eine neue Speicherkonfiguration erstellen und keine eigene externe ID bereitstellen. Aus Sicherheitsgründen hat eine neue oder neu erstellte Konfiguration des Speichers eine andere externe ID und kann die Vertrauensbeziehung nicht auflösen, es sei denn, Sie aktualisieren diese Vertrauensrichtlinie.

    Beispielrichtliniendokument für die IAM-Rolle

    Aktualisieren Sie die Vertrauensrichtlinie für die IAM-Rolle.

  8. Um Ihre Änderungen zu speichern, wählen Sie Richtlinie aktualisieren.

Erstellen Sie einen Katalog mit Cloud Storage von Google

In diesem Abschnitt erfahren Sie, wie Sie einen Katalog erstellen und Open Catalog mithilfe einer Konfiguration des Speichers eingeschränkten Zugriff auf einen Cloud Storage-Bucket gewähren.

Ein Administrator Ihrer Organisation erteilt dem IAM-Benutzer Berechtigungen in Ihrem Google Cloud-Konto.

Hinweis

  • Um die Anleitung unter diesem Thema auszuführen, müssen Sie in Google Cloud über die erforderlichen Berechtigungen zum Erstellen und Verwalten von IAM-Richtlinien und -Rollen verfügen. Wenn Sie kein Google Cloud-Administrator sind, bitten Sie Ihren Google Cloud-Administrator, diese Aufgaben auszuführen.

  • Informationen zu den Features der Datenwiederherstellung erhalten Sie von Ihrem Speicheranbieter.

Schritt 1: Einen Katalog erstellen

  1. Melden Sie sich an, um den Katalog zu öffnen.

  2. Wählen Sie auf der Startseite von Open Catalog im Bereich Kataloge die Option + Erstellen.

  3. Füllen Sie im Dialog Katalog erstellen die Felder aus:

    1. Geben Sie für Name einen Namen für den Katalog ein.

      Bei Katalognamen wird zwischen Groß- und Kleinschreibung unterschieden.

    2. Optional: Um einen externen Katalog zu erstellen, setzen Sie den Schalter Extern auf Ein.

      Informationen über externe Kataloge finden Sie unter Katalogtypen.

    3. Für Speicheranbieter wählen Sie GCS.

    4. Geben Sie unter Standard-Speicherort den Standard-Speicherort für Ihren Cloud Storage-Bucket ein.

    5. Optional: Wenn der Katalog Objekte enthält, die an mehr als einem Speicherort gespeichert sind, listen Sie bei Zusätzliche Speicherorte (optional) jeden zusätzlichen Speicherort durch ein Komma getrennt auf.

    6. Wählen Sie Erstellen.

Schritt 2: Das Google Cloud Service-Konto für Ihr Open Catalog-Konto abrufen

  1. Wählen Sie auf der Startseite von Open Catalog im Bereich Kataloge den Katalog aus, den Sie erstellt haben.

  2. Kopieren Sie unter Speicherdetails die GCP_SERVICE_ACCOUNT-ID; zum Beispiel service-account-id@project1-123456.iam.gserviceaccount.com.

    Open Catalog stellt ein einziges Google Cloud Service-Konto für Ihr gesamtes Open Catalog-Konto bereit und verwendet dieses Dienstkonto beim Zugriff auf Speicher in der Google Cloud.

Schritt 3: Dienstkontoberechtigungen für den Zugriff auf Bucket-Objekte erteilen

In diesem Schritt konfigurieren Sie IAM-Zugriffsberechtigungen für Open Catalog in Ihrer Google Cloud Console.

Kundenspezifische IAM-Rolle erstellen

Erstellen Sie eine kundenspezifische Rolle, die über die erforderlichen Berechtigungen verfügt, um auf den Bucket zuzugreifen und Objekte abzurufen.

  1. Melden Sie sich bei der Google Cloud Console als Projekteditor an.

  2. Wählen Sie auf dem Home Dashboard im Navigationsmenü IAM & Admin > Rollen.

  3. Wählen Sie Rolle erstellen.

  4. Für Titel geben Sie einen Titel für die kundenspezifische Rolle ein.

  5. Optional: Geben Sie für Beschreibung eine Beschreibung für die kundenspezifische Rolle ein.

  6. Wählen Sie Zugriffsrechte hinzufügen.

  7. Wählen Sie unter Filter die Option Dienst, und wählen Sie dann Speicher.

  8. Filtern Sie die Liste der Berechtigungen, und wählen Sie aus der Liste Folgendes aus:

    • storage.buckets.get

    • storage.objects.create

    • storage.objects.delete

    • storage.objects.get

    • storage.objects.list

  9. Wählen Sie Hinzufügen.

  10. Wählen Sie Erstellen.

Weisen Sie die kundenspezifische Rolle dem Google Cloud Service-Konto zu

Bleiben Sie für diese Prozedur in der Google Cloud Console.

  1. Wählen Sie auf dem Home Dashboard im Navigationsmenü Cloudspeicher > Buckets.

  2. Filtern Sie die Liste der Buckets, und wählen Sie den Bucket, den Sie in Ihrer Open Catalog-Speicherkonfiguration angegeben haben.

  3. Wählen Sie Berechtigungen > Nach Prinzipalen anzeigen, und wählen Sie dann Zugriff gewähren.

  4. Fügen Sie unter Prinzipale hinzufügen das Dienstkonto ID ein, das Sie zuvor kopiert haben.

  5. Wählen Sie unter Rollen zuweisen die benutzerdefinierte IAM-Rolle, die Sie zuvor erstellt haben, und wählen Sie dann Speichern.

Einen Katalog mit Azure-Speicher erstellen

In diesem Abschnitt erfahren Sie, wie Sie Open Catalog mithilfe einer Speicherkonfiguration eingeschränkten Zugriff auf Ihren eigenen Microsoft Azure-Container gewähren. Open Catalog unterstützt die folgenden Azure Cloud-Speicherdienste für die Konfiguration von Speichern:

  • Blob-Speicher

  • Data Lake Storage Gen2

  • General Purpose v1

  • General Purpose v2

Ein Administrator Ihrer Organisation erteilt dem IAM-Benutzer Berechtigungen in Ihrem Azure-Konto.

Hinweis

  • Um die Anleitung unter diesem Thema auszuführen, müssen Sie in Azure über die erforderlichen Berechtigungen zum Erstellen und Verwalten von IAM-Richtlinien und -Rollen verfügen. Wenn Sie kein Azure-Administrator sind, bitten Sie Ihren Azure-Administrator, diese Aufgaben auszuführen.

  • Informationen zu den Features der Datenwiederherstellung erhalten Sie von Ihrem Speicheranbieter.

Schritt 1: Einen Katalog erstellen

  1. Melden Sie sich an, um den Katalog zu öffnen.

  2. Wählen Sie auf der Startseite von Open Catalog im Bereich Kataloge die Option + Erstellen.

  3. Füllen Sie im Dialog Katalog erstellen die Felder aus:

    1. Geben Sie für Name einen Namen für den Katalog ein.

      Bei Katalognamen wird zwischen Groß- und Kleinschreibung unterschieden.

    2. Optional: Um einen externen Katalog zu erstellen, setzen Sie den Schalter Extern auf Ein.

      Informationen über externe Kataloge finden Sie unter Katalogtypen.

    3. Für Speicheranbieter wählen Sie AZURE.

    4. Für Standard-Speicherort geben Sie den Standard-Speicherort für Ihren Azure Speicher-Container ein, indem Sie aus dieser Liste das entsprechende Format auf den Pfad zum primären Endpunkt für Ihren Container anwenden:

      Endpunkt-Typ

      Format

      Beispiel für einen Standard-Speicherort

      Blob

      abfss://<container_name>@<storage_account_name>.blob.core.windows.net/<directory_name>/

      abfss://my_container1@my_storageaccount1.blob.core.windows.net/my_directory1/

      Azure Data Lake Storage (ADLS)

      abfss://<container_name>@<storage_account_name>.dfs.core.windows.net/<directory_name>/

      abfss://my_container2@my_storageaccount2.dfs.core.windows.net/my_directory2/

      Hinweis

      • Sie haben diesen Pfad und den Namen Ihres Containers kopiert, als Sie einen Microsoft Azure-Container erstellt haben.

      • Im Pfad zum primären Endpunkt für Ihren Container ist der Name Ihres Speicherkontos der Text zwischen https:// und dem ersten Punkt im Pfad.

      • Verwenden Sie das Präfix abfss://, nicht https://.

    5. Optional: Wenn der Katalog Objekte enthält, die an mehr als einem Speicherort gespeichert sind, listen Sie im Feld Zusätzliche Speicherorte (optional) jeden zusätzlichen Speicherort durch ein Komma getrennt auf.

    6. Für Mandanten-ID geben Sie die Azure Mandanten-ID ein.

    7. Wählen Sie Erstellen.

Schritt 2: Die Werte für den Speicherort kopieren

  1. Wählen Sie auf der Startseite von Open Catalog im Bereich Kataloge den Katalog aus, den Sie erstellt haben.

  2. Kopieren Sie unter Speicherdetails die folgenden Werte:

    Eigenschaft

    Beschreibung

    AZURE_CONSENT_URL

    URL der Microsoft-Berechtigungsanforderungsseite.

    AZURE_MULTI_TENANT_APP_NAME

    Name der Snowflake-Clientanwendung, die für Ihr Konto erstellt wurde. In einem späteren Schritt in dieser Anleitung müssen Sie dieser Anwendung die Berechtigung erteilen, ein Zugriffstoken für Ihren zulässigen Speicherort zu erhalten.

    Sie verwenden diese Werte in den folgenden Schritten.

Schritt 3: Erteilen Sie dem Azure-Dienstprinzipal Berechtigungen für ein Zugriffstoken

  1. Rufen Sie in einem Browser die Seite für die Anfrage nach Berechtigungen von Microsoft auf (die Azure Consent-URL).

  2. Wählen Sie Akzeptieren.

    Mit dieser Aktion kann der Azure-Dienstprinzipal, der für Ihr Open Catalog-Konto erstellt wurde, ein Token für den Zugriff auf bestimmte Ressourcen innerhalb Ihres Mandantenbereichs erhalten. Die Beschaffung eines Zugriffstokens ist nur dann erfolgreich, wenn Sie dem Dienstprinzipal die entsprechenden Berechtigungen für den Container erteilen. Die Microsoft-Berechtigungsanforderungsseite leitet auf die Snowflake-Firmenwebsite (snowflake.com) um.

  3. Melden Sie sich beim Microsoft Azure-Portal an.

  4. Öffnen Sie Azure-Dienste > Speicherkonten.

  5. Wählen Sie den Namen des Speicherkontos, auf das der Open Catalog Dienstprinzipal zugreifen muss.

  6. Wählen Sie Zugriffssteuerung (IAM) > Rollenzuweisung hinzufügen.

  7. Wählen Sie die gewünschte Rolle, die Sie dem Open Catalog-Dienstprinzipal zuweisen möchten, z. B. die Rolle „Storage Blob Data Contributor“.

    Die Rolle „Storage Blob Data Contributor“ gewährt dem Open Catalog-Dienstprinzipal Lese- und Schreibzugriff und Schreibzugriff auf den Speicherort.

    Hinweis

    Open Catalog stellt ein Shared Access Signature(SAS)-Token für die Benutzer-Delegierung aus. Das SAS-Token für den Zugriff auf die Speicher-Blobs wird auf der Containerebene (statt Blob oder Verzeichnis) verwendet. Die von Ihnen gewählte Rolle sollte die Berechtigung haben, den Schlüssel für die Benutzerdelegierung zu erstellen. Eine Auflistung dieser Rollen finden Sie unter Berechtigungen zuweisen mit RBAC.

  8. Wählen Sie Nächste.

  9. Wählen Sie + Mitglieder auswählen.

  10. Nach einer Stunde suchen Sie nach dem Open Catalog-Dienstprinzipal, der die Namenseigenschaft der mandantenfähigen Azure-App ist, und wählen Sie ihn aus. Suche nach der Zeichenfolge vor dem Unterstrich im Eigenschaftswert.

    Wichtig

    • Es kann eine Stunde oder länger dauern, bis Azure den über die Microsoft-Anfrageseite in diesem Abschnitt angeforderten Open Catalog-Dienstprinzipal erstellt hat. Wenn der Dienstprinzipal nicht sofort verfügbar ist, müssen Sie ein bis zwei Stunden warten und ihn dann erneut suchen.

    • Wenn Sie den Dienstprinzipal löschen, funktioniert der Katalog aufgrund einer fehlgeschlagenen Authentifizierung nicht mehr.

  11. Wählen Sie Auswählen.

  12. Wählen Sie Prüfen + Zuweisen.

Hinweis

Beim Zuweisen einer Rolle kann es bis zu 10 Minuten dauern, bis die Änderungen wirksam werden. Weitere Informationen finden Sie unter Symptom – Änderungen der Rollenzuweisung werden nicht erkannt in der Microsoft Azure Dokumentation.