# Modern Authorization: The Next Frontier

Identity and access have always been joined at the hip. But, while identity has moved to the cloud, we still don’t have fine-grained, scalable mechanisms for generalizing authorization.

In this on-demand webinar, we review the current state of modern authorization and dive into:

- The two technical approaches to cloud-native authorization
- The pros and cons of each approach
- The vendor landscape and key differences between solutions
- Related open-source projects

#### Watch the webinar!

Modern authorization supports fine-grained access, externalizes authorization rules into a policy, and is enforced in real-time.

## Fine-grained access

Define access to individual items with Aserto. Support every access model, whether it is based on roles, attributes, policies, relationships, or a combination.

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

Include environmental attributes in your policies

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

Use any user-centric attributes in your policies

```rego
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

```rego
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

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

Include environmental attributes in your policies

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

Use any user-centric attributes in your policies

Make access decisions based on org-chart relationships

Model your resource hierarchy and enforce fine-grained authorization

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

Include environmental attributes in your policies

- 1
- 2
- 3
- 4

## Real-time enforcement

Authorize in milliseconds and with 100% availability with Aserto's distributed systems architecture.

## Built on Topaz

[Topaz](https://www.topaz.sh/) is an open-source authorization project that marries the two approaches to authorization - policy-as-code and policy-as-data. It provides support for RBAC, ABAC, PBAC, and ReBAC.

## Modern authorization made simple

[Contact us](/content/contact/index.html)
