keenauth_role
keenauth_role リソースは、環境のロールとその権限セット全体を管理します。1 つの組織に属するロールは別のリソース 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クレームに表示され、変更できません。新しい key を指定すると、ロールは置き換えられます。nameは 1〜128 文字、descriptionは最大 1024 文字です。API が前後の空白を削除するため、どちらも空白で始めたり終えたりすることはできません。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、またはダッシュボードで管理してください。
インポート
key または ID でインポートします。
tofu import keenauth_role.billing billing
tofu import keenauth_role.billing rol_01j9zq3v8c5m2x7k4t6r1n0b3d