[ 
https://issues.apache.org/jira/browse/HDDS-15945?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chung-En Lee updated HDDS-15945:
--------------------------------
    Description: 
Currently, Ozone does not support per-bucket and per-object S3 WORM (Object 
Lock) configuration. This means objects can be overwritten or deleted at any 
time, failing compliance requirements.

We plan to support S3 Object Lock configuration 
([https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html]) for 
standard OBS buckets integrated with Apache Ranger. Since Ozone versioning is 
still under development, this initial phase focuses on single-version 
immutability, blocking both deletions and in-place overwrites on locked objects.

The flow looks like:
 # {*}Configuration{*}: User uses S3 API to configure Object Lock on a bucket, 
set default retention, or configure retention/legal hold on an object 
([https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html]).
 # {*}Translation & Authorization{*}: S3G parses the XML payload, checks Ranger 
action-matching permissions, and sends corresponding requests 
({{{}SetBucketObjectLockConfiguration{}}}, {{{}SetKeyRetention{}}}, 
{{{}SetKeyLegalHold{}}}) to OM.
 # {*}Metadata Update{*}: OM updates {{OmBucketInfo}} (default retention) or 
{{OmKeyInfo}} (retention timestamp / legal hold) in OM DB.
 # {*}WORM Enforcement{*}: During delete ({{{}DeleteKey{}}}) or overwrite 
({{{}CreateKey{}}} / MPU) operations, OM validates the active retention period 
and legal hold status. If the object is locked, OM rejects the mutation with 
{{{}403 Access Denied{}}}, unless bypassed via 
{{x-amz-bypass-governance-retention}} with proper Ranger governance permissions.

  was:
Currently, Ozone does not support per-bucket and per-object S3 WORM (Object 
Lock) configuration. This means objects can be overwritten or deleted at any 
time, failing compliance requirements.

We plan to support S3 Object Lock configuration 
([https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html]) for 
standard OBS buckets integrated with Apache Ranger. Since Ozone versioning is 
still under development, this initial phase focuses on single-version 
immutability, blocking both deletions and in-place overwrites on locked objects.

The flow looks like:
 # {*}Configuration{*}: User uses S3 API to configure Object Lock on a bucket, 
set default retention, or configure retention/legal hold on an object 
([https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html]).

 # {*}Translation & Authorization{*}: S3G parses the XML payload, checks Ranger 
action-matching permissions, and sends corresponding requests 
({{{}SetBucketObjectLockConfiguration{}}}, {{{}SetKeyRetention{}}}, 
{{{}SetKeyLegalHold{}}}) to OM.

 # {*}Metadata Update{*}: OM updates {{OmBucketInfo}} (default retention) or 
{{OmKeyInfo}} (retention timestamp / legal hold) in OM DB.

 # {*}WORM Enforcement{*}: During delete ({{{}DeleteKey{}}}) or overwrite 
({{{}CreateKey{}}} / MPU) operations, OM validates the active retention period 
and legal hold status. If the object is locked, OM rejects the mutation with 
{{{}403 Access Denied{}}}, unless bypassed via 
{{x-amz-bypass-governance-retention}} with proper Ranger governance permissions.


> Support S3 WORM (Object Lock)
> -----------------------------
>
>                 Key: HDDS-15945
>                 URL: https://issues.apache.org/jira/browse/HDDS-15945
>             Project: Apache Ozone
>          Issue Type: New Feature
>            Reporter: Chung-En Lee
>            Assignee: Chung-En Lee
>            Priority: Major
>              Labels: pull-request-available
>
> Currently, Ozone does not support per-bucket and per-object S3 WORM (Object 
> Lock) configuration. This means objects can be overwritten or deleted at any 
> time, failing compliance requirements.
> We plan to support S3 Object Lock configuration 
> ([https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html]) 
> for standard OBS buckets integrated with Apache Ranger. Since Ozone 
> versioning is still under development, this initial phase focuses on 
> single-version immutability, blocking both deletions and in-place overwrites 
> on locked objects.
> The flow looks like:
>  # {*}Configuration{*}: User uses S3 API to configure Object Lock on a 
> bucket, set default retention, or configure retention/legal hold on an object 
> ([https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html]).
>  # {*}Translation & Authorization{*}: S3G parses the XML payload, checks 
> Ranger action-matching permissions, and sends corresponding requests 
> ({{{}SetBucketObjectLockConfiguration{}}}, {{{}SetKeyRetention{}}}, 
> {{{}SetKeyLegalHold{}}}) to OM.
>  # {*}Metadata Update{*}: OM updates {{OmBucketInfo}} (default retention) or 
> {{OmKeyInfo}} (retention timestamp / legal hold) in OM DB.
>  # {*}WORM Enforcement{*}: During delete ({{{}DeleteKey{}}}) or overwrite 
> ({{{}CreateKey{}}} / MPU) operations, OM validates the active retention 
> period and legal hold status. If the object is locked, OM rejects the 
> mutation with {{{}403 Access Denied{}}}, unless bypassed via 
> {{x-amz-bypass-governance-retention}} with proper Ranger governance 
> permissions.



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