[英]Is there a standard or preferred way to use obligations and advice in XACML and ALFA?
我寫了一些義務和建議,但我想知道是否存在一種廣泛接受的或正式的方式來正確地做到這一點? 換句話說:在ALFA中是否有使用義務和建議的標准或首選方法?
我真的很想看到一個示例,該示例如何在分層策略中定義義務(例如記錄每個請求)及其內容,該分層策略將始終在拒絕和允許時(在每個請求上)觸發? 還是您必須為每個策略集/策略和規則定義單獨的義務?
您是否必須定義此類義務的確切內容,還是取決於PEP的功能?
這是一個很好的問題。
盡管規范(所有版本)確實定義了義務的結構,甚至在XACML 3.0的情況下也提供了建議,但規范並未提及PEP(策略實施點)如何實現義務。 規范中所有提到的是,如果PEP無法履行義務,即決定將要發生的事情,將會發生什么。
從PEP代碼角度來看,最佳實踐是編寫一個ObligationHandler
接口,您可以為不同的義務實現該接口。 實現ObligationHandler
接口的類的構造函數將采用XACML請求和響應。
例
obligation emailManager = "com.axiomatics.example.obligations.emailmanager"
policy documentAccess{
apply firstApplicable
rule allowAccessIfClearanceSufficient{
condition user.clearance>document.classification
permit
on permit {
obligation emailManager{
email = email
message = stringConcatenate("Employee ",
stringOneAndOnly(Attributes.subjectId),
" has obtained access to ",
stringOneAndOnly(Attributes.resourceId)
)
}
}
}
}
其他資源:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.