Diese Seite gilt für Apigee und Apigee Hybrid.
In diesem Dokument wird beschrieben, wie Sie den API-Hub über die Befehlszeile bereitstellen. Wenn Sie den API-Hub lieber über die Benutzeroberfläche im Assistentenstil bereitstellen möchten, lesen Sie den Hilfeartikel API-Hub in der Cloud Console bereitstellen.
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Make sure that you have the following role or roles on the project:
roles/serviceusage.serviceUsageAdmin
roles/cloudkms.admin
roles/apihub.provisioningAdmin
roles/resourcemanager.projectIamAdmin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
IAM aufrufen - Wählen Sie das Projekt aus.
- Klicken Sie auf Zugriff erlauben.
-
Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Dies ist in der Regel die E-Mail-Adresse eines Google-Kontos.
- Wählen Sie in der Liste Rolle auswählen eine Rolle aus.
- Wenn Sie weitere Rollen hinzufügen möchten, klicken Sie auf Weitere Rolle hinzufügen und fügen Sie weitere Rollen hinzu.
- Klicken Sie auf Speichern.
Zusammenfassung der Schritte
Dazu sind folgende Schritte erforderlich:
- Schritt 1: APIs aktivieren. Sie müssen eine Reihe von Google Cloud APIs aktivieren, damit der Apigee API-Hub funktioniert.
- Schritt 2: Apigee API-Hub-Dienstidentität erstellen Über die Dienstidentität kann die API-Hub-Instanz die Google Cloud APIs aufrufen, die für die Ausführung ihrer Vorgänge erforderlich sind.
- Schritt 3: Verschlüsselung konfigurieren Sie können auswählen, ob Sie einen Google-owned and Google-managed encryption key von Google verwalteten Verschlüsselungsschlüssel(Google-Managed Encryption Key, GMEK) oder einen vom Kunden verwalteten Verschlüsselungsschlüssel (Customer-Managed Encryption Key, CMEK) verwenden möchten, um Ihre inaktiven API-Daten zu verschlüsseln und zu entschlüsseln. Weitere Informationen finden Sie unter Vergleich von CMEK- und von Google verwalteten Google-owned and Google-managed encryption keys.
- Schritt 4: API-Hub-Instanz erstellen Zum Abschluss müssen Sie das Hostprojekt registrieren und die API-Hub-Instanz erstellen.
Bereitstellungsschritte
Prüfen Sie, ob die unter Vorbereitung beschriebenen Voraussetzungen erfüllt sind.
Schritt 1: APIs aktivieren
Um den API-Hub bereitzustellen, müssen Sie die folgenden APIs in Ihrem Google Cloud Projekt aktivieren:
-
Aktivieren Sie die erforderlichen Google Cloud APIs mit dem Befehl
services enable
:gcloud services enable apihub.googleapis.com \ cloudkms.googleapis.com --project=YOUR_PROJECT_ID
Dabei ist
YOUR_PROJECT_ID
die Cloud-Projekt-ID, die Sie unter Vorbereitung erstellt haben.
Schritt 2: Apigee API Hub-Dienstidentität erstellen
Über die Dienstidentität kann die API-Hub-Instanz die Google Cloud APIs aufrufen, die für die Ausführung ihrer Vorgänge erforderlich sind.
-
Erstellen Sie die Dienstidentität:
gcloud beta services identity create --service=apihub.googleapis.com \ --project=YOUR_PROJECT_ID
Dabei ist
YOUR_PROJECT_ID
die Cloud-Projekt-ID, die Sie unter Vorbereitung erstellt haben. Überprüfen Sie, ob der Agent erfolgreich erstellt wurde. Die Antwort enthält den Namen des Kundenservicemitarbeiters im folgenden Format:
service-PROJECT_NUMBER@gcp-sa-apihub.iam.gserviceaccount.com
. Beispiel:Service identity created: service-1234567890@gcp-sa-apihub.iam.gserviceaccount.com
Diese Dienstidentität wird in einem späteren Schritt benötigt.
Schritt 3: Verschlüsselung konfigurieren
In diesem Schritt konfigurieren Sie, wie die Verschlüsselung von Daten in Ihrer API-Hub-Instanz verwaltet wird. Sie können einen Google-owned and Google-managed encryption key (GMEK) verwenden oder einen eigenen vom Kunden verwalteten Verschlüsselungsschlüssel (CMEK) erstellen. Weitere Informationen finden Sie unter Vergleich von CMEK- und von Google verwalteten Google-owned and Google-managed encryption keys.
CMEK-Schritte
So verwenden Sie CMEK für die Datenverschlüsselung:
-
Erstellen Sie einen Schlüsselbund und Schlüssel für die Verschlüsselung der Laufzeitdatenbank: Sie können einen vorhandenen CMEK-Schlüssel und einen vorhandenen Schlüsselbund verwenden. Der Schlüssel muss am selben Ort erstellt werden, an dem Sie die API-Hub-Instanz erstellen möchten.
Erstellen Sie einen neuen Schlüsselbund:
Der Name des Schlüsselbunds muss für Ihre Organisation eindeutig sein. Wenn Sie eine zweite oder nachfolgende Region erstellen, darf der Name nicht mit dem Namen eines anderen Schlüsselbunds übereinstimmen.
gcloud kms keyrings create KEY_RING_NAME \ --location KEY_RING_LOCATION --project YOUR_PROJECT_ID
Wobei:
KEY_RING_NAME
: Der Name des zu erstellenden Schlüsselbunds.KEY_RING_LOCATION
: Der physische Speicherort des Schlüsselbunds. Dieser Speicherort muss mit dem Speicherort übereinstimmen, den Sie für die API-Hub-Instanz verwenden möchten, die Sie in einem späteren Schritt erstellen. Sie müssen einen der folgenden unterstützten Standorte verwenden:Beschreibung der Region Name der Region Iowa us-central1
Northern Virginia us-east4
Oregon us-west1
Belgien europe-west1
London europe-west2
Singapur asia-southeast1
Mumbai asia-south1
São Paulo southamerica-east1
Sydney australia-southeast1
YOUR_PROJECT_ID
: Die Cloud-Projekt-ID, die Sie unter Vorbereitung erstellt haben.
Erstellen Sie den Verschlüsselungsschlüssel und fügen Sie ihn dem Schlüsselbund hinzu:
gcloud kms keys create KEY_NAME \ --keyring KEY_RING_NAME \ --location KEY_LOCATION \ --purpose "encryption" \ --project YOUR_PROJECT_ID
Wobei:
KEY_NAME
: Der Name des Datenbankschlüssels, den Sie erstellen.KEY_RING_NAME
: Der Name des Schlüsselbunds, den Sie gerade erstellt haben.KEY_LOCATION
: Der physische Speicherort des Schlüssels. Verwenden Sie denselben Speicherort wie beim Erstellen des Schlüsselbunds.
- Rufen Sie die Schlüssel-ID ab:
gcloud kms keys list \ --location=KEY_LOCATION \ --keyring=KEY_RING_NAME \ --project=YOUR_PROJECT_ID
Die Schlüssel-ID hat die folgende Syntax (ähnlich einem Dateipfad). Notieren Sie sich diese Schlüssel-ID, da Sie sie in einem späteren Schritt benötigen:
projects/YOUR_PROJECT_ID/locations/KEY_LOCATION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Gewähren Sie dem Apigee-Dienst-Agent Zugriff auf den neuen Schlüssel:
gcloud kms keys add-iam-policy-binding KEY_NAME \ --location KEY_LOCATION \ --keyring KEY_RING_NAME \ --member serviceAccount:SERVICE_ACCOUNT \ --role roles/cloudkms.cryptoKeyEncrypterDecrypter \ --project YOUR_PROJECT_ID
Dabei ist SERVICE_ACCOUNT die ID des Dienstkontos, das Sie in Schritt 2 erstellt haben. Die ID sieht in etwa so aus:
service-1234567890@gcp-sa-apihub.iam.gserviceaccount.com
.Mit diesem Befehl wird der Schlüssel an den Apigee API Hub-Dienst-Agent gebunden.
Nach dem erfolgreichen Abschluss dieser Anfrage gibt
gcloud
etwa folgende Antwort zurück:Updated IAM policy for key [runtime]. bindings: - members: - serviceAccount:service-1234567890@gcp-sa-apihub.iam.gserviceaccount.com role: roles/cloudkms.cryptoKeyEncrypterDecrypter etag: BwWqgEuCuwk= version: 1
Wenn Sie einen Fehler wie folgenden erhalten:
INVALID_ARGUMENT: Role roles/cloudkms.cryptokms.cryptoKeyEncrypterDecrypter is not supported for this resource.
Achten Sie darauf, dass Sie die Projektnummer und nicht den Projektnamen in der E-Mail-Adresse des Dienstkontos verwendet haben.
GMEK-Schritte
Wenn Sie GMEK für die Datenverschlüsselung verwenden möchten, fahren Sie mit dem nächsten Schritt fort: Schritt 4: API-Hub-Instanz erstellen. Es ist keine weitere Schlüsselkonfiguration erforderlich.
Schritt 4: API-Hub-Instanz erstellen
Ein Hostprojekt ist das Google Cloud Projekt, in dem Sie den Apigee API-Hub bereitstellen. Pro Hostprojekt kann nur eine API-Hubinstanz bereitgestellt werden.
- Registrieren Sie das Hostprojekt:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" -d '{ "gcpProject": "projects/YOUR_PROJECT_ID" }' https://apihub.googleapis.com/v1/projects/YOUR_PROJECT_ID/locations/PROJECT_LOCATION/hostProjectRegistrations?host_project_registration_id=HOST_ID
Wobei:
YOUR_PROJECT_ID
: Die Cloud-Projekt-ID, die Sie unter Vorbereitung erstellt haben.PROJECT_LOCATION
: Der physische Standort (Region), an dem Sie die Apigee API-Hub-Instanz hosten möchten. Sie müssen denselben Speicherort verwenden, an dem Sie den CMEK-Schlüssel und den Schlüsselbund erstellt haben. Folgende Regionen werden unterstützt:Beschreibung der Region Name der Region Iowa us-central1
Northern Virginia us-east4
Oregon us-west1
Belgien europe-west1
London europe-west2
Singapur asia-southeast1
Mumbai asia-south1
São Paulo southamerica-east1
Sydney australia-southeast1
HOST_ID
: Der Name des Hostprojekts.
- Erstellen Sie die API-Hub-Instanz:
Mit CMEK
Wenn Sie CMEK für die Datenverschlüsselung verwendet haben, führen Sie den folgenden Befehl aus:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" -H "X-Google-GFE-Can-Retry: yes" -d '{ "config":{ "cmekKeyName":"KEY_NAME", "vertexLocation":"VERTEX_LOCATION", "encryptionType":"CMEK" } }' https://apihub.googleapis.com/v1/projects/YOUR_PROJECT_ID/locations/PROJECT_LOCATION/apiHubInstances?api_hub_instance_id=INSTANCE_ID
Wobei:
KEY_NAME
(erforderlich): Der voll qualifizierte Name des CMEK-Schlüssels. Dieser Name wurde beim Erstellen des Schlüssels zurückgegeben. Beispiel:projects/YOUR_PROJECT_ID/locations/HOST_LOCATION/hostProjectRegistrations/HOST_ID
VERTEX_LOCATION
(Optional): Gibt den mehrregionalen Speicherort an, an dem Ihre Vertex AI-basierten Suchdaten gespeichert werden sollen. Das sind die Daten, die mit der semantischen Suche des API-Hubs verknüpft sind. Sie können für diesen Wert entwederus
odereu
verwenden. Wenn Sie keine dieser Mehrfachregionen verwenden möchten, können Sie die semantische Suche deaktivieren, indem Sie diesen Parameter weglassen.encryptionType
(erforderlich): Sie müssenCMEK
verwenden.YOUR_PROJECT_ID
ist die Cloud-Projekt-ID, die Sie unter Vorbereitung erstellt haben.PROJECT_LOCATION
: Sie müssen denselben Standort verwenden, den Sie bei der Registrierung des Hostprojekts verwendet haben.INSTANCE_ID
: Der Name der API-Hub-Instanz. Dieser Wert sollte 4–40 Zeichen umfassen und gültige Zeichen sind/[a-z][A-Z][0-9]-_/
.
Mit GMEK
Wenn Sie GMEK für die Datenverschlüsselung verwenden, führen Sie den folgenden Befehl aus:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" -H "X-Google-GFE-Can-Retry: yes" -d '{ "config":{ "vertexLocation":"VERTEX_LOCATION", "encryptionType":"GMEK" } }' https://apihub.googleapis.com/v1/projects/YOUR_PROJECT_ID/locations/PROJECT_LOCATION/apiHubInstances?api_hub_instance_id=INSTANCE_ID
Wobei:
VERTEX_LOCATION
(Optional): Gibt den mehrregionalen Speicherort an, an dem Ihre Vertex AI-basierten Suchdaten gespeichert werden sollen. Das sind die Daten, die mit der semantischen Suche des API-Hubs verknüpft sind. Sie können für diesen Wert entwederus
odereu
verwenden. Wenn Sie keine dieser Mehrfachregionen verwenden möchten, können Sie die semantische Suche deaktivieren, indem Sie diesen Parameter weglassen.encryptionType
mussGMEK
lauten. Wenn Sie keinen Verschlüsselungstyp angeben, wird standardmäßig GMEK verwendet.YOUR_PROJECT_ID
ist die Cloud-Projekt-ID, die Sie unter Vorbereitung erstellt haben.PROJECT_LOCATION
: Sie müssen denselben Standort verwenden, den Sie bei der Registrierung des Hostprojekts verwendet haben.INSTANCE_ID
: Der Name der API-Hub-Instanz. Dieser Wert sollte 4–40 Zeichen umfassen und gültige Zeichen sind/[a-z][A-Z][0-9]-_/
.
YOUR_PROJECT_ID
ist die Cloud-Projekt-ID, die Sie unter Vorbereitung erstellt haben.PROJECT_LOCATION
: Sie müssen denselben Standort verwenden, den Sie bei der Registrierung des Hostprojekts verwendet haben.- Rollen und Berechtigungen für die Verwendung des API-Hubs
- API-Hub-Attribute konfigurieren:
- API-Ressource registrieren:
- API-Version hinzufügen:
Schritt 5 (optional): Laufzeitprojektanhang erstellen
Wenn Sie den API-Hub in einem Projekt mit Apigee-Proxys bereitgestellt haben, können Sie mit diesem optionalen Schritt die Proxys automatisch im API-Hub registrieren.
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" -H "X-Google-GFE-Can-Retry: yes" \ https://apihub.googleapis.com/v1/projects/YOUR_PROJECT_ID/locations/PROJECT_LOCATION/runtimeProjectAttachments?runtimeProjectAttachmentId=YOUR_PROJECT_ID
Wobei:
Nächste Schritte
Jetzt können Sie den API-Hub verwenden: