Attribuer ou supprimer des accès à une identité
Vous pouvez ajouter ou enlever des rôles et des permissions unitairement ou par lot. Ces opérations sont réalisables par le portail ou par API. Une API pour les ACL (liste de contrôle d'accès) permet d'associer des ACL sur des ressources afin d'ajuster finement les comptes autorisés à y réaliser des opérations.
Prérequis
- Un compte avec les permissions nécessaires pour gérer des ACL (IAM.getPolicy et IAM.setPolicy)
- Un jeton (token) 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
Permissions
Cette action nécessite les permissions IAM (Identity and Access Management) suivantes :
- iam.permission.get
- Console
- API
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
Vous pouvez ajouter ou enlever unitairement ou par lot des rôles et des permissions. Il est nécessaire de connaître l'UUID (Universally Unique Identifier) des éléments à ajouter ou à enlever.
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 (liste de contrôle d'accès) 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 API Numspot :
- on peut s'adresser à un compte utilisateur ou un compte de service.
Les éléments à renseigner sont :
{
"items": [
{
"service": "string",
"resource": "string",
"subresource": "string",
"resourceId": "string",
"permissionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
}
La requête se pré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",
"permissionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
}
Items étant une donnée de type liste. Vous pouvez manipuler plusieurs ACL dans une même requête.
Consulter la page sur l'utilisation des API pour la mise en œuvre.
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'