portal.apim.keys.ecranLes clés qui authentifient les appels de votre tenant aux API publiées. Créées ici en libre-service, révocables à tout moment.
Voir l'élément dans l'écran : portal/apim/keys
Une clé API est un secret que votre programme envoie avec chaque appel. Le Hub la reconnaît, retrouve votre tenant, vérifie ses scopes (les droits de la clé), puis compte et facture l'appel.
Une bonne pratique : une clé par usage. Une pour le serveur de production, une pour les essais, une par partenaire. On révoque alors l'une sans toucher aux autres, et l'usage se lit clé par clé.
La clé a la forme apim_prod_ suivie de 40 signes hexadécimaux ; dans ce démonstrateur, elle apparaît masquée, par exemple
apim_DEMO00000000000000000000000000000000000000000. Elle n'est affichée qu'une fois, à la
création : le Hub n'en garde que l'empreinte SHA-256. Perdue, elle ne se retrouve pas ; on en
crée une autre et on révoque l'ancienne.
Un tenant a 50 clés actives au plus.
| Geste | Requête | Effet |
|---|---|---|
| ouverture | GET /api/apim/me/keys |
les clés du tenant, révoquées comprises, les plus récentes d'abord |
| Créer | POST /api/apim/me/keys |
une clé neuve, rendue une seule fois |
| Révoquer | DELETE /api/apim/me/keys/{id} |
la clé passe revoked = true |
Points REST du Hub, authentifiés par la session du navigateur. Table : iam.tr_api_keys.
Le worker apim_provisioning_worker fait la même chose pour n'importe quel tenant :
create_api_key (key_name, scopes, tenant obligatoires ; expires_in_days, 365 par
défaut), list_api_keys, revoke_api_key (key_id), et list_api_scopes pour connaître les
scopes réellement ouverts.
| Portail (cet écran) | create_api_key |
|
|---|---|---|
| scopes acceptés | ceux du référentiel apim.db_scope actif |
ceux qu'ouvre au moins une API publiée (force pour passer outre) |
| expiration par défaut | aucune | 365 jours |
niveau (tier) |
toujours free |
free par défaut, réglable |
| révocation | effet sous 60 s | effet immédiat (cache vidé) |
SocleHubApiManager). L'action revoke_api_key, elle, vide le cache.ApimMeApiController.createMyKey, idUsers = 1L).