Créer un compte de service
Un compte de service permet d'automatiser des tâches ou de réaliser des opérations à la place d'un utilisateur. Il est caractérisé par un nom et un identifiant technique. Pour la création, un nom est à fournir par l'utilisateur et la commande retournera l'identifiant technique et le secret associé à ce compte.
- Console
- Terraform
- API
Créer un compte de service sur la Console NumSpot
- Dans le dashboard Service accounts, cliquez sur Actions puis sur Créer un service account. Une nouvelle fenêtre apparaît.
- Sélectionnez les espaces à assigner au service account.
astuce
Vous avez la possibilité d'assigner ou non un service account à un ou plusieurs espaces.
- Cliquez sur le bouton Créer et attribuez des rôles et permissions.
astuce
Vous avez la possibilité de créer le service account avec ou sans rôles et permissions.
- Dans la nouvelle fenêtre, choisissez les rôles à attribuer au service account. Une fois sélectionnés, cliquez sur Enregistrer et continuer.
astuce
Vous avez la possibilité de restreindre les rôles à un seul ou plusieurs espaces en particulier.
- Dans la nouvelle fenêtre, choisissez les permissions à attribuer au service account.
astuce
Vous avez la possibilité de restreindre les permissions à un seul ou plusieurs espaces en particulier.
- Cliquez sur Enregistrer et quitter pour valider la création du service account. Une boîte de dialogue Génération de l'id et du secret apparaît.
remarque
Le service account a été créé mais nécessite des informations de sécurité pour être utilisé.
- Cliquez sur J'ai compris. Une boîte de dialogue contenant les informations de sécurité apparaît.
attention
Copiez ou téléchargez les informations de sécurité. Attention, elles ne seront pas reproduites.
- Cliquez sur Fermer.
remarque
De retour sur le dashboard Service accounts, une fenêtre contextuelle verte vous confirme que le service account a été créé et les rôles et permissions attribués avec succès.
Créer un compte de service avec Terraform
resource "numspot_service_account" "test" {
space_id = "xxx-yyy-zzz"
name = "terraform-service-account"
global_permissions = [
"aaa-bbb-ccc",
]
roles = [
"aaa-xxx-zzz",
]
}
Voir plus de ressource NumSpot sur le site Registry Terraform de HashiCorps
Créer un compte de service avec API
La création d'un compte de service et l'attribution de rôle ou de permission se fait par étapes séparées:
La création peut se faire au niveau de l'organisation ou au niveau d'un espace de l'organisation. La portée des droits des comptes sera cantonnée à leur périmètre. Le principe est le même, seules les url de l'API changent.
1) Création du compte de service au niveau de l'organisation.
export REGION="myregion"
curl -X 'POST' \
'https://api.$REGION.numspot.cloud/iam/organisations/{organisationId}/serviceAccounts' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"name": "le nom du service-account"
}'
Retour de la commande:
{
"name": "le nom du service-account",
"id": "29e3937e-1e72-4bae-95b1-3f2986e20b9a",
"secret": "XXXXXXXXXXXXXXXXXXX"
}
2) Recherche l'identifiant technique du rôle à attribuer
Exemple: Storage Object Admin
curl -X 'GET' \
'https://api.$REGION.numspot.cloud/iam/organisations/{organisationId}/roles?name=Storage%20Object%20Admin' \
-H 'accept: application/json'
Retour de la commande
{
"items": [
{
"name": "Storage Object Admin",
"description": "Manage the resourcemanager.storage domain",
"uuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"createdOn": "2024-05-29T09:39:59.182Z",
"updatedOn": "2024-05-29T09:39:59.182Z"
}
]
}
3) Attribution de rôle ou de permission au compte de service
export REGION="myregion"
curl -X 'PATCH' \
'https://api.$REGION.numspot.cloud/iam/organisations/{organisationId}/iampolicy/serviceAccounts/29e3937e-1e72-4bae-95b1-3f2986e20b9a' \
-H 'accept: */*' \
-H 'Content-Type: application/json' \
-d '{
"add": {
"roles": [
"3fa85f64-5717-4562-b3fc-2c963f66afa6"
]}
}
Consulter la page sur l'utilisation des API pour la mise en oeuvre.