apache / apache/cloudstack

Switching to project view not working when user is assigned custom Project Role

オープン
#14,014 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
component:projects component:UI type:regression
主要言語
Java
スター
3.1k
フォーク
1.4k
平均マージ
6日 19時間
マージ済み PR(30日)
32

説明

### problem

If account/user is added to the project with custom role (even if role permisions are "allow *") user can login to CS successfully but switching to project view will fail and generate multiple errors: "

```
The given command 'listApis' either does not exist, is not available for user. Unable to proceed. Please contact your administrator."
The given command 'listZones' either does not exist, is not available for user. Unable to proceed. Please contact your administrator.
The given command 'listCapabilities' either does not exist, is not available for user. Unable to proceed. Please contact your administrator.
...
```

Image

On browser console indeed you can see that request:
` /client/api/?command=listApis&response=json&sessionkey=xxx&projectid=xxx`
returns:
`{"listapisresponse":{"uuidList":[],"errorcode":401,"cserrorcode":9999,"errortext":"The given command 'listApis' either does not exist, is not available for user."}}
`
If user is added to the project with Admin or Regular Type without any project role, switching to project view works correctly.

Switching to project view using custom Project Roles in 4.22.1.0 works correctly.
Also using UI ver. 4.22.1.1 and Api ver: 4.22.1.0 works correctly.

No additional logs available in:
```
cloudstack/management/apilog.log
cloudstack/management/management-server.log
```

### versions

ACS: 4.22.1.1

### The steps to reproduce the bug

1. Create new project "Test"
2. Create Project Role with "allow *" permission
3. Add non-admin user to project with that Project Role
4. Switch to Project View of "Test" project

### What to do about it?

Please track the root cause and fix the bug

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

"allow *" を許可するカスタム Project Role で障害を再現し、その後、listApis、listZones、listCapabilities のプロジェクトビューリクエストを調査して、Admin または Regular のプロジェクトメンバーシップの場合と比較します。API/UI バージョン 4.22.1.1 と 4.22.1.0 での挙動を確認します。カスタムロールのユーザーが認可エラーなしでプロジェクトビューに切り替えられ、一覧にあるリクエストが成功すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
api, authorization
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
活発
明瞭さ
おおむね明確
初心者へのやさしさ
55/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。