Version: 2.3.3
ACL
#
用途說明用戶可設定代表之ACL群組名,使其限制對服務或路由做存取動作。此插件需要同時開啟認證插件(例如Basic Authentication、Key Authentication或是OAuth 2.0)在服務或路由上。
#
欄位配置說明變數 | 類型 | 預設值 | 說明 | 必填 |
---|---|---|---|---|
allow | array of string | 可填入任意群組名,代表允許接觸服務或路由的群組。 allow 及 deny 中需選擇其中一個欄位填寫。 | V | |
deny | array of string | 可填入任意群組名,代表拒絕接觸服務或路由的群組。 allow 及 deny 中需選擇其中一個欄位填寫。 | V | |
hide_groups_header | boolean | false | 開啟時會在傳送請求至後方服務時移除標頭 X-Consumer-Groups 。 | V |
#
用法示例#
在全局啟用插件- 從網站左邊Menu中
外掛插件
頁面中,點選右上角的新增外掛插件
:
- 點選後,選擇
安全
頁籤,並啟用ACL,填寫內容參考欄位配置說明,設定成功後,任何請求(不分服務、路由、用戶)皆需經過檢查才能通過。
#
在服務端上啟用插件- 從網站左邊Menu中
服務 > 服務列表
頁面中,選擇要啟用此插件的服務,假設為google
,點選對應的編輯按鈕:
- 在編輯畫面中,點選上方的
外掛插件
頁籤,再點選頁籤內容上方的新增外掛插件
按鈕:
點選後,選擇 安全
頁籤,並啟用ACL,填寫內容參考欄位配置說明,設定成功後,僅有此服務(範例為google
)請求需經過檢查才能通過。
#
在路由端上啟用插件可以由兩種方式來選擇路由,並啟用插件:
#
方式一:路由列表- 從網站左邊Menu中
服務 > 路由列表
頁面中,選擇要啟用此插件的路由,假設為google
,點選對應的編輯按鈕:
#
方式二:服務 > 服務列表 > 路由列表- 從網站左邊Menu中
服務 > 服務列表
頁面中,選擇要啟用此插件的路由 所屬之服務(假設為google
),點選對應的編輯按鈕。
在編輯畫面中,點選上方的 路由
頁籤,選擇要啟用此插件的路由(假設為google
),點選對應的編輯按鈕:
- 承第1步,點擊上述兩種方式之一的編輯按鈕後,在編輯畫面中,點選上方的
外掛插件
頁籤,再點選頁籤內容上方的新增外掛插件
按鈕:
點選新增外掛插件
按鈕後,選擇 安全
頁籤,並啟用ACL,填寫內容參考欄位配置說明,設定成功後,僅有此路由(範例為google
)請求需經過檢查才能通過。
#
驗證#
建立使用者及API金鑰從網站左邊Menu中
訂閱用戶 > 用戶列表
頁面中選擇右上方新增
按鈕,新增用戶。選擇剛建立的使用者,進入編輯頁面
- 選擇上方
API金鑰
頁籤,再選擇列表左上方的新增
按鈕,然後按送出
。
- 選擇上方
憑證
頁籤,選擇左邊的Basic Authentication
頁籤,再選擇列表左上方的新增
按鈕,填入代表此用戶的用戶名稱及密碼並送出,在此填入Test
及testing
做為範例。
- 選擇上方
選擇剛建立的API金鑰,進入編輯頁面,選擇上方
ACL
頁籤,點選列表左上方的新增
按鈕,在此於服務名稱
填入testing
為範例送出。
#
開啟ACL及Basic Auth插件- 選擇一路由開啟此插件服務,示範在
allow
填入testing
,如下圖。
在同一路由開啟Basic Auth插件。
此時送出以下指令
會得到以下回應
- 加入剛建立的API金鑰再送出以下指令
即可得到正常的回應。