Security Implications of the Managing Grantees and Managing Roles Options

A role can be granted to another role as a grantee (member) or as an underlying role. Each grant type has different security inheritance implications.

Grantees are members granted directly to a role. A grantee can be either a user or another role. Granting membership in a role allows grantees to inherit all system privileges and underlying roles of the role.

When granting a role to another role, the role can be granted as a grantee (member)) or as an underlying role.

When a role is granted as a member, each member of the role being granted (the child role) becomes a grantee of the receiving role (the parent role). Each new grantee inherits all system privileges and roles already granted to the parent role, while still retaining all system privileges and roles from the child role. Existing members of the parent role do not inherit any system privileges and roles from the child role.

When a role is granted as an underlying role, all system privileges and roles of the underlying role (child role) are inherited by all members of the receiving role (parent role). However, members of the child role do not become members of the parent role.

Consider the following:

Grant a role as a member:

Grant a role as an underlying role:

As you can see, there is a significant difference in how system privileges and roles of a child role are inherited by the parent role and by whom. Use of the wrong grant method can lead to unexpected behavior and potential security concerns.