Project Name:

Project description:

Scope:

The scope of AAF project is a plugable and extensible framework that

  1. Organizes software authorizations so that applications, tools and services can match the access needed to perform job functions. 
  2. Provides Enterprise Level Authentication and Authorization
  3. Provides Role based authorization, including attribute based authorization elements as well
  4. The frameworks exposure layer should be consumable by any product or technology.
  5. The frameworks should be highly available with a resilient data store
  6. Provides administration functions by GUI and management API's.
  7. Provides consistent client plugins to access authentication and authorization frameworks functions
  8. Provides support for multi-tenancy
  9. Provides support for SSL Certificate management
  10. Provides support for OAuth2.
  11. Support Microservices ( Docker/Kubernetes )
  12. Provide hardware security plugin for storing private keys and for performing crypto operations that require private keys.
  13. Management of Secrets and Protection of secrets

CADI ( Code Access Data Identity) - Addresses the Runtime Elements of Access and Identity.

Certificate Manager :

Entities within AAF

Namespaces

A Namespace, in AAF, is the ensemble of Roles, Permissions and Identities. Namespaces are known by domain, example com.onap.dcae or com.onap.appc and they are hierarchically managed. A

Namespace is assigned to an application. A namespace contains one or more roles and one or more permissions. By default, every namespace has an admin role

People in Namespaces

Tasks Owner (Responsible) must do:

Admin

Admins may

Object Model

In AAF, permissions are granted to roles. Roles are assigned to User. A user can be assigned to any number of roles. Roles and permissions are stored centrally but segregated by Application.

For authorization, all that matters is the permissions you are granted.

AAF is an Attribute Based Access Control System.  Permission is the embodiment of the Attribute.  It is broken up into three elements.

Interacting with AAF

AAF GUI

The AAF GUI is designed primarily to provide AAF-specific information to users, though it does contain a few management features.

What AAF-specific information can you see in the GUI?

You can see the roles to which you are assigned, the permissions which you have been granted and the Namespaces in which you are an admin or responsible party

What management features are in the GUI?

  1. My Approvals
    1. If you are responsible for any namespaces or other resources, this is where you will need to approve or deny requests about those resources.
  2. Password Management
    1. This page provides the ability to reset passwords.
  3. Permission Granting
    1. If you are an admin or responsible person for a Namespace, you will find a "Grant This Perm" link for each permission in your Namespace details page. You can grant your permission to a role from this page. You can also expose this link to others if you want them to request access to your permission

AAF CUI (Command User Interface)

The CUI provides more management and reporting features to users through a command prompt interface.

Application Authorization Framework Big Picture

Architecture Alignment:

How does this project fit into the rest of the ONAP Architecture?

AAF is used for fined grained authorization of an application. It can authorize DMaaP for pub/sub to a topic. It can authorize access to services registered in Microservices Bus.





Resources:


NameGerrit IDCompanyEmailTime Zone
Ram Koya
AT&T

 rk541m@att.com

Dallas, USA
CST/CDT
John Murray
AT&T

 jfm@research.att.com

Bedminster, USA EST/EDT
Dominic Lunanuova
AT&T 
dgl@research.att.com

MiddleTown, USA EST/EDT

 Sitharaman

T R


 IBM tsithara@in.ibm.com

 Middletown,USA

EST/EDT

Other Information:

Key Project Facts

Project Name:

Repo name: org.onap.aaf
Lifecycle State: incubation
Primary Contact: Ram Koya
Project Lead: Ram Koya
mailing list tag [Should match Jira Project Prefix] 
Committers:

Ram Koya  rk541m@att.com 

Jonathan Gathman jg1555@att.com


Contributors:

Varun Gudisena vg411h@att.com

Sai Gandham sg481n@att.com

Sowjanya Vemulapally sv8675@att.com 

Sitharaman T R  tsithara@in.ibm.com

Catherine Lefèvre cl664y@intl.att.com 



*Link to TSC approval: 
Link to approval of additional submitters: