This is a continuation of a series of articles on operational engineering aspects of Azure public cloud computing that included the most recent networking discussions on controlled folder access. In this article, we review the access control lists for Azure Data Lake Storage Gen 2.
The access control model in Azure Data Lake storage gen 2
supports both Azure role-based access control (Azure RBAC) and POSIX like
access control lists (ACL). The shared key and SAS authorization grants access
to a user without requiring them to have an identity in Azure Active Directory
(Azure AD). When these are used, the Azure RBAC and ACLs have no effect. Only
when there is an identity in Azure AD, can the Azure RBAC and ACL be used. The
Azure RBAC and ACL both require the user (or application) to
have an identity in Azure AD. Azure RBAC gives broad and sweeping access to
storage account data, such as read or write access to all the data in a storage
account, while ACLs is for granting privilege at a finer level where the write
access must be to a specific directory or file. The evaluation of RBAC and ACL
for authorization decisions is not static. The access control lists, and policy
resolution artifacts are static but the evaluation of the identity and its permissions
for an identity context is dynamic. It can even involve composition and
inheritance. It can allow dynamic assignment of users to roles. So, when a
person leaves an organization and goes to another, then a scheduled background
job can revoke the privileges and perform cleanup.
Users are mapped via policies to roles, and they are granted
different level of access to different resources. The permissions can vary with
owner_read, owner_write, owner_delete, group_read, group_write, group_delete,
other_read, other_write and other_delete which along with the other state for
granted or revoked. The purpose of specifying privilege is that we only need to
grant on a need basis. Role-based access control (RBAC) facilitates principle
of least privilege. A higher privilege role such as the domain administrator
need not be used to work with AD connect or for deployment purposes. A
deployment operator is sufficient in this regard.
Role based access control also enforce the most restrictive
permission set so a general ability to read can be taken away for specific
cases.
When it comes to securing KeyVaults and Storage accounts. The
access control policies are the resorted technique. On the contrary, the
role-based access control is less maintenance. There is no need to keep adding
and removing conditional access polices from the KeyVault because they end up
being transient even if they are persisted. Instead, the role-based access
control for KeyVault requires zero-touch and automatically flows to all items
in the vault.
An Access Control List consists of several entries called
Access control lists. It can have zero or more ACEs. Each ACE controls or
monitors access to an object by a specified trustee. There are six types of
ACEs three of which are general purpose and applicable to all while the other
three object-specific ACEs. Every ACE has a security identifier part that
identifies the trustee, an access mask that specifies the access rights and a
flag that indicates the ACE type and a set of bit flags that determine whether
the child container or objects can inherit the ACE from the primary object to
the which the ACL is attached. The general-purpose ACEs includes an
access-denied ACE which is used in discretionary access control list, an
access-allowed ACE which is used to allow access rights to a trustee and a
system-audit ACE which is used in a System Access Control List. The special
purpose ACEs carry an object type GUID that identifies one of the following: a
type of child object, a property set or property, an extended right, and a
validated write.
The Active Directory contains two policy objects called a
centralized authorization policy (cap) and a centralized authorization policy
rule (capr). These polices are based on expressions of claims and resource
attributes. Capr targets specific resources and articulates the access control
to satisfy a condition. Capes apply to an organization where the set of
resource to which it applies can be called out. It is a collection of caprs
that can be applied together. A user folder will have a specific cap comprising
of several caprs and there will be a similar new cap for assignment to the
finance folder.
This is a continuation of a series of articles on
operational engineering aspects of Azure public cloud computing that included
the most recent networking discussions on controlled
folder access. In this article, we review the access control lists for
Azure Data Lake Storage Gen 2.
The access control model in Azure Data Lake storage gen 2
supports both Azure role-based access control (Azure RBAC) and POSIX like
access control lists (ACL). The shared key and SAS authorization grants access
to a user without requiring them to have an identity in Azure Active Directory
(Azure AD). When these are used, the Azure RBAC and ACLs have no effect. Only
when there is an identity in Azure AD, can the Azure RBAC and ACL be used. The
Azure RBAC and ACL both require the user (or application) to
have an identity in Azure AD. Azure RBAC gives broad and sweeping access to
storage account data, such as read or write access to all the data in a storage
account, while ACLs is for granting privilege at a finer level where the write
access must be to a specific directory or file. The evaluation of RBAC and ACL
for authorization decisions is not static. The access control lists, and policy
resolution artifacts are static but the evaluation of the identity and its permissions
for an identity context is dynamic. It can even involve composition and
inheritance. It can allow dynamic assignment of users to roles. So, when a
person leaves an organization and goes to another, then a scheduled background
job can revoke the privileges and perform cleanup.
Users are mapped via policies to roles, and they are granted
different level of access to different resources. The permissions can vary with
owner_read, owner_write, owner_delete, group_read, group_write, group_delete,
other_read, other_write and other_delete which along with the other state for
granted or revoked. The purpose of specifying privilege is that we only need to
grant on a need basis. Role-based access control (RBAC) facilitates principle
of least privilege. A higher privilege role such as the domain administrator
need not be used to work with AD connect or for deployment purposes. A
deployment operator is sufficient in this regard.
Role based access control also enforce the most restrictive
permission set so a general ability to read can be taken away for specific
cases.
When it comes to securing KeyVaults and Storage accounts. The
access control policies are the resorted technique. On the contrary, the
role-based access control is less maintenance. There is no need to keep adding
and removing conditional access polices from the KeyVault because they end up
being transient even if they are persisted. Instead, the role-based access
control for KeyVault requires zero-touch and automatically flows to all items
in the vault.
An Access Control List consists of several entries called
Access control lists. It can have zero or more ACEs. Each ACE controls or
monitors access to an object by a specified trustee. There are six types of
ACEs three of which are general purpose and applicable to all while the other
three object-specific ACEs. Every ACE has a security identifier part that
identifies the trustee, an access mask that specifies the access rights and a
flag that indicates the ACE type and a set of bit flags that determine whether
the child container or objects can inherit the ACE from the primary object to
the which the ACL is attached. The general-purpose ACEs includes an
access-denied ACE which is used in discretionary access control list, an
access-allowed ACE which is used to allow access rights to a trustee and a
system-audit ACE which is used in a System Access Control List. The special
purpose ACEs carry an object type GUID that identifies one of the following: a
type of child object, a property set or property, an extended right, and a
validated write.
The Active Directory contains two policy objects called a
centralized authorization policy (cap) and a centralized authorization policy
rule (capr). These polices are based on expressions of claims and resource
attributes. Capr targets specific resources and articulates the access control
to satisfy a condition. Capes apply to an organization where the set of
resource to which it applies can be called out. It is a collection of caprs
that can be applied together. A user folder will have a specific cap comprising
of several caprs and there will be a similar new cap for assignment to the
finance folder.
No comments:
Post a Comment