Differences between `rc` and `mc` for the `anonymous set` command
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- rust
- Área
- authorization, cli, security
Línea de trabajo
Comienza con los puntos de entrada rc anonymous set y rc anonymous set-json, junto con la advertencia sobre reemplazar la política del bucket. Compara las políticas generadas por comandos secuenciales para ambos prefijos y, después, verifica que las declaraciones existentes permanezcan intactas y que la política resultante conserve el acceso a ambas rutas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Our team used a workflow similar to this for MinIO mc:
mc alias set local http://localhost:9001 root rootroot
mc mb local/my-bucket
mc anonymous set public "local/my-bucket/persons/music/**"
mc anonymous set public "local/my-bucket/profiles/images/**"
mc anonymous get-json local/my-bucket
Result json policy:
{
"Statement": [
{
"Action": [
"s3:GetBucketLocation",
"s3:ListBucketMultipartUploads"
],
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Resource": [
"arn:aws:s3:::my-bucket"
]
},
{
"Action": [
"s3:ListBucket"
],
"Condition": {
"StringEquals": {
"s3:prefix": [
"persons/music/**",
"profiles/images/**"
]
}
},
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Resource": [
"arn:aws:s3:::my-bucket"
]
},
{
"Action": [
"s3:AbortMultipartUpload",
"s3:DeleteObject",
"s3:GetObject",
"s3:ListMultipartUploadParts",
"s3:PutObject"
],
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Resource": [
"arn:aws:s3:::my-bucket/persons/music/***",
"arn:aws:s3:::my-bucket/profiles/images/***"
]
}
],
"Version": "2012-10-17"
}
After MinIO free Docker images deletion, we decided to switch to RustFS using rc:
rc alias set local http://localhost:9000 root rootroot
rc mb local/my-bucket
rc anonymous set public "local/my-bucket/persons/music"
rc anonymous set public "local/my-bucket/profiles/images"
rc anonymous get-json local/my-bucket
And we get this json policy:
{
"Statement": [
{
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Principal": "*",
"Resource": "arn:aws:s3:::my-bucket/profiles/images/*",
"Sid": "AnonymousRead1"
},
{
"Action": "s3:ListBucket",
"Condition": {
"StringLike": {
"s3:prefix": [
"profiles/images",
"profiles/images/*",
"profiles/images*"
]
}
},
"Effect": "Allow",
"Principal": "*",
"Resource": "arn:aws:s3:::my-bucket",
"Sid": "AnonymousList2"
},
{
"Action": [
"s3:PutObject"
],
"Effect": "Allow",
"Principal": "*",
"Resource": "arn:aws:s3:::my-bucket/profiles/images/*",
"Sid": "AnonymousWrite3"
}
],
"Version": "2012-10-17"
}
(Public access to persons/music has been lost)
This slightly disrupted our transition from mc to rc; we had to add a json file and use anonymous set-json command instead.
Is it possible to update the rc so that it extends the existing policy for the bucket rather than overwriting it completely? I noticed there’s a warning message about this when using the cli (Warning: setting 'local/my-bucket/profiles/images' will replace the entire bucket policy for 'my-bucket', which may remove unrelated statements). Is this restriction really necessary?
- Lenguaje dominante
- Rust
- Estrellas
- 152
- Forks
- 21
- Merge medio
- 1 d 4 h
- PR fusionados (30 d)
- 23
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de rustfs/cli
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 82/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Todos los issues de rustfs/cli
Issues similares
-
bug github_actions
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
registrystack/registry-stack#1393 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
longbridge/gpui-kit#3223 ·
-
bug engine
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
rocky-data/rocky#2181 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
oasisprotocol/oasis-sdk#2523 ·
-
[indexer] [QA] Add a focused test for the new NonRetryableError / assertSocketAlive() behavior. Abiertobot:ai-assisted component:indexer QA-roadmap status:untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
midnightntwrk/midnight-indexer#1557 ·