Mc: `mc config host add` puede tener una opción para omitir la verificación de credenciales.

Creado en 27 mar. 2018  ·  6Comentarios  ·  Fuente: minio/mc

Comportamiento esperado

mc config host add puede tener una opción para omitir la verificación de credenciales.

Comportamiento real

mc config host add s3-somebucket https://s3.cn-north-1.amazonaws.com.cn XXXXX XXXXXXXXXX S3v4
mc: <ERROR> Unable to initialize new config from the provided credentials. The specified bucket does not exist.

Pasos para reproducir el comportamiento

Aquí están mis políticas de s3 iam:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt1506154426000",
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws-cn:s3:::somebucket/*"
            ]
        },
        {
            "Sid": "Stmt1506154452000",
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws-cn:s3:::somebucket"
            ]
        }
    ]
}

En la versión anterior de mc, no se verificará cuando agregué las credenciales.
Y doy un permiso muy estricto a mi clave de acceso s3. Entonces hace así:

La clave de acceso no puede incluir el nombre del depósito.

2018-03-27 at 11 48 am

versión mc

  • Versión: 2018-03-25T01: 22: 22Z
    Etiqueta de publicación: RELEASE.2018-03-25T01-22-22Z
    Id de compromiso: da5c19848d1e82a24eddb453b01e83d4a0660de4

Información del sistema

Probado en macOS, Ubuntu 16.04

not our bug

Comentario más útil

Puede proporcionar --api s3v4 directamente y no debería llamar a la ruta de la llamada de validación.

Todos 6 comentarios

Puede proporcionar --api s3v4 directamente y no debería llamar a la ruta de la llamada de validación.

@ tru2dagame Cerrando este problema como respondido. No dude en volver a abrir el problema si cree lo contrario.

La respuesta es un poco confusa ya que (https://docs.minio.io/docs/minio-client-complete-guide) especifica s3v4 como valor predeterminado. El uso de la opción --api funcionó explícitamente para mí (macos mc versión 2018-03-25T01). Sin la opción, veo el mismo error que se informa aquí.

@rbetts si se proporciona la opción --api , se omite la verificación de credenciales. Si no especifica la opción, hará la verificación que está fallando en su caso. Buscará agregar la opción en la documentación.

¿Qué autorización exacta necesita mc para funcionar sin el parámetro --api s3v4 ? Doy la autorización de usuario de s3 a continuación, pero todavía no funciona.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws-cn:s3:::<my-bucket>"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws-cn:s3:::<my-bucket>/*"
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": "s3:GetBucketLocation",
            "Resource": "arn:aws-cn:s3:::<my-bucket>"
        },
        {
            "Sid": "VisualEditor3",
            "Effect": "Allow",
            "Action": "s3:ListAllMyBuckets",
            "Resource": "*"
        }
    ]
}

Usé el comando como este y recibí el siguiente mensaje de error:

$ docker run -it --entrypoint=/bin/sh minio/mc:RELEASE.2018-05-25T20-20-15Z
$ mc config host add s3 <endpoint> <key> <secret>; mc ls s3/<my-bucket>

mc: Configuration written to `/root/.mc/config.json`. Please update your access credentials.
mc: Successfully created `/root/.mc/share`.
mc: Initialized share uploads `/root/.mc/share/uploads.json` file.
mc: Initialized share downloads `/root/.mc/share/downloads.json` file.
mc: <ERROR> Unable to initialize new config from the provided credentials. The specified bucket does not exist.
mc: <ERROR> Unable to stat `<my-bucket>`. Requested file `<my-bucket>` not found

Y si agrego el parámetro --api s3v4 , todo funciona bien.

Puede proporcionar --api s3v4 directamente y no debería llamar a la ruta de la llamada de validación.

Esto funcionó para mí. Pero es extremadamente confuso e imposible de entender sin juicio o sin visitar este número.

mc config host add puede tener una explicación cerca del argumento --api , diciendo que evitaría el sondeo activo.

También agregando --debug salidas * nada *, el comando solo me mira con los ojos vacíos, por más de un minuto ..: /

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

philipkozeny picture philipkozeny  ·  9Comentarios

d5ve picture d5ve  ·  6Comentarios

sebschlue picture sebschlue  ·  12Comentarios

zllovesuki picture zllovesuki  ·  19Comentarios

silvernode picture silvernode  ·  8Comentarios