きめ細かい権限設定を実現するRole-Based Access Control (RBAC)の紹介

RBAC for CodeRabbit Usersの意訳です。

皆様へ - すべてのユーザー向けにRole-Based Access Control (RBAC)が利用可能になったことをお知らせします。本機能は、組織管理者がユーザーの実行できるアクションを細かく制御できる権限セットを割り当てるものです。これらの設定は、CodeRabbitアプリのSubscriptionsメニューから確認できます。

CodeRabbitの設定と構成に関連する、それぞれ異なる権限を持つ3つの主要なロール(権限)を定義しました:

  1. Admins: CodeRabbitのすべてを設定し、コードレビューを実行する完全なアクセス権 — レビュー設定、統合管理、ロールの割り当て、学習の編集、ダッシュボードの表示、レポート生成、サブスクリプションと請求管理。

  2. Members: コードレビューを実行する限定的なアクセス権と、組織またはリポジトリレベルの設定、統合、学習、ダッシュボード、レポート、サブスクリプション詳細への読み取り専用権限。

  3. Billing Admins: サブスクリプションと請求管理のみを担当するオプションのロール。このロールは設定を構成したり、コードをレビューしたりする能力はなく、課金対象外です。

ロールは各組織ごとに個別に割り当てられます。複数組織の場合、一つの組織でのロールは他の組織には適用されません。「Admin」ユーザーのみがこれらのロールを変更し、他のユーザーを「Admins」、「Members」、または「Billing Admins」として追加できます。

新しいロールはSubscriptionメニューから確認できます

ボットユーザーは自動的に「Member」ロールが割り当てられ、これは変更できません。CodeRabbitシートが割り当てられているユーザーのみが、管理者によってロール変更が可能です。

CodeRabbitロールの権限

CodeRabbitサブスクリプションの課金管理のみを担当するユーザー(新しいユーザーの追加、シート数の増加、プラン変更など)には「Billing Admin」ロールを割り当てることをお勧めします。専任の「Billing Admin」がいない場合は、組織内の他の「Admin」も同様にすべての請求とサブスクリプションタスクを実行できます。

CodeRabbitのすべての機能と設定への書き込みアクセスが必要なユーザーには「Admin」ロールを割り当てる必要があります。主にAIコードレビューの実行のみに関心があるその他のユーザーは、「Member」ロールに制限される場合があります。

以下は、3つのロールそれぞれの異なる権限セットを説明する詳細なマトリックスです。

リソースAdminMemberBilling Admin
組織設定書き込み読み取り専用アクセス不可
リポジトリ設定書き込み読み取り専用アクセス不可
統合書き込み読み取り専用アクセス不可
学習書き込み読み取り専用アクセス不可
ダッシュボード書き込み読み取り専用アクセス不可
レポート書き込み読み取り専用アクセス不可
ユーザー管理書き込み読み取り専用読み取り専用
サブスクリプション管理書き込み読み取り専用書き込み
請求管理書き込みアクセス不可書き込み

「Admins」は「Billing Admins」と同レベルのアクセス権も持ちますが、その逆は成り立ちません。すべての「Admin」は「Billing Admin」が実行できるのと同じタスクを実行できます。「Billing Admin」のみである必要があるユーザーは、「Admin」によって手動で招待される必要があります。以下のスクリーンショットは、そのユーザーがGitプラットフォームに存在しない場合に、「Admin」がメールを使用して別の「Billing Admin」を招待する方法になります。また、「Member」ロールのユーザーについては、ダッシュボードのメトリクスについて、そのGitプラットフォームで所属するチームの分のみが表示されます。

メールを使用してBilling Adminsを招待している例

Billing Adminsとして追加され、Gitプラットフォームに存在しないユーザーは、Gitプラットフォームの認証情報の代わりにメールでログインオプションを使用してログインする必要があります。

GitプラットフォームからCodeRabbitへのロールマッピング

GitのOrganizationに存在するすべてのユーザーに対して、いくつかのロールがデフォルトで割り当てられます。これらは「users」メニューで確認できます。デフォルトのロールは、そのユーザーがGitプラットフォーム組織で持つ権限にマッピングされ、CodeRabbitによって自動的に継承されます。以下のマッピングルールに基づくCodeRabbitのデフォルト割り当てを変更したい場合は、ユーザーに手動でロールを割り当てる必要があります。

GitHubGitlabAzure DevOpsBitbucketCodeRabbitロールへのデフォルトマッピング
Admin / Billing ManagerOwnerAdminOwnerAdmin
MemberMaintainerMemberMember
DeveloperMember
ReporterMember
PlannerMember
GuestMember
Minimal AccessMember
手動追加手動追加手動追加手動追加Billing Admin

Azure DevOpsは「Admin」ユーザーのみを報告することに注意してください。ユーザーがAzure DevOps組織に存在し、「Admin」でない場合、デフォルトで「Member」ロールを割り当てます。

まとめ

RBACのTL;DR:

  1. CodeRabbitユーザーに3つの異なる権限を割り当てられるようになりました:

    • Admins - すべてを設定する書き込みアクセスでコードレビューを実行

    • Member - 様々な設定への読み取り専用アクセスでコードレビューを実行

    • Billing Admins - 専任ユーザーが請求とサブスクリプションを管理する必要がある場合のみの特別なロール

  2. 新規および既存ユーザーのCodeRabbitロールは、Gitプラットフォームの同等のロールに自動的にマッピングされます。CodeRabbitの「Admins」のみがこれらの権限を変更できます。

  3. すべての権限は特定の組織にマッピングされます。複数の組織のユーザーは、各組織で異なる権限を持つことができます。

  4. CodeRabbitトライアルを開始するのは、Gitプラットフォームで「Admin」同等の権限を持つユーザーでなければなりません。

質問やフィードバックがある場合は、私たちのコミュニティDiscordサーバー(無料ユーザー向け)までお問い合わせください。CodeRabbitの有料顧客およびアクティブな無料トライアル期間中の方は、このサポートページから技術チームに連絡して、より迅速な応答を得ることができます。お問い合わせの際は組織名を提供してください。

今後の予定

私たちはユーザーの声を聞き続け、そのフィードバックを取り入れています。以下の機能が近中期的なロードマップにあります:

  1. セルフホスト顧客へのRBACの拡張。RBACリリースのv1はSaaS顧客のみに限定されています

  2. 「Member」レベルのユーザーがCodeRabbitトライアルを開始する機能

  3. 管理者がカスタム権限セットを選択して新しいロールを作成できるカスタムロール定義

  4. CodeRabbitで設定されたすべての組織での一貫したロール可用性

  5. SSO統合(SAML / OIDC)

次のステップ:CodeRabbitにログインし、Subscriptionsメニューに移動して、組織内のユーザーのCodeRabbitロールを確認または変更してください。詳細についてはドキュメントも参照できます。

0
Subscribe to my newsletter

Read articles from Atsushi Nakatsugawa directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Atsushi Nakatsugawa
Atsushi Nakatsugawa