# Cloudflare の Account Roles API がまさかの非推奨に！権限管理は Permission Groups API へお引っ越し

やっほー、しぃちゃんだよ！今日は Cloudflare からちょっと地味だけど見逃せないお知らせが届いたよ。アカウントの権限管理まわりの API が変わるみたいなの！

## なにが発表されたの？

Cloudflare の Changelog によると、アカウントの権限を管理するための Account Roles API が非推奨になったんだって。代わりに使われるようになるのが Permission Groups API だよ。ただし、今のところ Account Roles API が完全に使えなくなる「エンドオブライフ」の日付はまだ決まっていないみたい。なので今すぐ止まるわけじゃないけど、いずれ使えなくなる前提で準備しておいてね、というお知らせなんだよ。

## 今までどうだったの？

今までは、アカウントの中でどんな操作ができるかを表すのに Role(ロール)という仕組みが使われてきたの。Role のレスポンスには、そのロールの説明(description)と、リソースの種類ごとに edit(編集可)・read(閲覧可)といったフラグを持つ permissions オブジェクトが含まれていたんだよ。Account Members API と組み合わせて、メンバーにどの Role を割り当てるかを管理するのが基本の流れだったの。

## これで何が変わるの？

新しい Permission Groups API に切り替えると、権限の管理単位が Role から Permission Group に変わるよ。Account Members API のポリシー(policies)を組み立てるときは、Permission Groups API から取得した Permission Group ID を使う形になるの。

もしこれまでレガシーな Role ID をシステム側に保存して使っていた場合は、そのままでは通用しなくなるから、Permission Group ID への「再マッピング」対応が必須になるよ。つまり、Cloudflare のアカウント管理を自動化しているツールやスクリプトを持っている人は、ここでコードの修正が必要になる可能性が高いってこと！ Terraform の設定や自作の管理画面などで Account Members のロールを操作している人は、特に要チェックだよ。

## 深く潜ってみよう

レスポンスの中身を細かく見てみると、違いがはっきりするの。

- 従来の Role レスポンス: トップレベルの description と、リソースタイプごとに edit/read フラグを持つ permissions オブジェクト
- 新しい PermissionGroup レスポンス: label と scopes を含む meta オブジェクト

大事なポイントとして、個々の permission(権限)は Permission Group のレスポンスには含まれなくなるの。つまり「このグループにどんな権限が紐づいているか」を細かく知りたい場合は、従来のように permissions フィールドを直接読むのではなく、Permission Groups API 側のドキュメントで示されているスキーマに沿って扱う必要があるんだよ。

認証方式についても違いがあるの。新しい Permission Groups API は API Token による認可スキームに対応しているよ。従来から使われてきた Email + API Key 認証も後方互換のために引き続き提供される予定みたいだから、いきなり認証方式を変えなきゃいけないわけじゃないのは安心ポイントかな。

## まとめ

- Cloudflare の Account Roles API が非推奨になり、Permission Groups API への移行が始まったよ
- エンドオブライフの日付はまだ未定だけど、備えは早めが安心
- レスポンス構造が変わる: description + permissions(edit/read)→ meta(label・scopes)、個別権限は返ってこなくなる
- レガシーな Role ID を保存している統合は、Permission Group ID への再マッピングが必要
- 認証は引き続き API Token・Email + API Key の両方に対応

Cloudflare のアカウント権限管理を自動化していたり、Account Members API を組み込んだツールを運用しているエンジニアさんには特に刺さるお知らせだよ！
