1. Vue générale

This API is used to manage certificates for HTTPS access and their associated contexts. This API is used for internal purposes only.

1.2. Information de contact

Contact : Direction de la diffusion et des partenariats
Email de contact : contact@programmevitam.fr

1.3. Information de licence

Licence : License to be defined …​
Licence URL : URL not defined.
Conditions de service : Terms of service

1.4. Schéma d’URI

Serveur : localhost
Chemin de base : /

1.5. Tags

  • Certificats : Gestions des certificats

  • Contextes : Gestion des contextes de sécurité

1.6. Produit

  • application/json

2. Ressources

2.1. Certificats

Gestions des certificats

2.1.1. Création d’un certificat

POST /security/v1/certificates
Paramètres
Type Nom Description Schéma

Header

X-Application-Id
optionnel

Identifiant unique transférer utilisé dans la génération des logs et des journaux VITAM

string

Header

X-Tenant-Id
requis

Identifiant du tenant sur lequel doit être exécutée la requête

integer (int32)

Header

X-User-Token
requis

Identifiant technique du token généré par le serveur CAS lors de l’autentification

string

Body

dto
requis

dto

CertificateDto

Réponses
Code HTTP Description Schéma

200

OK

CertificateDto

401

La requête n’est pas autorisée. Le X-User-Token n’est pas valide

Pas de contenu

403

L’utilisateur ne possède pas les droits pour effectuer cette opération

Pas de contenu

Consomme
  • application/json

Exemple de requête HTTP
Requête path
/security/v1/certificates
Requête header
"string"
Requête body
{
  "contextId" : "string",
  "data" : "string",
  "id" : "string",
  "issuerDN" : "string",
  "serialNumber" : "string",
  "subjectDN" : "string"
}
Exemple de réponse HTTP
Réponse 200
{
  "contextId" : "string",
  "data" : "string",
  "id" : "string",
  "issuerDN" : "string",
  "serialNumber" : "string",
  "subjectDN" : "string"
}

2.1.2. Récupération de la liste de certificats

GET /security/v1/certificates
Paramètres
Type Nom Description Schéma

Header

X-Application-Id
optionnel

Identifiant unique transférer utilisé dans la génération des logs et des journaux VITAM

string

Header

X-Tenant-Id
requis

Identifiant du tenant sur lequel doit être exécutée la requête

integer (int32)

Header

X-User-Token
requis

Identifiant technique du token généré par le serveur CAS lors de l’autentification

string

Query

criteria
optionnel

criteria

string

Réponses
Code HTTP Description Schéma

200

OK

< CertificateDto > array

401

La requête n’est pas autorisée. Le X-User-Token n’est pas valide

Pas de contenu

403

L’utilisateur ne possède pas les droits pour effectuer cette opération

Pas de contenu

404

Non trouvée

Pas de contenu

Exemple de requête HTTP
Requête path
/security/v1/certificates
Requête header
"string"
Requête query
{
  "criteria" : "string"
}
Exemple de réponse HTTP
Réponse 200
[ {
  "contextId" : "string",
  "data" : "string",
  "id" : "string",
  "issuerDN" : "string",
  "serialNumber" : "string",
  "subjectDN" : "string"
} ]

2.1.3. Récupération d’un certificat

GET /security/v1/certificates/{id}
Paramètres
Type Nom Description Schéma

Header

X-Application-Id
optionnel

Identifiant unique transférer utilisé dans la génération des logs et des journaux VITAM

string

Header

X-Tenant-Id
requis

Identifiant du tenant sur lequel doit être exécutée la requête

integer (int32)

Header

X-User-Token
requis

Identifiant technique du token généré par le serveur CAS lors de l’autentification

string

Path

id
requis

id

string

Query

criteria
optionnel

criteria

string

Réponses
Code HTTP Description Schéma

200

OK

CertificateDto

401

La requête n’est pas autorisée. Le X-User-Token n’est pas valide

Pas de contenu

403

L’utilisateur ne possède pas les droits pour effectuer cette opération

Pas de contenu

404

Non trouvée

Pas de contenu

Exemple de requête HTTP
Requête path
/security/v1/certificates/string
Requête header
"string"
Requête query
{
  "criteria" : "string"
}
Exemple de réponse HTTP
Réponse 200
{
  "contextId" : "string",
  "data" : "string",
  "id" : "string",
  "issuerDN" : "string",
  "serialNumber" : "string",
  "subjectDN" : "string"
}

2.1.4. Mise à jour d’un certificat

PUT /security/v1/certificates/{id}
Paramètres
Type Nom Description Schéma

Header

X-Application-Id
optionnel

Identifiant unique transférer utilisé dans la génération des logs et des journaux VITAM

string

Header

X-Tenant-Id
requis

Identifiant du tenant sur lequel doit être exécutée la requête

integer (int32)

Header

X-User-Token
requis

Identifiant technique du token généré par le serveur CAS lors de l’autentification

string

Path

id
requis

id

string

Body

dto
requis

dto

CertificateDto

Réponses
Code HTTP Description Schéma

200

OK

CertificateDto

401

La requête n’est pas autorisée. Le X-User-Token n’est pas valide

Pas de contenu

403

L’utilisateur ne possède pas les droits pour effectuer cette opération

Pas de contenu

404

Non trouvée

Pas de contenu

Consomme
  • application/json

Exemple de requête HTTP
Requête path
/security/v1/certificates/string
Requête header
"string"
Requête body
{
  "contextId" : "string",
  "data" : "string",
  "id" : "string",
  "issuerDN" : "string",
  "serialNumber" : "string",
  "subjectDN" : "string"
}
Exemple de réponse HTTP
Réponse 200
{
  "contextId" : "string",
  "data" : "string",
  "id" : "string",
  "issuerDN" : "string",
  "serialNumber" : "string",
  "subjectDN" : "string"
}

2.1.5. Suppression d’un certificat

DELETE /security/v1/certificates/{id}
Paramètres
Type Nom Description Schéma

Header

X-Application-Id
optionnel

Identifiant unique transférer utilisé dans la génération des logs et des journaux VITAM

string

Header

X-Tenant-Id
requis

Identifiant du tenant sur lequel doit être exécutée la requête

integer (int32)

Header

X-User-Token
requis

Identifiant technique du token généré par le serveur CAS lors de l’autentification

string

Path

id
requis

id

string

Réponses
Code HTTP Description Schéma

200

OK

Pas de contenu

Exemple de requête HTTP
Requête path
/security/v1/certificates/string
Requête header
"string"

2.1.6. Vérification de l’existence d’un certificat

HEAD /security/v1/certificates/{id}
Paramètres
Type Nom Description Schéma

Header

X-Application-Id
optionnel

Identifiant unique transférer utilisé dans la génération des logs et des journaux VITAM

string

Header

X-Tenant-Id
requis

Identifiant du tenant sur lequel doit être exécutée la requête

integer (int32)

Header

X-User-Token
requis

Identifiant technique du token généré par le serveur CAS lors de l’autentification

string

Path

id
requis

id

string

Réponses
Code HTTP Description Schéma

200

OK

Pas de contenu

401

La requête n’est pas autorisée. Le X-User-Token n’est pas valide

Pas de contenu

403

L’utilisateur ne possède pas les droits pour effectuer cette opération

Pas de contenu

Consomme
  • application/json

Exemple de requête HTTP
Requête path
/security/v1/certificates/string
Requête header
"string"

2.2. Contextes

Gestion des contextes de sécurité

2.2.1. Création d’un contexte

POST /security/v1/contexts
Paramètres
Type Nom Description Schéma

Header

X-Application-Id
optionnel

Identifiant unique transférer utilisé dans la génération des logs et des journaux VITAM

string

Header

X-Tenant-Id
requis

Identifiant du tenant sur lequel doit être exécutée la requête

integer (int32)

Header

X-User-Token
requis

Identifiant technique du token généré par le serveur CAS lors de l’autentification

string

Body

dto
requis

dto

ContextDto

Réponses
Code HTTP Description Schéma

200

OK

ContextDto

401

La requête n’est pas autorisée. Le X-User-Token n’est pas valide

Pas de contenu

403

L’utilisateur ne possède pas les droits pour effectuer cette opération

Pas de contenu

Consomme
  • application/json

Exemple de requête HTTP
Requête path
/security/v1/contexts
Requête header
"string"
Requête body
{
  "fullAccess" : true,
  "id" : "string",
  "name" : "string",
  "roleNames" : [ "string" ],
  "tenants" : [ 0 ]
}
Exemple de réponse HTTP
Réponse 200
{
  "fullAccess" : true,
  "id" : "string",
  "name" : "string",
  "roleNames" : [ "string" ],
  "tenants" : [ 0 ]
}

2.2.2. Récupération de la liste de contextes

GET /security/v1/contexts
Paramètres
Type Nom Description Schéma

Header

X-Application-Id
optionnel

Identifiant unique transférer utilisé dans la génération des logs et des journaux VITAM

string

Header

X-Tenant-Id
requis

Identifiant du tenant sur lequel doit être exécutée la requête

integer (int32)

Header

X-User-Token
requis

Identifiant technique du token généré par le serveur CAS lors de l’autentification

string

Query

criteria
optionnel

criteria

string

Réponses
Code HTTP Description Schéma

200

OK

< ContextDto > array

401

La requête n’est pas autorisée. Le X-User-Token n’est pas valide

Pas de contenu

403

L’utilisateur ne possède pas les droits pour effectuer cette opération

Pas de contenu

404

Non trouvée

Pas de contenu

Exemple de requête HTTP
Requête path
/security/v1/contexts
Requête header
"string"
Requête query
{
  "criteria" : "string"
}
Exemple de réponse HTTP
Réponse 200
[ {
  "fullAccess" : true,
  "id" : "string",
  "name" : "string",
  "roleNames" : [ "string" ],
  "tenants" : [ 0 ]
} ]

2.2.3. Récupération d’un contexte à partir d’un certificat

POST /security/v1/contexts/certificate
Paramètres
Type Nom Description Schéma

Header

X-Application-Id
optionnel

Identifiant unique transférer utilisé dans la génération des logs et des journaux VITAM

string

Header

X-Tenant-Id
requis

Identifiant du tenant sur lequel doit être exécutée la requête

integer (int32)

Header

X-User-Token
requis

Identifiant technique du token généré par le serveur CAS lors de l’autentification

string

Body

data
requis

data

string

Réponses
Code HTTP Description Schéma

200

OK

ContextDto

401

La requête n’est pas autorisée. Le X-User-Token n’est pas valide

Pas de contenu

403

L’utilisateur ne possède pas les droits pour effectuer cette opération

Pas de contenu

Consomme
  • application/json

Exemple de requête HTTP
Requête path
/security/v1/contexts/certificate
Requête header
"string"
Exemple de réponse HTTP
Réponse 200
{
  "fullAccess" : true,
  "id" : "string",
  "name" : "string",
  "roleNames" : [ "string" ],
  "tenants" : [ 0 ]
}

2.2.4. Récupération d’un contexte à partir d’un identifiant

GET /security/v1/contexts/{id}
Paramètres
Type Nom Description Schéma

Header

X-Application-Id
optionnel

Identifiant unique transférer utilisé dans la génération des logs et des journaux VITAM

string

Header

X-Tenant-Id
requis

Identifiant du tenant sur lequel doit être exécutée la requête

integer (int32)

Header

X-User-Token
requis

Identifiant technique du token généré par le serveur CAS lors de l’autentification

string

Path

id
requis

id

string

Query

criteria
optionnel

criteria

string

Réponses
Code HTTP Description Schéma

200

OK

ContextDto

401

La requête n’est pas autorisée. Le X-User-Token n’est pas valide

Pas de contenu

403

L’utilisateur ne possède pas les droits pour effectuer cette opération

Pas de contenu

404

Non trouvée

Pas de contenu

Exemple de requête HTTP
Requête path
/security/v1/contexts/string
Requête header
"string"
Requête query
{
  "criteria" : "string"
}
Exemple de réponse HTTP
Réponse 200
{
  "fullAccess" : true,
  "id" : "string",
  "name" : "string",
  "roleNames" : [ "string" ],
  "tenants" : [ 0 ]
}

2.2.5. Mise à jour d’un contexte

PUT /security/v1/contexts/{id}
Paramètres
Type Nom Description Schéma

Header

X-Application-Id
optionnel

Identifiant unique transférer utilisé dans la génération des logs et des journaux VITAM

string

Header

X-Tenant-Id
requis

Identifiant du tenant sur lequel doit être exécutée la requête

integer (int32)

Header

X-User-Token
requis

Identifiant technique du token généré par le serveur CAS lors de l’autentification

string

Path

id
requis

id

string

Body

dto
requis

dto

ContextDto

Réponses
Code HTTP Description Schéma

200

OK

ContextDto

401

La requête n’est pas autorisée. Le X-User-Token n’est pas valide

Pas de contenu

403

L’utilisateur ne possède pas les droits pour effectuer cette opération

Pas de contenu

404

Non trouvée

Pas de contenu

Consomme
  • application/json

Exemple de requête HTTP
Requête path
/security/v1/contexts/string
Requête header
"string"
Requête body
{
  "fullAccess" : true,
  "id" : "string",
  "name" : "string",
  "roleNames" : [ "string" ],
  "tenants" : [ 0 ]
}
Exemple de réponse HTTP
Réponse 200
{
  "fullAccess" : true,
  "id" : "string",
  "name" : "string",
  "roleNames" : [ "string" ],
  "tenants" : [ 0 ]
}

2.2.6. Suppression d’un contexte de sécurité

DELETE /security/v1/contexts/{id}
Paramètres
Type Nom Description Schéma

Header

X-Application-Id
optionnel

Identifiant unique transférer utilisé dans la génération des logs et des journaux VITAM

string

Header

X-Tenant-Id
requis

Identifiant du tenant sur lequel doit être exécutée la requête

integer (int32)

Header

X-User-Token
requis

Identifiant technique du token généré par le serveur CAS lors de l’autentification

string

Path

id
requis

id

string

Réponses
Code HTTP Description Schéma

200

OK

Pas de contenu

Exemple de requête HTTP
Requête path
/security/v1/contexts/string
Requête header
"string"

2.2.7. Vérification de l’existence d’un contexte

HEAD /security/v1/contexts/{id}
Paramètres
Type Nom Description Schéma

Header

X-Application-Id
optionnel

Identifiant unique transférer utilisé dans la génération des logs et des journaux VITAM

string

Header

X-Tenant-Id
requis

Identifiant du tenant sur lequel doit être exécutée la requête

integer (int32)

Header

X-User-Token
requis

Identifiant technique du token généré par le serveur CAS lors de l’autentification

string

Path

id
requis

id

string

Réponses
Code HTTP Description Schéma

200

OK

Pas de contenu

401

La requête n’est pas autorisée. Le X-User-Token n’est pas valide

Pas de contenu

403

L’utilisateur ne possède pas les droits pour effectuer cette opération

Pas de contenu

Consomme
  • application/json

Exemple de requête HTTP
Requête path
/security/v1/contexts/string
Requête header
"string"

2.2.8. Ajouter un tenant au context

PUT /security/v1/contexts/{id}/tenant/{tenantIdentifier}
Paramètres
Type Nom Description Schéma

Header

X-Application-Id
optionnel

Identifiant unique transférer utilisé dans la génération des logs et des journaux VITAM

string

Header

X-Tenant-Id
requis

Identifiant du tenant sur lequel doit être exécutée la requête

integer (int32)

Header

X-User-Token
requis

Identifiant technique du token généré par le serveur CAS lors de l’autentification

string

Path

id
requis

id

string

Path

tenantIdentifier
requis

tenantIdentifier

integer (int32)

Réponses
Code HTTP Description Schéma

201

Created

ContextDto

401

La requête n’est pas autorisée. Le X-User-Token n’est pas valide

Pas de contenu

403

L’utilisateur ne possède pas les droits pour effectuer cette opération

Pas de contenu

404

Non trouvée

Pas de contenu

Consomme
  • application/json

Exemple de requête HTTP
Requête path
/security/v1/contexts/string/tenant/0
Requête header
"string"
Exemple de réponse HTTP
Réponse 201
{
  "fullAccess" : true,
  "id" : "string",
  "name" : "string",
  "roleNames" : [ "string" ],
  "tenants" : [ 0 ]
}

3. Définitions

3.1. CertificateDto

Nom Description Schéma

contextId
optionnel

Exemple : "string"

string

data
optionnel

Exemple : "string"

string

id
optionnel

Exemple : "string"

string

issuerDN
optionnel

Exemple : "string"

string

serialNumber
optionnel

Exemple : "string"

string

subjectDN
optionnel

Exemple : "string"

string

3.2. ContextDto

Nom Description Schéma

fullAccess
optionnel

Exemple : true

boolean

id
optionnel

Exemple : "string"

string

name
optionnel

Exemple : "string"

string

roleNames
optionnel

Exemple : [ "string" ]

< string > array

tenants
optionnel

Exemple : [ 0 ]

< integer (int32) > array