From aa2ea3a770924abea134bd238cbb89d3f90246ed Mon Sep 17 00:00:00 2001 From: Michael Ferris Date: Thu, 27 Jun 2024 12:37:58 -0700 Subject: [PATCH] Added page for object lock tech preview (#402) * Added page for object lock tech preview * Apply suggestions from Derek * Updates to FAQ and defining as Technical Preview Service Release * Added information about object lock to our Veeam setup guide --- app/dcs/api/s3/object-lock/page.md | 65 +++++++++++++++++++++++++ app/dcs/third-party-tools/veeam/page.md | 6 +++ 2 files changed, 71 insertions(+) create mode 100644 app/dcs/api/s3/object-lock/page.md diff --git a/app/dcs/api/s3/object-lock/page.md b/app/dcs/api/s3/object-lock/page.md new file mode 100644 index 000000000..717844518 --- /dev/null +++ b/app/dcs/api/s3/object-lock/page.md @@ -0,0 +1,65 @@ +--- +title: Object Lock (Technical Preview) +docId: gjrGzPNnhpYrAGTTAUaj +metadata: + description: Detailed guide on the technical preview of object lock + title: 'Object Lock (Technical Preview)' +--- +{% callout type="info" %} +**Technical Preview Service Release** + +S3 Compatible Object Lock is in early development with restricted availability to invited customers for the purpose of testing or validating compatibility. Please refer to our [Terms of Service](https://www.storj.io/legal/terms-of-service) for more information on release definitions. +{% /callout %} + +## Summary + +### Overview +Storj is currently developing S3 Compatible Object Lock. As part of that development, we have an early Technical Preview Service Release that can be used to test compatibility. Note that any testing will not be representative of real-world performance, and there is no value in testing anything outside the correctness of the implementation. + +### FAQ +- **When will Object Lock be in Beta? When will it be fully released?** + - We expect to begin an open beta of Object Lock in Q3 of calendar year 2024. + - We tentatively plan to add Governance Mode and Legal Hold to the beta in Q3 of calendar year 2024, with the goal of rolling out Object Lock fully by the end of calendar year 2024. +- **Why would I test this Technical Preview?** + - We used this particular Technical Preview to do our own validation against key tools that implement S3's Object Lock, for example, Veeam. + - If your product or an integration uses Object Lock, you can use this Technical Preview to validate compatibility before we get into Beta. +- **How do I test the Technical Preview?** + - We are only opening testing to select customers and partners. Feel free to indicate your interest in the upcoming beta by filling out the form below. +- **How do I sign up to join the Beta when it arrives?** + - Fill out this form to be the first to know when the beta is arriving: [Sign Up Form](https://forms.gle/dkyqXjMkwQ34o7os6) +- **Why doesn't the initial version support Governance Mode and Legal Hold?** + - Our initial goal is to implement the most common S3 features regarding immutability and deliver them as quickly as possible, which led us to focus on the strictest form of object lock: Compliance Mode. +- **How do I give feedback or request features related to Object Lock?** + - Our roadmap is public. Here are the relevant roadmap items: + - [S3 Object Lock: Compliance Mode](https://github.com/storj/roadmap/issues/47) + - [S3 Object Lock: Add Governance Mode and Legal Hold](https://github.com/storj/roadmap/issues/98) + - You can also let us know your thoughts/opinions/needs by indicating your interest in the Object Lock beta here: [Sign Up Form](https://forms.gle/dkyqXjMkwQ34o7os6) + +## Instructions +1. Register on [https://satellite.qa.storj.io](https://satellite.qa.storj.io/) + 1. This satellite is separate from our production satellites, so you will need to create a new account. You may use the same email you use on US1, EU1 or AP1. +2. [Generate S3-compatible credentials](docId:AsyYcUJFbO1JI8-Tu8tW3#generate-s3-compatible-credentials) +3. Use [https://gateway.staging.storjshare.io](https://gateway.staging.storjshare.io/) with generated credentials: + 1. The Object Lock alpha implementation is enabled only using this specific endpoint. + +## Technical Details +### New S3 Actions Supported: +| Action | API Description | Description of Change(s) | +| -------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| GetObjectLockConfiguration | Gets the object lock configuration for a bucket. | Will return the ObjectLockConfiguration with `ObjectLockEnabled` either as `Enabled` or empty. `Rule` will not be included as a response element as specifying a bucket-level object Lock rule is initially out of scope. | +| PutObjectRetention | Places an object retention configuration on an object.
| The only value supported for `Mode` is `COMPLIANCE` as Governance Mode is initially out of scope. | +| GetObjectRetention | Retrieves an object's retention settings. | | + +### Existing S3 Actions Updated +| Method | API Description | Description of Change(s) | +| --------------------- | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| CreateBucket | Creates a new bucket. | CreateBucket will now accept the following request parameter:
- `x-amz-bucket-object-lock-enabled` | +| HeadObject | Retrieves metadata from an object without returning the object itself. | HeadObject will now return:
- Mode (only Compliance is supported initially) that is currently in place for the requested object
- Date/time that the object's lock will expire | +| GetObject | Retrieves an object from a bucket. | GetObject will now return:
- Mode (only Compliance is supported initially) that is currently in place for the requested object
- Date/time that the object's lock will expire | +| PutObject | Adds an object to a bucket. | PutObject will now:
- Prevent locked object versions from being overwritten

PutObject will now accept the following request parameters:
- `x-amz-object-lock-mode` (only Compliance is supported initially)
- `x-amz-object-lock-retain-until-date` | +| CopyObject | Creates a copy of an object that is already stored on Storj. | CopyObject will now accept the following request parameters:
- `x-amz-object-lock-mode` (only Compliance is supported initially)
- `x-amz-object-lock-retain-until-date` | +| CreateMultipartUpload | This action initiates a multipart upload and returns an upload ID. | CreateMultipartUpload will now accept the following request parameters:
- `x-amz-object-lock-mode` (only Compliance is supported initially)
- `x-amz-object-lock-retain-until-date`

Storj has a unique object level TTL. Any request that has both a TTL and a retention period will be rejected to prevent TTL's from conflicting with object lock retention periods. | +| DeleteBucket | Deletes the specified bucket. | Forced deletion of a bucket with locked objects will be prevented. | +| DeleteObject | Removes an object from a bucket. | Deletion of an object with a retention set will be prevented. | + +In addition to the new and updated actions supported above, we have a follow on roadmap item to implement the remaining scope of S3 Compatible Lock, mainly the addition of Governance Mode and Legal hold. These additional actions are outlined in the roadmap item here: https://github.com/storj/roadmap/issues/98 \ No newline at end of file diff --git a/app/dcs/third-party-tools/veeam/page.md b/app/dcs/third-party-tools/veeam/page.md index e2c54c0f5..715f73964 100644 --- a/app/dcs/third-party-tools/veeam/page.md +++ b/app/dcs/third-party-tools/veeam/page.md @@ -115,6 +115,12 @@ Setting a value higher than 64 can increase throughput backing up (offloading) t #### Specify the bucket settings +{% callout type="info" %} +**Information regarding Object Lock** + +S3 Compatible Object Lock is currently in development. For more information please refer to [](docId:gjrGzPNnhpYrAGTTAUaj). +{% /callout %} + 1. From the **Bucket** drop-down list, select the "veeam" bucket created earlier. 1. In the **Select Folder** field, select **Browse** and find the cloud folder in your "veeam" bucket to map your object storage repository, if it already exists. If not, you can select **New Folder** to make a new one.