keenauth_role
keenauth_role 리소스는 환경의 역할과 전체 권한 집합을 관리합니다. 하나의 조직에 속한 역할은 다른 리소스인 keenauth_organization_role입니다. keenauth_role 데이터 소스는 id 또는 key로 역할을 읽습니다.
resource "keenauth_permission" "invoices_read" {
api_id = "api_01j9zq3v8c5m2x7k4t6r1n0b3d"
value = "invoices:read"
}
resource "keenauth_role" "billing" {
key = "billing"
name = "Billing"
description = "Invoices and payment methods."
permission_ids = [keenauth_permission.invoices_read.id]
}
data "keenauth_role" "billing" {
key = "billing"
}
수명 주기
key는 환경 내에서 고유하며org_roles클레임에 나타나고 변경할 수 없습니다. 새 키를 지정하면 역할이 교체됩니다.name은 1자 이상 128자 이하이고description은 최대 1024자입니다. API가 값을 정리(trim)하므로 두 값 모두 공백으로 시작하거나 끝날 수 없습니다.permission_ids는 전체 집합입니다(최대 500개). 역할 필드 이후에 별도의 요청으로 기록됩니다. 생성 시 이 요청이 실패하면 역할은 tainted 상태로 상태에 남으며 다음 apply에서 교체됩니다. 다른 곳에서 추가되거나 제거된 권한은 다음 apply에서 되돌려집니다.is_privileged는 권한이 높은 역할을 표시합니다. 셀프 서비스에서는 조직 관리자 역할을 가진 관리자만 이 역할을 할당할 수 있으며, 이 역할에 매핑된 외부 그룹에는roles:write와 승인이 필요합니다. 기존 역할을 권한이 높은 역할로 변경하면 승인되기 전까지 해당 그룹 매핑은 승인되지 않은 상태로 남습니다. 기본값은false입니다. 권한이 높은 역할을 가져올 때는is_privileged = true를 명시적으로 작성하십시오. 그렇지 않으면 다음 apply에서 역할이 권한이 높지 않은 상태로 바뀝니다.- 업데이트와 삭제는 마지막으로 읽은 ETag와 함께
If-Match를 보냅니다. 계획을 세운 후 역할이 변경되었다면 API는412로 응답하며 아무것도 변경되지 않습니다.plan을 다시 실행하십시오. force_destroy = true이면 할당된 역할도 삭제되며 할당은 같은 요청에서 제거됩니다. 그렇지 않으면 할당된 역할의 삭제는409 role_in_use로 실패합니다. 조직의 관리자 역할 또는 기본 멤버 역할로 사용 중인 역할은 전혀 삭제할 수 없습니다.force_destroy만 변경하면 요청이 전송되지 않습니다.- 사용자와 멤버십에 대한 역할 할당은 리소스가 아닙니다. 이는 개인 데이터이므로 상태에 저장되지 않습니다. API, CLI 또는 대시보드를 통해 관리하십시오.
가져오기
키 또는 ID로 가져옵니다.
tofu import keenauth_role.billing billing
tofu import keenauth_role.billing rol_01j9zq3v8c5m2x7k4t6r1n0b3d