keenauth_permission
La ressource keenauth_permission définit une permission (un scope OAuth) d'une API, avec les textes que l'écran de consentement affiche. Le fournisseur ne gère pas l'API elle-même : passez l'ID d'une API existante comme api_id. Placez la permission dans un rôle avec keenauth_role.
resource "keenauth_permission" "invoices_read" {
api_id = "api_01j9zq3v8c5m2x7k4t6r1n0b3d"
value = "invoices:read"
display_name = "Read invoices"
description = "See the invoices of the account."
sensitivity = "normal"
consent_text_i18n = {
de = "Rechnungen ansehen"
tr = "Faturaları görüntüle"
}
}
Cycle de vie
valuea la formeresource:actionet apparaît dans la revendicationpermissionsdes jetons d'accès. Elle est unique dans l'API et ne peut pas être modifiée : une nouvelle valeur remplace la permission. Le préfixeidp_est réservé à l'API système.display_name,descriptionet les textes deconsent_text_i18nsont du texte brut : pas de caractères de contrôle, pas de séparateurs de ligne ou de paragraphe, pas de caractères de substitution bidirectionnels et, pourdisplay_nameetdescription, pas d'espaces en début ou en fin (l'API les supprime). Un texte deconsent_text_i18nest stocké tel quel, mais il ne doit pas être vide. Un texte vide n'est pas autorisé ; supprimez plutôt l'attribut.consent_text_i18nest remplacé en entier comme une table de correspondance. Les clés sont des étiquettes de langue commedeoupt-BR; 30 langues au maximum. Supprimez l'attribut pour le vider.sensitivityvautnormalousensitive; une permission sensible est mise en évidence sur l'écran de consentement.- Une ligne de permission n'a pas de version, donc l'API n'offre pas de vérification
If-Matchpour elle. Le fournisseur lit la liste des permissions de l'API à chaque plan, signale toute modification faite ailleurs comme une dérive et n'envoie que les champs modifiés. - Supprimer la ressource supprime la permission et la retire de chaque rôle et des listes de permissions des applications. La prochaine actualisation de ces rôles montre le changement.
- L'API système n'accepte aucune nouvelle permission et ses permissions ne peuvent pas être supprimées (
409 conflict). Une API contient au maximum 1 000 permissions. - Une permission supprimée en dehors du fournisseur est retirée de l'état et replanifiée.
Importation
Importez par ID d'API et ID de permission, ou par ID d'API et valeur :
tofu import keenauth_permission.invoices_read api_01j9zq3v8c5m2x7k4t6r1n0b3d/perm_01j9zq3v8c5m2x7k4t6r1n0b3e
tofu import keenauth_permission.invoices_read api_01j9zq3v8c5m2x7k4t6r1n0b3d/invoices:read