keenauth_permission
keenauth_permission 리소스는 API의 권한(OAuth 스코프)을 동의 화면에 표시되는 텍스트와 함께 정의합니다. 프로바이더는 API 자체를 관리하지 않습니다. 기존 API의 ID를 api_id로 전달하세요. 권한을 역할에 넣으려면 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"
}
}
수명 주기
value는resource:action형식이며 액세스 토큰의permissions클레임에 나타납니다. API 안에서 고유하며 바꿀 수 없습니다. 새 값은 권한을 대체합니다.idp_접두사는 시스템 API에 속합니다.display_name,description,consent_text_i18n의 텍스트는 평문입니다. 제어 문자, 줄 또는 단락 구분자, 양방향 재정렬 문자는 쓸 수 없고,display_name과description은 앞뒤 공백도 허용되지 않습니다(API가 이 둘의 공백을 제거합니다).consent_text_i18n의 텍스트는 적힌 그대로 저장되지만 비어 있으면 안 됩니다. 빈 텍스트는 허용되지 않으므로 대신 속성을 제거하세요.consent_text_i18n은 전체 맵으로 교체됩니다. 키는de나pt-BR같은 언어 태그이며 최대 30개 언어입니다. 비우려면 속성을 제거하세요.sensitivity는normal또는sensitive입니다. 민감한 권한은 동의 화면에서 강조됩니다.- 권한 행에는 버전이 없으므로 API가 이에 대한
If-Match검사를 제공하지 않습니다. 프로바이더는 계획할 때마다 API의 권한 목록을 읽고, 다른 곳에서 바뀐 내용을 드리프트로 표시하며, 바뀐 필드만 보냅니다. - 리소스를 제거하면 권한이 삭제되고 모든 역할과 애플리케이션의 권한 목록에서도 빠집니다. 해당 역할을 다음에 새로 고치면 변경이 표시됩니다.
- 시스템 API는 새 권한을 받지 않으며 그 권한은 삭제할 수 없습니다(
409 conflict). API당 권한은 최대 1,000개입니다. - 프로바이더 밖에서 삭제된 권한은 상태에서 제거되고 다시 계획됩니다.
가져오기
API ID와 권한 ID로, 또는 API ID와 값으로 가져옵니다:
tofu import keenauth_permission.invoices_read api_01j9zq3v8c5m2x7k4t6r1n0b3d/perm_01j9zq3v8c5m2x7k4t6r1n0b3e
tofu import keenauth_permission.invoices_read api_01j9zq3v8c5m2x7k4t6r1n0b3d/invoices:read