---
# System prepended metadata

title: 權限

---

# 權限

## 必要之url更動(***important***)
PUT /api/extractors/{extractorID}改PUT /api/pipes/{pipeID}/extractor
DELETE /api/extractors/{extractorID}改DELETE  /api/pipes/{pipeID}/extractor
PUT /api/files/{fileID}改PUT /api/pipes/{pipeID}/file
DELETE /api/files/{fileID}改DELETE  /api/pipes/{pipeID}/file
PUT /api/kafkas/{kafkaID}改PUT /api/pipes/{pipeID}/kafka
DELETE /api/kafkas/{kafkaID}改DELETE  /api/pipes/{pipeID}/kafka
PUT /api/svt/{svtID}改PUT /api/pipes/{pipeID}/svt
DELETE /api/svt/{svtID}改DELETE  /api/pipes/{pipeID}/svt
PUT /api/streamers/{streamerID}改PUT /api/pipes/{pipeID}/streamers/{streamerID}
DELETE /api/streamers/{streamerID}改DELETE  /api/pipes/{pipeID}/streamers/{streamerID}



## 登入IAE
- url: post /login
- ~~第一次預設的密碼是固定的~~
- 沒有預設密碼 必須點認證信內部連結至密碼修改畫面輸入新密碼
- 系統admin第一次登入之後 強制要求修改admin密碼
- 忘記密碼=重發認證
## 帳號
- 新增 post   /users
- 列出 get    /users
- 修改 put    /users/{userID}?status=OOO
- 刪除 delete /users/{userID}
- 查詢 get    /users/{userID}
- 自己 get    /users/my
- API: 新增/修改/刪除/查詢
- user資料拿掉帳號
- UI: 狀態拉到列表
- 新增後發email認證
- 用戶名稱限制?

## 帳號角色管理
- 狀態
    - 未開通(pending)：已經發信但還沒改密碼
    - 啟用(active)以開通
    - 停用(inactive)
- 新增重發認證信按鈕

### About sys.Admin
- 一開始便擁有角色與帳號權限
- 不擁有其餘sys或是obj權限除非被授權
  
## 角色管理
- API: 新增/修改/刪除/查詢
- UI:
    - 拿掉新增角色裡面的代碼
    - 新增描述
    - 狀態拉到列表
- server自己gen role_ID (distinct)
- 限制名稱不可以重複(大小寫不分),
    - 最多20個英文字或10個中文字
    - 開頭和結尾不能空格
    - 至少兩個字
- 欄位多description
- 狀態
- 啟用(activated):(新增的時候預設選啟用，不可改)
    - 停用(stop):點的時候要有alert，
- 權限設定
    - 建立數據管線: 開關建立數據管線的按鈕
    - 建立BO：開關建立BO的按鈕
    - 編輯cluster：開關編輯cluster的按鈕
    - 主機連線：開關「設定」->「機器連線」
    - 通知設定：開關「設定」->「通知設定」
    - 操作歷程：開關「操作歷程」的選單
    - 帳號管理：開關「帳號管理」的選單
    - 角色管理：開關「角色管理」的選單
- default 角色(隱藏)


# 數據管線權限


|       | 檢視 | 重啟 | 修改 | 刪除 | 權限設定 | 連線設定 |
|:-----:|:----:|:----:|:----:|:----:|:--------:|:--------:|
| Read  |  V   |      |      |      |          |          |
| Write |  V   |  V   |  V   |      |          |          |
| Admin |  V   |  V   |  V   |  V   |    V     |          |
| Owner |  V   |  V   |  V   |  V   |    V     |          |

檢視: 全部的GET
重啟: start/stop
修改: edit
刪除: delete
權限設定: admin可以對admin動手, owner不可動


- 資料庫連線只能看到自己的
- read要多一個button檢視內容

# 數據水庫權限
|       | 檢視 | 重啟 | 修改 | 刪除 | 權限設定 | 
|:-----:|:----:|:----:|:----:|:----:|:--------:|
| Write |  V   |  V   |  V   |      |          |
| Admin |  V   |  V   |  V   |  V   |    V     | 
| Owner |  V   |  V   |  V   |  V   |    V     |

必須有任一數據水庫權限，在建立修改pipeline時候才可以看到並選取水庫與水管連接

檢視: all GET method
重啟: 
    PUT /bigobjects/{id}/start
    PUT /bigobjects/{id}/stop
修改:
    PUT /bigobjects/{id}
刪除:
    DELETE /bigobjects/{id}
權限設定:
    POST /bigobjects/{id}/users/{id}
    DELETE /bigobjects/{id}/users/{id}
    
    

owner 是 user