Authentification
Authentifiez chaque requête à l’API Partenaire avec une clé API d’organisation.
Chaque requête transporte une clé API sous forme de jeton porteur.
Autorisation : Bearer mor_live_7f3c1a9e…Une clé appartient à l’ organisationet non à la personne qui l’a créée. Elle continue de fonctionner lorsque cette personne part, et tout administrateur de l’organisation peut la voir listée et la révoquer.
Créez une clé
Ouvrir les paramètres
Dans Morphic Studio, ouvrez le menu déroulant de l’organisation (le logo Morphic, en haut à gauche) et sélectionnez Paramètres.
Accéder aux clés API
Dans la barre latérale gauche, cliquez sur Clés API. L’onglet est visible uniquement par les administrateurs.
Créer la clé
Cliquez sur Nouvelle clé, donnez-lui un nom que vous reconnaîtrez dans un mois, choisissez ses portées, et — si elle ne doit pas durer éternellement — une date d’expiration.
Copier le secret
Le secret n’est affiché qu’une seule fois. Morphic n’en stocke qu’un hachage, donc il ne peut pas être réaffiché. Placez-le dans votre gestionnaire de secrets avant de fermer la boîte de dialogue.
Toute personne détenant la clé peut lancer des exécutions qui consomment les crédits de votre organisation. Traitez-la comme un mot de passe : ne la commitez jamais, ne la mettez jamais dans un navigateur, ne l’envoyez jamais par e-mail ou par chat.
Portées
Une clé ne possède que les portées que vous lui avez attribuées. Une requête en dehors de celles-ci est refusée avec access_denied.
| Portée | Autorise |
|---|---|
workflows:read | la lecture d’un workflow et des entrées qu’il prend |
runs:write | le lancement d’exécutions, ainsi que l’enregistrement et la suppression de points de terminaison de webhook |
runs:read | la lecture du statut d’une exécution et de ses ressources finalisées, ainsi que l’énumération des points de terminaison de webhook |
Une clé peut aussi être limitée à des workflows spécifiques. Le lancement de tout autre élément est refusé, et une exécution de tout autre élément renvoie « introuvable », ce qui est ce que vous voulez pour une clé qui vit dans une seule intégration.
Environnements
Le préfixe indique à quel déploiement appartient une clé, de sorte qu’une clé divulguée est identifiable d’un coup d’œil. Une clé présentée à l’autre déploiement est refusée.
| Préfixe | Environnement | URL de base |
|---|---|---|
mor_live_ | production | https://api.morphic.com/v1/partner |
mor_test_ | préproduction, pour le travail d’intégration ; les exécutions y sont plafonnées et les données ne vous appartiennent pas | https://api.morphic.today/v1/partner |
Limites de crédit
Chaque clé comporte un plafond sur les crédits qu’elle peut dépenser, défini par l’administrateur qui l’a créée :
| Limite | Défini ? | Signification |
|---|---|---|
| Total | toujours | crédits que la clé peut dépenser au total |
| Par jour | facultatif | crédits par jour UTC |
| Par mois | facultatif | crédits par mois UTC |
Un jour correspond à un jour UTC et un mois à un mois civil UTC. Un débit qui ferait dépasser à la clé l’une de ses limites est refusé avec api_key_credit_limit_reached; l’erreur error_attributes.period indique quelle limite (total, mensuelle ou quotidienne). C’est une condition différente du fait que l’organisation n’ait plus de crédits (credits_exhausted), et elle se corrige autrement : un administrateur augmente la limite de la clé dans Studio plutôt que de recharger l’organisation. Un lancement dont la clé n’a plus de marge est refusé avant que quoi que ce soit ne soit récupéré.
Une exécution lancée avec une clé continue d’être imputée à cette clé, même si quelqu’un prend la main dans le chat dans Studio. Ainsi, le budget restant de la clé correspond au budget de l’exécution entière, et pas seulement à sa partie automatisée.
Rotation
Faites la rotation par chevauchement, jamais par interruption : créez la nouvelle clé, déployez-la, confirmez que le trafic a basculé, puis révoquez l’ancienne. Une organisation peut détenir jusqu’à 10 clés pouvant s’authentifier en même temps, ce qui laisse de la marge pour la rotation sans finir avec une pile dont personne ne se débarrasse.
La révocation prend effet en quelques secondes. Les exécutions déjà en cours se terminent et restent facturées.