Cette page s'applique à Apigee et à Apigee hybrid.
Consultez
la documentation d' Apigee Edge.
Cette page explique comment créer des espaces Apigee dans votre organisation Apigee pour gérer Identity and Access Management (IAM) à grande échelle les stratégies pour les ressources d'API Apigee.
Ce guide décrit les étapes nécessaires pour :
- Créer un espace
- Gérer les membres et les rôles dans un espace
- Répertorier tous les espaces d'une organisation
- Obtenir les détails de l'espace
- Mettre à jour un espace
- Supprimer un espace
Pour en savoir plus sur les avantages de l'utilisation d'Apigee Spaces pour gérer vos ressources d'API, consultez la section Apigee Spaces.
Avant de commencer
Avant de commencer à utiliser les espaces :
- Provisionnez Apigee. Vérifiez que l'organisation Apigee avec abonnement ou en paiement à l'usage que vous souhaitez utiliser est provisionnée. Pour en savoir plus sur les étapes requises pour provisionner Apigee, consultez la section Présentation du provisionnement.
- Obtenez vos identifiants d'authentification. Avant d'exécuter des commandes pour créer et gérer des espaces
sur la ligne de commande, obtenez vos identifiants d'authentification
gcloudà l'aide de la commande suivante :export TOKEN=$(gcloud auth print-access-token)
Rôles et autorisations requis
Assurez-vous de disposer des rôles suivants sur le projet : Apigee > Administrateur de l'organisation Apigee
Vérifier les rôles
-
Dans la Google Cloud console, accédez à la page IAM.
Accéder à IAM - Sélectionnez le projet.
-
Dans la colonne Compte principal, recherchez toutes les lignes qui vous identifient ou identifient un groupe dont vous faites partie. Pour savoir à quels groupes vous appartenez, contactez votre administrateur.
- Pour toutes les lignes qui vous spécifient ou vous incluent, consultez la colonne Rôle pour vous assurer que la liste inclut les rôles requis.
Attribuer les rôles
-
Dans la Google Cloud console, accédez à la page IAM.
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.
- Cliquez sur Sélectionner un rôle, puis recherchez le rôle.
- Pour attribuer des rôles supplémentaires, cliquez sur Ajouter un autre rôle et ajoutez tous les rôles supplémentaires.
- Cliquez sur Enregistrer.
Créer un espace
Pour effectuer cette tâche, vous devez disposer de l'autorisation apigee.spaces.create.
Cette autorisation est incluse dans le rôle Apigee Organization Admin.
Pour créer un espace dans votre organisation Apigee, exécutez la commande suivante :
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
"https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces" \
--data-raw '{
"name":"SPACE_NAME",
"displayName":"DISPLAY_NAME",
}'Où :
- ORG_NAME est le nom de votre organisation Apigee.
- SPACE_NAME est le nom et l'ID de l'espace.
- DISPLAY_NAME est le nom de l'espace tel qu'il doit apparaître dans l'interface utilisateur Apigee de la console Cloud. Si aucun nom à afficher n'est fourni, le nom de l'espace est utilisé comme nom à afficher.
Par exemple, la commande suivante crée un espace nommé red dans l'organisation acme :
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
https://apigee.googleapis.com/v1/organizations/acme/spaces \
--data-raw '{
"name":"red",
"displayName":"Red",
}'Une fois que vous avez créé un espace dans votre organisation, les membres de l'organisation qui utilisent l'interface utilisateur Apigee dans la console Cloud verront l'espace comme paramètre disponible lors de la création de ressources d'API dans l'interface utilisateur. De plus, lorsque vous affichez des listes de proxys d'API, de produits d'API et de flux partagés dans l'interface utilisateur, l'espace apparaît comme un attribut pour les ressources d'API attribuées à cet espace.
Espaces.Gérer les membres et les rôles dans un espace
Une fois que vous avez créé un espace, vous pouvez y ajouter des membres de l'équipe et attribuer les rôles IAM requis pour créer et gérer des ressources d'API dans l'espace. Les utilisateurs d'Apigee ne peuvent créer et gérer des ressources que dans les espaces où ils sont membres de l'équipe et où ils disposent des autorisations appropriées. Comme le contrôle des accès IAM est accordé au niveau des espaces, les membres de l'organisation ne peuvent pas accéder aux ressources d'API Apigee appartenant à l'espace ni les gérer, sauf s'ils sont spécifiquement ajoutés à l'espace. Pour obtenir une présentation des rôles et des autorisations IAM requis pour gérer les ressources d'espace, consultez Créer et gérer des ressources d'espace.
Ajouter un membre de l'organisation à un espace
Lorsqu'un membre d'une organisation est ajouté à un espace, une liaison de stratégie IAM est créée pour l'espace. Elle comporte deux arguments :
- La liste des membres de l'espace
- Le rôle ou la liste des rôles accordés aux membres
Pour effectuer cette tâche, vous devez disposer de l'autorisation apigee.spaces.setIamPolicy.
Cette autorisation est incluse dans le rôle Apigee Organization Admin.
Pour ajouter un membre d'une organisation à un espace et lui attribuer un rôle IAM, utilisez la commande suivante :
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["user:USER_EMAIL"], "role": "roles/IAM_ROLE" } ] } }'
Où :
- ORG_NAME est le nom de l'organisation Apigee.
- SPACE_NAME est le nom de l'espace.
- USER_EMAIL est l'adresse e-mail d'un utilisateur que vous ajoutez à l'espace.
- IAM_ROLE est le nom du rôle IAM que vous attribuez à l'utilisateur en tant que membre de l'espace.
Par exemple, cette commande ajoute l'utilisateur my-email@acme.com à l'espace red de l'organisation acme et accorde le rôle IAM apigee.spaceContentEditor :
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["user:my-email@acme.com"], "role": "roles/apigee.spaceContentEditor" } ] } }'
Vous pouvez ajouter des rôles et des autorisations supplémentaires aux membres de l'espace en mettant à jour la stratégie IAM de l'espace. Pour mettre à jour la stratégie IAM d'un espace, utilisez la méthode setIamPolicy décrite dans cette section, en utilisant la liste révisée des rôles et des autorisations souhaités. Une stratégie IAM sera alors créée pour l'espace, avec des rôles et des autorisations ajustés en conséquence.
Ajouter une équipe de membres à un espace
Vous pouvez également ajouter une équipe de membres à un espace et attribuer un ou plusieurs rôles IAM. Pour ajouter une équipe de membres à un espace et attribuer un rôle IAM, utilisez la commande suivante :
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["group:GROUP_EMAIL"], "role": "roles/IAM_ROLE" } ] } }'
Où :
- ORG_NAME est le nom de l'organisation Apigee.
- SPACE_NAME est le nom de l'espace.
- GROUP_EMAIL est l'adresse e-mail d'un groupe que vous ajoutez à l'espace.
- IAM_ROLE est le nom du rôle IAM que vous attribuez à l'équipe en tant que membre de l'espace.
Par exemple, cette commande ajoute le groupe acme-team@acme.com à l'espace red de l'organisation acme
et accorde le rôle apigee.spaceContentEditor au groupe :
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["group:red-team@acme.com"], "role": "roles/apigee.spaceContentEditor" } ] } }'
Comme indiqué dans Ajouter un membre de l'organisation à un espace, le
rôle IAM apigee.spaceContentEditor contient la plupart des autorisations requises pour gérer les ressources de l'espace.
Toutefois, vous devrez peut-être attribuer des rôles supplémentaires aux utilisateurs pour qu'ils puissent effectuer des tâches spécifiques.
Vérifier l'attribution de la stratégie IAM pour les espaces
Pour effectuer cette tâche, vous devez disposer de l'autorisation apigee.spaces.getIamPolicy.
Cette autorisation est incluse dans le rôle Apigee Organization Admin.
Pour vérifier que la stratégie IAM est correctement définie pour l'espace, utilisez la commande suivante :
curl -X GET -H "Authorization: Bearer $TOKEN" \
"https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME:getIamPolicy"Où :
- ORG_NAME est le nom de l'organisation Apigee.
- SPACE_NAME est le nom de l'espace.
Par exemple, la commande suivante permet de vérifier que la stratégie IAM est correctement définie pour l'espace red de l'organisation acme :
curl -X GET -H "Authorization: Bearer $TOKEN" \
"https://apigee.googleapis.com/v1/organizations/acme/spaces/red:getIamPolicy"Le résultat de la commande renvoie la stratégie IAM actuelle pour l'espace et devrait se présenter comme suit :
{ "version": "0", "bindings": [ { "role": "roles/apigee.spaceContentEditor", "members": [ "group:red-team@acme.com" ] } ] }
Dans cet exemple, la stratégie IAM de l'espace accorde le rôle apigee.spaceContentEditor aux membres de l'espace, dans ce cas,
les membres du groupe red-team@acme.com
Notez que les membres de l'équipe red sont les seuls membres de l'organisation à avoir accès à l'espace red. Cela signifie que seuls les membres de l'équipe Red Team peuvent créer et gérer des ressources d'API dans les espaces red. Si des membres d'une autre équipe de l'organisation, telles que team-blue@acme.com, tentent d'accéder à un proxy d'API créé sous l'espace red, ils verront l'erreur suivante :
{
"error": {
"code": 403,
"message": "Permission denied on resource \"organizations\/acme\/apis\/proxy-1\" (or it may not exist).",
"status": "PERMISSION_DENIED"
}
}Exclure des membres d'un espace
Pour supprimer des membres ou un groupe de membres d'un espace, vous devez définir une nouvelle stratégie IAM pour l'espace, avec
une liste révisée de membres ou de groupes. La méthode setIamPolicy crée une stratégie IAM pour l'espace,
avec des rôles et des membres ajustés en conséquence.
Par exemple, pour mettre à jour les membres de l'espace dédié à l'équipe blue, vous pouvez d'abord vérifier la stratégie IAM actuelle à l'aide de la commande suivante :
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/blue:getIamPolicy"
Le résultat de la commande renvoie la stratégie IAM actuelle pour l'espace et devrait se présenter comme suit :
{ "version": "0", "bindings": [ { "role": "roles/apigee.spaceContentEditor", "members": [ "group: blue-team@acme.com", "users: user-a@acme.com, user-b@acme.com, user-c@acme.com" ] } ] }
Pour supprimer user-b@acme.com de l'espace, utilisez la commande suivante :
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/blue:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": [ "group:blue-team@acme.com", "users: user-a@acme.com, user-c@acme.com" ] "role": "roles/apigee.spaceContentEditor" } ] } }'
La nouvelle stratégie IAM de l'espace n'inclura plus user-b@acme.com.
Pour supprimer un membre d'un groupe inclus dans un espace, commencez par le supprimer du groupe, puis exécutez à nouveau la commande setIamPolicy afin de mettre à jour la stratégie IAM de l'espace avec l'appartenance correcte pour l' alias de messagerie du groupe.
Répertorier tous les espaces d'une organisation
Pour effectuer cette tâche, vous devez disposer de l'autorisation apigee.spaces.list.
Cette autorisation est incluse dans le rôle Apigee Organization Admin.
Pour lister tous les espaces d'une organisation Apigee, utilisez la commande suivante :
curl -X GET -H "Authorization: Bearer $TOKEN" \
"https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces"ORG_NAME est le nom de l'organisation Apigee.
Par exemple, la commande suivante liste tous les espaces de l'organisation acme :
curl -X GET -H "Authorization: Bearer $TOKEN" \
"https://apigee.googleapis.com/v1/organizations/acme/spaces"Cette commande renvoie un résultat semblable à celui-ci :
{
"spaces": [
{
"name": "red",
"createTime": "2024-08-02T23:26:03.001512Z",
"updateTime": "2024-08-02T23:26:03.001512Z"
},
{
"name": "blue",
"createTime": "2024-08-02T00:34:54.159331Z",
"updateTime": "2024-08-02T00:34:54.159331Z"
}
]
}Obtenir les détails de l'espace
Pour effectuer cette tâche, vous devez disposer de l'autorisation apigee.spaces.get.
Cette autorisation est incluse dans le rôle Apigee Organization Admin.
Utilisez la commande suivante pour obtenir les détails de l'espace :
curl -X GET -H "Authorization: Bearer $TOKEN" \
"https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME"Où :
- ORG_NAME est le nom de l'organisation Apigee.
- SPACE_NAME est le nom de l'espace.
Par exemple, la commande suivante permet d'obtenir des informations détaillées sur l'espace red de l'organisation acme :
curl -X GET -H "Authorization: Bearer $TOKEN" \
"https://apigee.googleapis.com/v1/organizations/acme/spaces/red"Cette commande renvoie un résultat semblable à celui-ci :
{
"name": "red",
"createTime": "2024-08-02T23:26:03.001512Z",
"updateTime": "2024-08-02T23:26:03.001512Z"
}Mettre à jour un espace
Pour effectuer cette tâche, vous devez disposer de l'autorisation apigee.spaces.update.
Cette autorisation est incluse dans le rôle Apigee Organization Admin.
Pour mettre à jour un espace dans votre organisation Apigee, utilisez la commande suivante :
curl -X PATCH -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
"https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME" \
--data-raw '{
"displayName":"DISPLAY_NAME"
}'Où :
- ORG_NAME est le nom de l'organisation Apigee.
- SPACE_NAME est le nom et l'ID de l'espace.
- DISPLAY_NAME est le nouveau nom à afficher pour l'espace.
Par exemple, la commande suivante met à jour le nom à afficher de l'espace red dans l'organisation acme :
curl -X PATCH -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
"https://apigee.googleapis.com/v1/organizations/acme/spaces/red" -d \
'{
"displayName": "Red team space"
}'Supprimer un espace
Pour effectuer cette tâche, vous devez disposer de l'autorisation apigee.spaces.delete.
Cette autorisation est incluse dans le rôle Apigee Organization Admin. Avant de supprimer un espace, assurez-vous que toutes les ressources qu'il contient ont également été supprimées.
Pour supprimer un espace de votre organisation Apigee, utilisez la commande suivante :
curl -X DELETE -H "Authorization: Bearer $TOKEN" \
"https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME"Par exemple, la commande suivante supprime l'espace red de l'organisation acme :
curl -X DELETE -H "Authorization: Bearer $TOKEN" \
"https://apigee.googleapis.com/v1/organizations/acme/spaces/red"Si vous tentez de supprimer un espace alors que des ressources actives lui sont encore associées, l'erreur suivante s'affiche :
{
"error": {
"code": 400,
"message": "Space \"red\" has resources associated with it. Please delete the resources before deleting the space.",
"status": "FAILED_PRECONDITION"
}
}Pour résoudre cette erreur, supprimez ou déplacez les ressources de l'espace avant d'essayer de le supprimer.
Étape suivante
- En savoir plus sur Apigee Spaces.
- Découvrez comment gérer les ressources d'API avec Apigee Spaces.
- Consultez la documentation IAM (Identity and Access Management).