SonarQube (SQ) 6.0 コミュニティ バージョンを使用しており、グループとプロジェクトの権限を使用して承認を設定しようとしています。定義された SQ グループにアクセス許可が割り当てられていても、作成されたグループにアクセス許可を割り当てる方法はないようです。私がやりたかったのは、[管理] -> [セキュリティ] -> [グローバル権限] プロセスを介して、作成したグループに権限を割り当てることでした。ただし、このアクションは、アクセス許可を持つグループのみを返す内部 API api/permissions/groups の使用に基づいて、すべてのユーザーと sonar-administrators で定義されたグループのみを返します。これと同じ API が、[管理] -> [プロジェクト] -> [管理] -> [アクション] -> [権限の編集] アクションで使用されます。この最後のアクションの目標は、このプロジェクトのパーミッションを Everyone グループから削除し、作成されたグループからのパーミッションを許可することでした (これは、そのグループのユーザーに適用されます)。しかし、それは不可能のようです。パーミッション テンプレートを確認しましたが、グループへの関連付けが許可されていないようです。私が実際にやろうとしているのは、SQ がサポートしていないように見える一般的な RBAC プロセスです。この機能に対する SQ のソリューションはありますか?
2 に答える
ここでは、2 つの異なる概念が働いています。グローバル権限により、ユーザーとグループはグローバル レベルの変更を行うことができます。つまり、どのプラグインがインストールされているか、品質プロファイルでどのルールが有効かなど、全員に影響する変更です。プロジェクト パーミッションは、ユーザーとグループに、個々のプロジェクトを表示および変更する権限を付与します。
グループを作成してデータを入力したら、次の 2 つのオプションがあります。
個々の権限の編集権限
プロジェクトに移動し、[管理] > [権限]に移動して、個々のプロジェクトに対するグループ固有の権限を付与します。更新するプロジェクトが多数ある場合、これは面倒な作業になる可能性があります。
権限テンプレートを作成する
パーミッション テンプレートを作成し( [管理] > [セキュリティ] > [パーミッション テンプレート])、グループ固有のパーミッションを付与してデータを入力します。この時点では、実際に変更された権限はありません。
テンプレートが適切に構築されたら、テンプレートのプロジェクト キー パターンを介して新しいプロジェクトが作成されるときに、テンプレートをプロジェクトに個別に、まとめて、および/またはデフォルトで適用できます。新しいテンプレートをデフォルトにして、その設定がプロジェクト キーに関係なくすべての新しいプロジェクトに自動的に適用されるようにすることもできます。
権限テンプレートとそれが適用されたプロジェクトとの間に継続的な関係がないことに注意してください。その後テンプレートを編集しても、プロジェクトの権限は更新されません。