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