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 がこの 2 つの空白を取り除きます)。consent_text_i18nのテキストは書かれたとおりに保存されますが、空にはできません。空のテキストは許可されないため、代わりに属性を削除してください。consent_text_i18nはマップ全体として置き換えられます。キーはdeやpt-BRなどの言語タグで、最大 30 言語です。クリアするには属性を削除してください。sensitivityはnormalまたはsensitiveです。sensitive の権限は同意画面で強調表示されます。- 権限の行にはバージョンがないため、API はこれに対する
If-Matchチェックを提供しません。プロバイダーはプランのたびに API の権限一覧を読み、ほかの場所で行われた変更をドリフトとして表示し、変更されたフィールドのみを送信します。 - リソースを削除すると、権限が削除され、すべてのロールとアプリケーションの権限一覧からも削除されます。そのロールの次回の更新で変更が表示されます。
- システム API には新しい権限を追加できず、その権限は削除できません(
409 conflict)。1 つの API が持てる権限は最大 1,000 です。 - プロバイダーの外で削除された権限は、state から削除され、再度プランされます。
インポート
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