# Policy Enforcement Point (PEP)

## Description

The **PEP, Policy enforcement point**, is a component of policy-based management, **where enforce the policies**. It is the component that serves as the gatekeeper to access a digital resource. The PEP gives the PDP, Policy Decision Point, the job of deciding whether or not to authorize the user based on the description of the user's attributes.

## XACML PEP configuration

Soffid allows you to configure different policies enforcement points, each of then can use a different policy set.

`Main Menu > Administration > Configuration > Security settings > XACML PEP configuration`

- [Web Policy Enforcement Point](#bkmrk-web-policy-enforceme-1)
- [Role centric Policy Enforcement Point](#bkmrk-role-centric-policy-)
- [Dynamic role Policy Enforcement Point](#bkmrk-dynamic-role-policy-)
- [External Policy Enforcement Point](#bkmrk-external-policy-enfo)
- [Password vault Policy Enforcement Point](#bkmrk-password-vault-polic)

## Screen

[![image-1628231580976.png](https://bookstack.soffid.com/uploads/images/gallery/2021-08/scaled-1680-/image-1628231580976.png)](https://bookstack.soffid.com/uploads/images/gallery/2021-08/image-1628231580976.png)

## Common attributes

Common attributes for each PEP:

- **Enable XACML Policy Enforcement Point**: select the Yes option to enable the PEP.
- **Policy Set Id**: policy set identifier.
- **Policy Set Version**: version of the policy set to enforce.
- **Trace requests**: select the Yes option to enable the trace.

## Policies enforcement points

### Web Policy Enforcement Point

The policy will be enforced when the user open a new Soffid page. Using this PEP you can define the rules to access to Soffid pages.

<table border="1" id="bkmrk-subjects-resources-a" style="width: 100%; height: 173px;"><tbody><tr style="height: 29px;"><td class="align-center" style="width: 25%; height: 29px;">**SUBJECTS**</td><td class="align-center" style="width: 25%; height: 29px;">**RESOURCES**</td><td class="align-center" style="width: 25%; height: 29px;">**ACTIONS**</td><td class="align-center" style="width: 25%; height: 29px;">**ENVIRONMENTS**</td></tr><tr style="height: 144px;"><td style="width: 189px; height: 144px;">User  
User attributes  
Account  
System  
Role  
Group  
Primary Gorup  
IP Address

</td><td style="width: 199px; height: 144px;">Server URL</td><td style="width: 190px; height: 144px;">Get

Put

Post

</td><td style="width: 220px; height: 144px;">Current Time

Current Date

Current DateTime

</td></tr></tbody></table>


### Role centric Policy Enforcement Point

The policy will be enforced when the user login into Soffid. It will calculate the user authorizations as of the permissions that the user has assigned.

<table border="1" id="bkmrk-subjects-resources-a-0" style="border-collapse: collapse; width: 100%;"><tbody><tr><td class="align-center" style="width: 25%;">**SUBJECTS**</td><td class="align-center" style="width: 25%;">**RESOURCES**</td><td class="align-center" style="width: 25%;">**ACTIONS**</td><td class="align-center" style="width: 25%;">**ENVIRONMENTS**</td></tr><tr><td style="width: 25%;">User  
User attributes  
Account  
System  
Role  
Group  
Primary Gorup  
IP Address

</td><td style="width: 25%;">Soffid object

Attributes

</td><td style="width: 25%;">create

update

delete

query

</td><td style="width: 25%;">Current Time

Current Date

Current DateTime

</td></tr></tbody></table>

### Dynamic role Policy Enforcement Point

The policy will be enforced when the user performs an action to evaluate if the user has or not authorization. The user must have the proper role and comply with the XACML rule.

You can use that PEP to split the permissions, for instance, a support group can update the permission of a specific group of user, and another support group can update the permissions of another group of users.

<table border="1" id="bkmrk-subjects-resources-a-1" style="width: 100%;"><tbody><tr><td class="align-center" style="width: 25%;">**SUBJECTS**</td><td class="align-center" style="width: 25%;">**RESOURCES**</td><td class="align-center" style="width: 25%;">**ACTIONS**</td><td class="align-center" style="width: 25%;">**ENVIRONMENTS**</td></tr><tr><td style="width: 198px;">User  
User attributes  
Account  
System  
Role  
Group  
Primary Gorup  
IP Address

</td><td style="width: 205px;">Soffid object

Attributes

(\*)

</td><td style="width: 210px;">create

update

delete

query

</td><td style="width: 218px;">Current Time

Current Date

Current DateTime

</td></tr></tbody></table>

(\*) It is allowed to use "Attribute Selector" to configure Dynamic role policy.

### External Policy Enforcement Point (https://iam-sync-lab.soffidnetlab:1760//XACML/pep)

PEP of general purpose. Calling the web service, the clients can made validations and figure out if the users have access.

<table border="1" id="bkmrk-subjects-resources-a-2" style="width: 100%;"><tbody><tr><td class="align-center" style="width: 25%;">**SUBJECTS**</td><td class="align-center" style="width: 25%;">**RESOURCES**</td><td class="align-center" style="width: 25%;">**ACTIONS**</td><td class="align-center" style="width: 25%;">**ENVIRONMENTS**</td></tr><tr><td style="width: 194px;">User  
User attributes  
Account  
System  
Role  
Group  
Primary Gorup  
IP Address

</td><td style="width: 208px;">Token

Method

Soffid object

</td><td style="width: 216px;">Get

Put

</td><td style="width: 205px;">Current Time

Current Date

Current DateTime

</td></tr></tbody></table>

### Password vault Policy Enforcement Point (https://iam-sync-lab.soffidnetlab:1760//XACML/vault)

The policy will be enforced when the password vault is used.

<table border="1" id="bkmrk-subjects-resources-a-3" style="width: 100%;"><tbody><tr><td class="align-center" style="width: 25%;">**SUBJECTS**</td><td class="align-center" style="width: 25%;">**RESOURCES**</td><td class="align-center" style="width: 25%;">**ACTIONS**</td><td class="align-center" style="width: 25%;">**ENVIRONMENTS**</td></tr><tr><td style="width: 193px;">User  
User attributes  
Account  
System  
Role  
Group  
Primary Gorup  
IP Address

</td><td style="width: 216px;">Access level

Account

System

Login

Vault Folder

Server URL

</td><td style="width: 219px;">setPassword

queryPassword

queryPasswordBypassPolicy

launch

</td><td style="width: 194px;">Current Time

Current Date

Current DateTime

</td></tr></tbody></table>