mirror of
https://github.com/minio/minio.git
synced 2025-03-06 08:40:08 -05:00
Fix typos (#20970)
This commit is contained in:
parent
526053339b
commit
bc4008ced4
@ -8,7 +8,7 @@ To replicate objects in a bucket to a destination bucket on a target site either
|
|||||||
|
|
||||||
## Highlights
|
## Highlights
|
||||||
|
|
||||||
- Supports source and destination buckets to have the same name unlike AWS S3, addresses variety of usecases such as *Splunk*, *Veeam* site to site DR.
|
- Supports source and destination buckets to have the same name unlike AWS S3, addresses variety of use-cases such as *Splunk*, *Veeam* site to site DR.
|
||||||
- Supports object locking/retention across source and destination buckets natively out of the box, unlike AWS S3.
|
- Supports object locking/retention across source and destination buckets natively out of the box, unlike AWS S3.
|
||||||
- Simpler implementation than [AWS S3 Bucket Replication Config](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html) with requirements such as IAM Role, AccessControlTranslation, Metrics and SourceSelectionCriteria are not needed with MinIO.
|
- Simpler implementation than [AWS S3 Bucket Replication Config](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html) with requirements such as IAM Role, AccessControlTranslation, Metrics and SourceSelectionCriteria are not needed with MinIO.
|
||||||
- Active-Active replication
|
- Active-Active replication
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# Object Lock and Immutablity Guide [](https://slack.min.io)
|
# Object Lock and Immutability Guide [](https://slack.min.io)
|
||||||
|
|
||||||
MinIO server allows WORM for specific objects or by configuring a bucket with default object lock configuration that applies default retention mode and retention duration to all objects. This makes objects in the bucket immutable i.e. delete of the version are not allowed until an expiry specified in the bucket's object lock configuration or object retention.
|
MinIO server allows WORM for specific objects or by configuring a bucket with default object lock configuration that applies default retention mode and retention duration to all objects. This makes objects in the bucket immutable i.e. delete of the version are not allowed until an expiry specified in the bucket's object lock configuration or object retention.
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ Duplicate delete markers are not created on MinIO buckets with versioning, if an
|
|||||||
|
|
||||||
### Motivation
|
### Motivation
|
||||||
|
|
||||||
**PLEASE READ: This feature is meant for advanced usecases only where the setup is using bucket versioning or with replicated buckets, use this feature to optimize versioning behavior for some specific applications. MinIO experts will evaluate and guide on the benefits for your application, please reach out to us on <https://subnet.min.io>.**
|
**PLEASE READ: This feature is meant for advanced use-cases only where the setup is using bucket versioning or with replicated buckets, use this feature to optimize versioning behavior for some specific applications. MinIO experts will evaluate and guide on the benefits for your application, please reach out to us on <https://subnet.min.io>.**
|
||||||
|
|
||||||
Spark/Hadoop workloads which use Hadoop MR Committer v1/v2 algorithm upload objects to a temporary prefix in a bucket. These objects are 'renamed' to a different prefix on Job commit. Object storage admins are forced to configure separate ILM policies to expire these objects and their versions to reclaim space.
|
Spark/Hadoop workloads which use Hadoop MR Committer v1/v2 algorithm upload objects to a temporary prefix in a bucket. These objects are 'renamed' to a different prefix on Job commit. Object storage admins are forced to configure separate ILM policies to expire these objects and their versions to reclaim space.
|
||||||
|
|
||||||
@ -212,6 +212,6 @@ public class IsVersioningEnabled {
|
|||||||
## Explore Further
|
## Explore Further
|
||||||
|
|
||||||
- [Use `minio-java` SDK with MinIO Server](https://min.io/docs/minio/linux/developers/java/minio-java.html)
|
- [Use `minio-java` SDK with MinIO Server](https://min.io/docs/minio/linux/developers/java/minio-java.html)
|
||||||
- [Object Lock and Immutablity Guide](https://min.io/docs/minio/linux/administration/object-management/object-retention.html)
|
- [Object Lock and Immutability Guide](https://min.io/docs/minio/linux/administration/object-management/object-retention.html)
|
||||||
- [MinIO Admin Complete Guide](https://min.io/docs/minio/linux/reference/minio-mc-admin.html)
|
- [MinIO Admin Complete Guide](https://min.io/docs/minio/linux/reference/minio-mc-admin.html)
|
||||||
- [The MinIO documentation website](https://min.io/docs/minio/linux/index.html)
|
- [The MinIO documentation website](https://min.io/docs/minio/linux/index.html)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# KMS Guide [](https://slack.min.io)
|
# KMS Guide [](https://slack.min.io)
|
||||||
|
|
||||||
MinIO uses a key-management-system (KMS) to support SSE-S3. If a client requests SSE-S3, or auto-encryption is enabled, the MinIO server encrypts each object with an unique object key which is protected by a master key managed by the KMS.
|
MinIO uses a key-management-system (KMS) to support SSE-S3. If a client requests SSE-S3, or auto-encryption is enabled, the MinIO server encrypts each object with a unique object key which is protected by a master key managed by the KMS.
|
||||||
|
|
||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ The field of `getObjectContext` means the input and output details for connectio
|
|||||||
|
|
||||||
- `outputToken` – A token added to the response headers when the Lambda function returns the transformed object. This is used by MinIO to verify the incoming response validity.
|
- `outputToken` – A token added to the response headers when the Lambda function returns the transformed object. This is used by MinIO to verify the incoming response validity.
|
||||||
|
|
||||||
Lets start the lamdba handler.
|
Lets start the lambda handler.
|
||||||
|
|
||||||
```
|
```
|
||||||
python lambda_handler.py
|
python lambda_handler.py
|
||||||
|
@ -33,7 +33,7 @@ Instead of a metrics scrape, you can list the metrics that would be returned by
|
|||||||
|
|
||||||
To set the output format, set the request `Content-Type` to the desired format. Accepted values are `application/json` for JSON output or `text/plain` for a Markdown-formatted table. The default is Markdown.
|
To set the output format, set the request `Content-Type` to the desired format. Accepted values are `application/json` for JSON output or `text/plain` for a Markdown-formatted table. The default is Markdown.
|
||||||
|
|
||||||
For example, the the following returns a list of all available bucket metrics:
|
For example, the following returns a list of all available bucket metrics:
|
||||||
```
|
```
|
||||||
/minio/metrics/v3/api/bucket?list
|
/minio/metrics/v3/api/bucket?list
|
||||||
```
|
```
|
||||||
|
@ -11,7 +11,7 @@ MinIO supports two different types of server-side encryption ([SSE](#sse)):
|
|||||||
|
|
||||||
#### Secret Keys
|
#### Secret Keys
|
||||||
|
|
||||||
The MinIO server uses an unique, randomly generated secret key per object also known as, Object Encryption Key ([OEK](#oek)). Neither the client-provided SSE-C key nor the KMS-managed key is directly used to en/decrypt an object. Instead, the OEK is stored as part of the object metadata next to the object in an encrypted form. To en/decrypt the OEK another secret key is needed also known as, Key Encryption Key ([KEK](#kek)).
|
The MinIO server uses a unique, randomly generated secret key per object also known as, Object Encryption Key ([OEK](#oek)). Neither the client-provided SSE-C key nor the KMS-managed key is directly used to en/decrypt an object. Instead, the OEK is stored as part of the object metadata next to the object in an encrypted form. To en/decrypt the OEK another secret key is needed also known as, Key Encryption Key ([KEK](#kek)).
|
||||||
|
|
||||||
The MinIO server runs a key-derivation algorithm to generate the KEK using a pseudo-random function ([PRF](#prf)):
|
The MinIO server runs a key-derivation algorithm to generate the KEK using a pseudo-random function ([PRF](#prf)):
|
||||||
`KEK := PRF(EK, IV, context_values)` where:
|
`KEK := PRF(EK, IV, context_values)` where:
|
||||||
@ -28,7 +28,7 @@ To summarize for any encrypted object there exists (at least) three different ke
|
|||||||
|
|
||||||
#### Content Encryption
|
#### Content Encryption
|
||||||
|
|
||||||
The MinIO server uses an authenticated encryption scheme ([AEAD](#aead)) to en/decrypt and authenticate the object content. The AEAD is combined with some state to build a *Secure Channel*. A *Secure Channel* is a cryptographic construction that ensures confidentiality and integrity of the processed data. In particular the *Secure Channel* splits the plaintext content into fixed size chunks and en/decrypts each chunk separately using an unique key-nonce combination.
|
The MinIO server uses an authenticated encryption scheme ([AEAD](#aead)) to en/decrypt and authenticate the object content. The AEAD is combined with some state to build a *Secure Channel*. A *Secure Channel* is a cryptographic construction that ensures confidentiality and integrity of the processed data. In particular the *Secure Channel* splits the plaintext content into fixed size chunks and en/decrypts each chunk separately using a unique key-nonce combination.
|
||||||
|
|
||||||
##### Figure 1 - Secure Channel construction
|
##### Figure 1 - Secure Channel construction
|
||||||
|
|
||||||
@ -42,7 +42,7 @@ plaintext := chunk_0 || chunk_1 || chunk_2
|
|||||||
ciphertext := sealed_chunk_0 || sealed_chunk_1 || sealed_chunk_2 || ...
|
ciphertext := sealed_chunk_0 || sealed_chunk_1 || sealed_chunk_2 || ...
|
||||||
```
|
```
|
||||||
|
|
||||||
In case of a S3 multi-part operation each part is en/decrypted with the scheme shown in Figure 1. However, for each part an unique secret key is derived from the OEK and the part number using a PRF. So in case of multi-part not the OEK but the output of `PRF(OEK, part_id)` is used as secret key.
|
In case of a S3 multi-part operation each part is en/decrypted with the scheme shown in Figure 1. However, for each part a unique secret key is derived from the OEK and the part number using a PRF. So in case of multi-part not the OEK but the output of `PRF(OEK, part_id)` is used as secret key.
|
||||||
|
|
||||||
#### Cryptographic Primitives
|
#### Cryptographic Primitives
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user