服務提供者提供服務后,您可以通過服務鑒權功能對服務調用方進行鑒權。
注意事項
在使用容器應用服務發布應用時,應用名稱必須與本地應用注冊代碼配置的
spring.application.name
一致。請確保 SOFABoot 版本在 3.3.3 及以上。有關 SOFABoot 的版本信息,請參見 版本說明。
使用服務鑒權時,
application.properties
文件中需要額外添加如下配置:com.alipay.sofa.rpc.dynamic.alias=drm
application.properties
文件說明請參見 應用維度配置擴展。
添加鑒權規則
登錄 SOFAStack 控制臺。
在左側菜單欄選擇 中間件 > 微服務平臺 > 微服務 > 服務治理,然后單擊 服務鑒權 頁簽。
單擊 添加鑒權規則,然后配置以下參數:
參數
說明
鑒權粒度
配置鑒權的粒度,可選值為:
應用級:對某個應用添加鑒權規則。
服務級:對應用下的一個或多個服務添加鑒權規則。
規則名稱
配置鑒權規則的名稱。
僅支持中文、英文、數字、下劃線(_)。
類型
配置鑒權類型,可選值為:
白名單:選擇此項時,匹配條件的請求會被放通。
黑名單:選擇此項時,匹配條件的請求會被拒絕。
應用
選擇待鑒權的應用。
服務
選擇或填寫應用下的一個或多個服務。僅在 鑒權粒度 選擇 服務級 時配置。
運行模式
配置服務鑒權規則的運行方式,取值如下:
攔截模式:鑒權規則生效,則拒絕請求。
觀察者模式:鑒權規則生效時,不拒絕請求,只打印日志。
匹配條件
配置鑒權規則的匹配條件,符合條件的流量會被鑒權。
可配置多條匹配規則,各匹配規則之間是“與”的關系。參數配置如下:
字段:可選擇系統字段和自定義字段。
字段名:根據字段類型有不同的值。
系統字段:可選擇調用方應用名、調用方 IP、服務方應用名、服務方方法名。
自定義字段:根據實際需求自行設置字段名。
選擇邏輯:包括等于、不等于、屬于、不屬于、正則。
字段值:填入所選字段的值。
單擊 提交,然后單擊 確定。
在鑒權規則列表中,將剛剛創建的鑒權規則的狀態改為 開。
根據設置的類型打開白名單或黑名單的開關。
規則類型為白名單時,打開白名單開關;反之,打開黑名單開關。否則,鑒權規則不生效。
編輯鑒權規則
您可以隨時編輯已創建的鑒權規則,規則提交后實時生效。
在 服務鑒權 頁簽,單擊目標服務左側的加號(+)。
單擊目標鑒權規則右側的 編輯。
按需求編輯鑒權規則后,單擊 提交。
刪除鑒權規則
您可以刪除已創建的鑒權規則,刪除操作實時生效,請謹慎操作。
在 服務鑒權 頁簽,單擊目標服務左側的加號(+)。
將目標鑒權規則的狀態改為 關。
單擊目標鑒權規則右側的 刪除。然后單擊 確定。
查看服務鑒權日志
您可以前往 mosn-sidecar-container
容器,服務鑒權日志打印在 /home/admin/logs/mosn/rbac.log
文件中。