
# keenauth_permission

`keenauth_permission` kaynağı, bir API'nin iznini (OAuth kapsamını) ve onay ekranının gösterdiği metinleri tanımlar. Sağlayıcı API'nin kendisini yönetmez: mevcut bir API'nin kimliğini `api_id` olarak verin. İzni `keenauth_role` ile bir role ekleyin.

```terraform
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"
  }
}
```

## Yaşam döngüsü

- `value`, `resource:action` biçimindedir ve erişim belirteçlerinin `permissions` talebinde görünür. API içinde benzersizdir ve değiştirilemez: yeni bir değer izni yerine koyar. `idp_` öneki sistem API'sine aittir.
- `display_name`, `description` ve `consent_text_i18n` içindeki metinler düz metindir: kontrol karakteri, satır veya paragraf ayırıcısı ve çift yönlü geçersiz kılma karakteri içermez; ayrıca `display_name` ve `description` için baştaki veya sondaki boşluk karakterleri de bulunmaz (API bu ikisini kırpar). `consent_text_i18n` içindeki bir metin olduğu gibi saklanır, ancak boş olamaz. Boş metne izin verilmez; bunun yerine özniteliği kaldırın.
- `consent_text_i18n`, bir bütün olarak eşlem olarak değiştirilir. Anahtarlar `de` veya `pt-BR` gibi dil etiketleridir; en fazla 30 dil kullanılabilir. Temizlemek için özniteliği kaldırın.
- `sensitivity`, `normal` veya `sensitive` olabilir; hassas bir izin onay ekranında vurgulanır.
- İzin satırının bir sürümü yoktur; bu nedenle API bunun için bir `If-Match` denetimi sunmaz. Sağlayıcı her planda API'nin izin listesini okur, başka yerde yapılan değişiklikleri sapma olarak gösterir ve yalnızca değişen alanları gönderir.
- Kaynağı kaldırmak izni siler ve her rolden ile uygulama izin listelerinden çıkarır. Bu rollerin bir sonraki yenilemesinde değişiklik görünür.
- Sistem API'si yeni izin kabul etmez ve izinleri silinemez (`409 conflict`). Bir API en fazla 1.000 izin tutabilir.
- Sağlayıcının dışında silinen bir izin durumdan kaldırılır ve yeniden planlanır.

## İçe aktarma

API kimliği ve izin kimliğiyle ya da API kimliği ve değerle içe aktarın:

```shell
tofu import keenauth_permission.invoices_read api_01j9zq3v8c5m2x7k4t6r1n0b3d/perm_01j9zq3v8c5m2x7k4t6r1n0b3e
tofu import keenauth_permission.invoices_read api_01j9zq3v8c5m2x7k4t6r1n0b3d/invoices:read
```
