XACML JSON 请求中的强制类别
XACML JSON Mandatory categories in request
我对 JSON Profile of XACML 3.0 的 4 个类别有疑问。
当我在 JSON 中从 PEP 向 PDP 发送请求时,PEP 是否总是需要向 PDP 发送 AccessSubject、Resource、Action 和 Enviroment,或者 PEP 是否可以发送 JSON请求?
JSON 请求可能包含任意数量的类别,包括自定义类别。这适用于 XACML 请求,无论它是在 JSON 还是 XML 中编码(我是此配置文件的编辑并在公司 Axiomatics 工作)。
JSON 配置文件还定义了 8 个可以使用的默认类别。这些类别名称是:
- urn:oasis:names:tc:xacml:3.0:attribute-category:resource : 资源
- urn:oasis:names:tc:xacml:3.0:attribute-category:action : 动作
- urn:oasis:names:tc:xacml:3.0:attribute-category:environment: 环境
- urn:oasis:names:tc:xacml:1.0:subject-category:access-subject : AccessSubject
- urn:oasis:names:tc:xacml:1.0:subject-category:recipient-subject : RecipientSubject
- urn:oasis:names:tc:xacml:1.0:subject-category:intermediary-subject : IntermediarySubject
- urn:oasis:names:tc:xacml:1.0:subject-category:codebase : 代码库
- urn:oasis:names:tc:xacml:1.0:subject-category:requesting-machine : RequestingMachine
这是一个仅使用 3 个类别并使用其 shorthand 符号的示例:
{
"Request": {
"AccessSubject": {
"Attribute": [
{"AttributeId": "com.acme.user.employeeId",
"Value": "Alice"}
]},
"Resource": {
"Attribute": [
{"AttributeId": "com.acme.record.recordId",
"Value": "123"},
{"AttributeId": "com.acme.object.objectType",
"Value": "record"}
]},
"Action": {
"Attribute": [
{"AttributeId": "com.acme.action.actionId",
"Value": "view"}
]}
}
}
我对 JSON Profile of XACML 3.0 的 4 个类别有疑问。
当我在 JSON 中从 PEP 向 PDP 发送请求时,PEP 是否总是需要向 PDP 发送 AccessSubject、Resource、Action 和 Enviroment,或者 PEP 是否可以发送 JSON请求?
JSON 请求可能包含任意数量的类别,包括自定义类别。这适用于 XACML 请求,无论它是在 JSON 还是 XML 中编码(我是此配置文件的编辑并在公司 Axiomatics 工作)。
JSON 配置文件还定义了 8 个可以使用的默认类别。这些类别名称是:
- urn:oasis:names:tc:xacml:3.0:attribute-category:resource : 资源
- urn:oasis:names:tc:xacml:3.0:attribute-category:action : 动作
- urn:oasis:names:tc:xacml:3.0:attribute-category:environment: 环境
- urn:oasis:names:tc:xacml:1.0:subject-category:access-subject : AccessSubject
- urn:oasis:names:tc:xacml:1.0:subject-category:recipient-subject : RecipientSubject
- urn:oasis:names:tc:xacml:1.0:subject-category:intermediary-subject : IntermediarySubject
- urn:oasis:names:tc:xacml:1.0:subject-category:codebase : 代码库
- urn:oasis:names:tc:xacml:1.0:subject-category:requesting-machine : RequestingMachine
这是一个仅使用 3 个类别并使用其 shorthand 符号的示例:
{
"Request": {
"AccessSubject": {
"Attribute": [
{"AttributeId": "com.acme.user.employeeId",
"Value": "Alice"}
]},
"Resource": {
"Attribute": [
{"AttributeId": "com.acme.record.recordId",
"Value": "123"},
{"AttributeId": "com.acme.object.objectType",
"Value": "record"}
]},
"Action": {
"Attribute": [
{"AttributeId": "com.acme.action.actionId",
"Value": "view"}
]}
}
}