0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

SonarQubeの権限設定

Last updated at Posted at 2022-08-01

SonarQubeのPermissionについて調べた時のメモ。

情報が古い可能性があるため、最新の情報を参照する場合はオフィシャルサイトを確認すること。

SonarQubeのPermission種別

Project単位でのPermissionの設定と、全体レベル(Global)でのPermissionの設定が出来る。

  • Project単位のPermission
    Project選択後、Project Settings -> Permissionsから設定

  • Global Permission
    Administration -> Security -> Global Permissionsから設定

Project単位でのPermissionとGlobal Permissionでは設定できる項目が微妙に異なる。

設定可能なPermissionは以下の項目になる。

  • Project単位のPermission
    • Browse ※Privateのみ
    • See Source Code ※Privateのみ
    • Administer Issues
    • Administer Security Hotspots
    • Administer
    • Execute Analysis
  • Global Permission
    • Administer System
    • Administer
    • Execute Analysis
    • Create

それぞれのPermissionの意味は以下になる。

Permission 設定箇所 意味
Browse Project プロジェクトへのアクセス、Measures、Issues、Security Hotspotsの閲覧、Issueの編集(確認/解決/再開、割り当て、コメント)の実行、Security Hotspotsに割り当てられたユーザーへのコメントや変更などが可能。
See Source Code Project プロジェクトのソースコードを閲覧できる
Administer Issues Project 問題の種類と重大度を変更し、問題を「修正しない(won't fix)」または「誤検出(false positive)」として解決する(ユーザーは"Browse"権限も必要)。
Administer Security Hotspots Project Security Hotspotのstatusを変更する
Administer Project "Project Settings"にアクセスし、Adminのタスクを実行する(ユーザーは "Browse"権限も必要)。デフォルトでは、このAdministerパーミッションを持つユーザーは、現在のプロジェクトの設定とパーミッションの両方を管理できる。プロジェクト管理者のみにプロジェクト設定の更新を許可するには、Administration > Configuration > General Settings > Securityに移動して、Enable permission management for project administratorsを無効にする必要がある。
Execute Analysis Project/Global 解析に必要なすべての設定にアクセスでき、解析結果をSonarQubeにPushできる。PrivateのProject Settingsも対象だが、パスワードのようなセキュリティで保護された設定は含まれない。
Administer System Global 全てのAdmin権限が利用可
Administer - Quality Gates Global Quality Gatesに関する全ての権限が利用可
Administer - Quality Profiles Global Quality Profilesに関する全ての権限が利用可
Create - Projects Global Projectの作成権限

なお、システム設定を変更していない場合、デフォルトで作成したユーザはProjectを作成できてしまう。
これはAnyoneというGroupに全てのユーザが暗黙的に所属しており、このAnyoneのデフォルトがExecute AnalysisとCreate Projectsに許可が与えられているためである。

1659344162584.png
許可されたユーザにのみProject作成を許可させる場合はGlobal PermissionsでAnyoneの設定を変更し、チェックを外す必要がある。

Permission Templates

Project作成後、そのProjectに特定のユーザに特定のPermissionをまとめて付与することが出来る。
例えば、今alice, bob, mikeというユーザが存在し、新規Projectに対して毎回以下のような権限与えたいとする。

  • alice(ゲスト):結果の参照のみ許可(コードは参照不可)
  • bob(開発者):結果の参照、コード参照、Issueの編集許可、解析許可
  • mike(管理者):全権限あり

その場合、テンプレートを作成してProjectに適用することで、Permission付与の手間を減らすことが出来る。
Administration -> Permission TemplatesからCreateを選択し、以下のようなテンプレートを作成する。
1659345659018.png

その後、Projectを作成してProject Settings -> Permissionsから右上のApply Permission Templateをクリックしてテンプレートを適用すると、まとめて権限を付与する事ができる。
なお、注意点としてAdminの権限を設定していないテンプレートを適用した場合、AdminもProjectに対する権限がなくなる点に気をつけること。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?