Cette page s'applique à Apigee et à Apigee hybrid.
Ce document explique comment provisionner le hub d'API à partir de la ligne de commande. Si vous préférez provisionner le hub d'API à l'aide de l'UI de type assistant, consultez Provisionner le hub d'API dans la console Cloud.
Avant de commencer
- 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.
Accéder à IAM - Sélectionnez le projet.
- Cliquez sur Accorder l'accès.
-
Dans le champ Nouveaux comptes principaux, saisissez votre identifiant utilisateur. Il s'agit généralement de l'adresse e-mail d'un compte Google.
- Dans la liste Sélectionner un rôle, sélectionnez un rôle.
- Pour attribuer des rôles supplémentaires, cliquez sur Ajouter un autre rôle et ajoutez chaque rôle supplémentaire.
- Cliquez sur Enregistrer.
Résumé des étapes
Les étapes de provisionnement sont les suivantes :
- Étape 1 : Activez les API. Vous devez activer un ensemble d'API Google Cloud pour que le hub d'API Apigee fonctionne.
- Étape 2: Créez l'identité de service du hub d'API Apigee. L'identité de service permet à l'instance du hub d'API d'appeler les API Google Cloud dont elle a besoin pour effectuer ses opérations.
- Étape 3 : Configurez le chiffrement. Vous pouvez choisir d'utiliser une approche Google-owned and Google-managed encryption key (GMEK) ou une clé de chiffrement gérée par le client (CMEK) pour chiffrer et déchiffrer vos données d'API au repos. Consultez la page Comparison of CMEK and Google-owned and Google-owned and Google-managed encryption keys (Comparaison entre le chiffrement CMEK et les clés gérées par Google)
- Étape 4: Créez l'instance du hub d'API. Pour terminer, vous devez enregistrer le projet hôte et créer l'instance du hub d'API.
Procédure de provisionnement
Assurez-vous de remplir les conditions préalables décrites dans la section Avant de commencer.
Étape 1 : Activez les API
Pour provisionner le hub d'API, vous devez activer les API suivantes dans votre Google Cloud projet:
-
Activez les API Google Cloud requises en exécutant la commande
services enable
suivante:gcloud services enable apihub.googleapis.com \ cloudkms.googleapis.com --project=YOUR_PROJECT_ID
où
YOUR_PROJECT_ID
est l'ID du projet Cloud que vous avez créé dans la section Avant de commencer.
Étape 2: Créez l'identité de service du hub d'API Apigee
L'identité de service permet à l'instance du hub d'API d'appeler les API Google Cloud dont elle a besoin pour effectuer ses opérations.
-
Créez l'identité du service:
gcloud beta services identity create --service=apihub.googleapis.com \ --project=YOUR_PROJECT_ID
où
YOUR_PROJECT_ID
est l'ID du projet Cloud que vous avez créé dans la section Avant de commencer. Vérifiez que l'agent a bien été créé. La réponse inclut le nom de l'agent au format suivant :
service-PROJECT_NUMBER@gcp-sa-apihub.iam.gserviceaccount.com
. Exemple :Service identity created: service-1234567890@gcp-sa-apihub.iam.gserviceaccount.com
Notez que vous devrez utiliser cette identité de service lors d'une étape ultérieure.
Étape 3: Configurer le chiffrement
Au cours de cette étape, vous allez configurer la gestion du chiffrement des données dans votre instance de hub d'API. Vous pouvez utiliser une clé de chiffrement gérée par le client(CMEK) ou créer votre propre clé de chiffrement gérée par le client (CMEK). Google-owned and Google-managed encryption key Consultez la page Comparison of CMEK and Google-owned and Google-owned and Google-managed encryption keys (Comparaison entre le chiffrement CMEK et les clés gérées par Google)
Étapes CMEK
Si vous souhaitez utiliser CMEK pour le chiffrement des données, procédez comme suit:
-
Créez un trousseau de clés et une clé de chiffrement de la base de données d'exécution : Si vous le souhaitez, vous pouvez utiliser une clé et un trousseau CMEK existants. Notez que la clé doit être créée au même emplacement que celui où vous prévoyez de créer l'instance du hub d'API.
Créez un trousseau de clés :
Le nom du trousseau de clés doit être unique au sein de votre organisation. Si vous créez une deuxième région ou plus, le nom ne peut pas être identique à celui d'un autre trousseau de clés.
gcloud kms keyrings create KEY_RING_NAME \ --location KEY_RING_LOCATION --project YOUR_PROJECT_ID
Où :
KEY_RING_NAME
: nom du trousseau de clés à créer.KEY_RING_LOCATION
: emplacement physique du trousseau de clés. Cet emplacement doit être le même que celui que vous prévoyez d'utiliser pour l'instance de hub d'API que vous créerez ultérieurement. Vous devez utiliser l'un des emplacements compatibles suivants:Description de la région Nom de la région Iowa us-central1
Virginie du Nord us-east4
Oregon us-west1
Belgique europe-west1
Londres europe-west2
Singapour asia-southeast1
Mumbai asia-south1
São Paulo southamerica-east1
Sydney australia-southeast1
YOUR_PROJECT_ID
: ID du projet Cloud que vous avez créé dans la section Avant de commencer.
Créez la clé de chiffrement et ajoutez-la au trousseau de clés:
gcloud kms keys create KEY_NAME \ --keyring KEY_RING_NAME \ --location KEY_LOCATION \ --purpose "encryption" \ --project YOUR_PROJECT_ID
Où :
KEY_NAME
: nom de la clé de base de données que vous créez.KEY_RING_NAME
: nom du trousseau de clés que vous venez de créer.KEY_LOCATION
: emplacement physique de la clé. Utilisez le même emplacement que celui que vous avez utilisé pour créer le trousseau de clés.
- Obtenez l'ID de la clé :
gcloud kms keys list \ --location=KEY_LOCATION \ --keyring=KEY_RING_NAME \ --project=YOUR_PROJECT_ID
L'ID de clé utilise la syntaxe suivante (semblable à un chemin de fichier) : Conservez cet ID de clé, car vous devrez l'utiliser à une étape ultérieure:
projects/YOUR_PROJECT_ID/locations/KEY_LOCATION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Autorisez l'agent de service Apigee à utiliser la nouvelle clé :
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
Où SERVICE_ACCOUNT correspond à l'ID du compte de service que vous avez créé à l'étape 2. L'ID ressemble à ceci:
service-1234567890@gcp-sa-apihub.iam.gserviceaccount.com
.Cette commande associe la clé à l'agent de service du hub d'API Apigee.
Si la requête réussit,
gcloud
envoie une réponse semblable à celle-ci :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
Si vous obtenez une erreur semblable à celle-ci :
INVALID_ARGUMENT: Role roles/cloudkms.cryptokms.cryptoKeyEncrypterDecrypter is not supported for this resource.
Assurez-vous d'avoir utilisé le numéro du projet, et non le nom du projet dans l'adresse e-mail du compte de service.
Étapes du GMEK
Si vous souhaitez utiliser une GMEK pour le chiffrement des données, passez directement à l'étape suivante, Étape 4: Créer l'instance de hub d'API. Aucune configuration de clé supplémentaire n'est requise.
Étape 4: Créez l'instance de hub d'API
Un projet hôte est le Google Cloud projet dans lequel vous provisionnerez le hub d'API Apigee. Vous ne pouvez provisionner qu'une seule instance de hub d'API par projet hôte.
- Enregistrez le projet hôte:
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
Où :
YOUR_PROJECT_ID
: ID du projet Cloud que vous avez créé dans la section Avant de commencer.PROJECT_LOCATION
: emplacement physique (région) dans lequel vous souhaitez héberger votre instance de hub d'API Apigee. Vous devez utiliser le même emplacement que celui que vous avez utilisé pour créer la clé CMEK et le trousseau de clés. Les régions suivantes sont acceptées:Description de la région Nom de la région Iowa us-central1
Virginie du Nord us-east4
Oregon us-west1
Belgique europe-west1
Londres europe-west2
Singapour asia-southeast1
Mumbai asia-south1
São Paulo southamerica-east1
Sydney australia-southeast1
HOST_ID
: nom du projet hôte.
- Créez l'instance du hub d'API :
Avec CMEK
Si vous avez utilisé CMEK pour le chiffrement des données, exécutez la commande suivante:
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
Où :
KEY_NAME
(obligatoire): nom complet de la clé CMEK. Ce nom a été renvoyé lors de la création de la clé. Exemple :projects/YOUR_PROJECT_ID/locations/HOST_LOCATION/hostProjectRegistrations/HOST_ID
.VERTEX_LOCATION
(facultatif): spécifie l'emplacement multirégional dans lequel stocker vos données de recherche basées sur Vertex AI, c'est-à-dire les données associées à la fonctionnalité Recherche sémantique du hub d'API. Vous pouvez utiliserus
oueu
pour cette valeur. Si vous ne souhaitez utiliser aucune de ces multirégions, vous pouvez désactiver la recherche sémantique en omettant ce paramètre.encryptionType
(obligatoire) Vous devez utiliserCMEK
.YOUR_PROJECT_ID
est l'ID du projet Cloud que vous avez créé dans la section Avant de commencer.PROJECT_LOCATION
: vous devez utiliser le même emplacement que celui que vous avez utilisé pour enregistrer le projet hôte.INSTANCE_ID
: nom de l'instance d'API Hub. Cette valeur doit comporter entre 4 et 40 caractères, et les caractères valides sont/[a-z][A-Z][0-9]-_/
.
Avec GMEK
Si vous utilisez GMEK pour le chiffrement des données, exécutez la commande suivante:
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
Où :
VERTEX_LOCATION
(facultatif): spécifie l'emplacement multirégional dans lequel stocker vos données de recherche basées sur Vertex AI, c'est-à-dire les données associées à la fonctionnalité Recherche sémantique du hub d'API. Vous pouvez utiliserus
oueu
pour cette valeur. Si vous ne souhaitez utiliser aucune de ces multirégions, vous pouvez désactiver la recherche sémantique en omettant ce paramètre.encryptionType
doit êtreGMEK
. Si vous ne spécifiez pas de type de chiffrement, GMEK est utilisé par défaut.YOUR_PROJECT_ID
est l'ID du projet Cloud que vous avez créé dans la section Avant de commencer.PROJECT_LOCATION
: vous devez utiliser le même emplacement que celui que vous avez utilisé pour enregistrer le projet hôte.INSTANCE_ID
: nom de l'instance d'API Hub. Cette valeur doit comporter entre 4 et 40 caractères, et les caractères valides sont/[a-z][A-Z][0-9]-_/
.
YOUR_PROJECT_ID
est l'ID du projet Cloud que vous avez créé dans la section Avant de commencer.PROJECT_LOCATION
: vous devez utiliser le même emplacement que celui que vous avez utilisé pour enregistrer le projet hôte.- Consultez les rôles et autorisations requis pour utiliser API Hub.
- Configurez les attributs du hub d'API :
- Enregistrez une ressource d'API :
- Ajoutez une version d'API :
Étape 5: (Facultatif) Créez une pièce jointe de projet d'exécution
Si vous avez provisionné le hub d'API dans un projet comportant des proxys Apigee, effectuez cette étape facultative pour enregistrer automatiquement les proxys dans le hub d'API.
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
Où :
Étape suivante
Vous êtes maintenant prêt à utiliser le hub d'API :