Attribuer ou supprimer des accès à une identité
Il est possible d'ajouter ou d'enlever unitairement ou par lot des rôles et des permissions. Ces opérations sont réalisables par le portail ou par API. Une API pour les ACL (Access Control List) permet d'associer des ACL sur des ressources afin de d'ajuster finement les comptes autorisés à réaliser des opérations dessus.
- Console
- Terraform
- API
Attribuer ou supprimer des accès à une identité sur la Console NumSpot
Dans le dashboard IAM Identity and access, cliquez sur le menu déroulant "Actions" de l'utilisateur, et sélectionnez l'option "Gérer les rôles".
Vous avez la possibilité d'assigner un ou plusieurs rôles en une seule fois
Attribuer ou supprimer des accès à une identité avec Terraform
Non disponible
Attribuer ou supprimer des accès à une identité avec API
Il est possible d'ajouter ou d'enlever unitairement ou par lot des rôles et des permissions. Il est nécessaire de connaître l'UUID des éléments à ajouter ou à enlever, pour cela se reporter à page rôles
export REGION="myregion"
curl -X 'PATCH' \
'https://api.$REGION.numspot.cloud/iam/spaces/{spaceId}/iampolicy/users/b7bdb002-e737-46a6-b282-f5fe55aad110' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-d '{
"add": {
"roles": [
"208f2800-574d-4c24-a84c-c341019fd351"
],
"permissions": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
]
}
}'
Les ACL ou permissions granulaires
Le dispositif d'ACL (Acces Control List) permet d'attribuer finement des permissions à un utilisateur sur une ressource.
Une série API permet de réaliser les opérations de création, de suppression et enfin de lister les ACL pour un utilisateur. L'API reprend le comportement général des APIs NumSpot:
- On peut s'adresser à un compte utilisateur ou un compte de service.
Prérequis
-
Un compte avec les permissions nécessaires pour gérer des ACL : les comptes (IAM.getPolicy et IAM.setPolicy)
-
Un jeton de connexion associé au compte NumSpot utilisé : lien Documentation - obtenir un token
-
L'identifiant de l'organisation ou de l'espace
-
L'identifiant (UUID) de la ressource
Les éléments à renseigner sont:
{
"items": [
{
"service": "string",
"resource": "string",
"subresource": "string",
"resourceId": "string",
"permissionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
}
La liste des permissions est diponible dans cette page.
La requête se pésentera comme ceci:
Exemple:openshift.cluster.get
export REGION="myregion"
curl -X 'POST' \
'http://api.$REGION.numspot.cloud/iam/organisations/{organisationId}/serviceAccounts/b85743e8-3f68-4341-a6ce-0df969cfd7bf/bulk/acl' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-d '{
"items": [
{
"service": "openshift",
"resource": "cluster",
"resourceId": "05414b98-5226-4ecd-acc8-6417e9e24a40", //UUID du cluster openshift
"permissionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"//UUID de la permission openshift.cluster.get
}
]
}
Items étant une donnée de type liste Il est possible de manipuler plusieurs ACL dans une même requête.
Consulter la page sur l'utilisation des APIs pour la mise en oeuvre.
Les droits et permissions sont attribués à l'utilisateur associé au userId
de la requête.
L'API peut adresser aussi bien des comptes utilisateur (users) ou des comptes de service (serviceAccounts)
https://..../iam/organisations/{organisationId}/serviceAccounts/3abcfff1-97fa-4016-832d-f63852e87bac/bulk/acl'