# What is policy-based access management?

Policy-based access management allows organizations to enforce consistent entitlements across multiple applications.

Learn what is required from developers and IT to provide dynamic, policy-based access control in the age of the cloud.

- Centralized policy management  
- Policy-as-code workflows  
- Secure software supply chain for policies  
- Centralized decision logs

#### Get the report

Aserto awarded "Outstanding in Innovation" by KuppingerCole Analysts

_"Aserto has taken a brazen approach to deploy an open source microservices component coupled with a hosted authorization service providing IdP connections and policy management."_

## Easily add fine-grained, policy-based, real-time access control to your cloud applications and APIs.

## Fine-grained, policy-based access control made easy

Make decisions based on your users, groups, domain model, resource hierarchy, and relationships between all of these.

`allowed {
ns := time.now_ns()
day := time.weekday(ns)
day == data.workdays[_]
}`

Include environmental attributes in your policies

`allowed {
input.user.properties.dept == "Sales"
}`

Use any user-centric attributes in your policies

`allowed {
ds.check({
    "subject_type": "user",
    "subject_id": input.user.id,
    "relation": "manager",
    "object_type": "user",
    "object_id": input.resource.id
})
}`

Make access decisions based on org-chart relationships

`allowed {
ds.check({
    "subject_type": "user",
    "subject_id": input.user.id,
    "relation": "can_read",
    "object_type": "document",
    "object_id": input.resource.id
})
}`

Model your resource hierarchy and enforce fine-grained authorization

`allowed {
ns := time.now_ns()
day := time.weekday(ns)
day == data.workdays[_]
}`

Include environmental attributes in your policies

`allowed {
input.user.properties.dept == "Sales"
}`

Use any user-centric attributes in your policies

`allowed {
ds.check({
    "subject_type": "user",
    "subject_id": input.user.id,
    "relation": "manager",
    "object_type": "user",
    "object_id": input.resource.id
})
}`

Make access decisions based on org-chart relationships

Model your resource hierarchy and enforce fine-grained authorization

`allowed {
ns := time.now_ns()
day := time.weekday(ns)
day == data.workdays[_]
}`

Include environmental attributes in your policies

- 1
- 2
- 3
- 4

## Real-time access control decisions

Make authorization decisions locally using real-time data in millisecond latency and with 100% availability.

## Centralized policy management

Define and manage policies across your application/s from one central location.

## Policy lifecycle management

Treat policy as code. Build, tag, push, pull policy images in your container registry, or use ours.

## Add Policy-Based Access Management to your Apps Today!

[Speak with an engineer](/content/contact-engineer/index.html)
