Chung-En Lee created HDDS-16486:
-----------------------------------

             Summary: Support S3 Object Lock IAM action resolution and 
propagation to OM
                 Key: HDDS-16486
                 URL: https://issues.apache.org/jira/browse/HDDS-16486
             Project: Apache Ozone
          Issue Type: Sub-task
            Reporter: Chung-En Lee


To enforce fine-grained access control and compliance policies in Apache 
Ranger, S3 Gateway needs to identify incoming S3 Object Lock requests, map them 
to standard S3 IAM actions, and propagate the resolved action down to Ozone 
Manager for authorization.

This task covers the mapping and propagation pipeline across {{{}s3gateway{}}}, 
{{{}common{}}}, and {{{}ozone-manager{}}}:
 # {*}Audit Actions ({{{}hadoop-ozone/s3gateway{}}}){*}:

 ** Extend {{S3GAction}} enum to include audit actions for all lock 
configuration operations:

 *** {{GET_BUCKET_OBJECT_LOCK_CONFIGURATION}}

 *** {{PUT_BUCKET_OBJECT_LOCK_CONFIGURATION}}

 *** {{GET_OBJECT_RETENTION}}

 *** {{PUT_OBJECT_RETENTION}}

 *** {{GET_OBJECT_LEGAL_HOLD}}

 *** {{PUT_OBJECT_LEGAL_HOLD}}

 *** {{BYPASS_GOVERNANCE_RETENTION}}

 # {*}IAM Action Mapping ({{{}hadoop-ozone/s3gateway{}}}){*}:

 ** Update {{S3GActionIamMapper}} to map the newly added {{S3GAction}} entries 
to corresponding standard IAM action strings:

 *** {{s3:GetBucketObjectLockConfiguration}}

 *** {{s3:PutBucketObjectLockConfiguration}}

 *** {{s3:GetObjectRetention}}

 *** {{s3:PutObjectRetention}}

 *** {{s3:GetObjectLegalHold}}

 *** {{s3:PutObjectLegalHold}}

 *** {{s3:BypassGovernanceRetention}}

 # {*}Action Registry & Scoping ({{{}hadoop-ozone/common{}}}){*}:

 ** Update {{IamSessionPolicyResolver.S3Action}} to register the new actions 
with appropriate resource scopes and primitive base permissions:

 *** Bucket-level: {{GetBucketObjectLockConfiguration}} ({{{}READ{}}}), 
{{PutBucketObjectLockConfiguration}} ({{{}WRITE{}}})

 *** Key-level: {{GetObjectRetention}} ({{{}READ{}}}), {{PutObjectRetention}} 
({{{}WRITE{}}}), {{GetObjectLegalHold}} ({{{}READ{}}}), {{PutObjectLegalHold}} 
({{{}WRITE{}}}), {{BypassGovernanceRetention}} ({{{}WRITE{}}} / {{{}DELETE{}}})

 # {*}RPC Propagation ({{{}hadoop-ozone/ozone-manager{}}}){*}:

 ** Ensure the resolved {{s3Action}} is serialized into {{S3Auth}} / OM request 
headers over RPC.

 ** Extract and bind {{s3Action}} into {{RequestContext.s3Action}} during OM 
request dispatching so that {{RangerOzoneAuthorizer}} can inspect it during 
policy evaluation.

h4.  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to