Mc: `mc config host add` pode ter uma opção para pular a verificação de credenciais.

Criado em 27 mar. 2018  ·  6Comentários  ·  Fonte: minio/mc

Comportamento esperado

mc config host add pode ter a opção de ignorar a verificação de credenciais.

Comportamento 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.

Passos para reproduzir o comportamento

Aqui estão as minhas políticas do 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"
            ]
        }
    ]
}

Na versão antiga do mc, ele não verifica quando adiciono as credenciais.
E eu dou uma permissão muito estrita para minha chave de acesso s3. Então é assim:

A chave de acesso não pode listar o nome do intervalo.

2018-03-27 at 11 48 am

versão MC

  • Versão: 25-03-2018T01: 22: 22Z
    Tag de lançamento: RELEASE.2018-03-25T01-22-22Z
    ID de confirmação: da5c19848d1e82a24eddb453b01e83d4a0660de4

Informação do sistema

Testado em macOS, Ubuntu 16.04

not our bug

Comentários muito úteis

Você pode fornecer --api s3v4 diretamente e não deve chamar o caminho da chamada de validação.

Todos 6 comentários

Você pode fornecer --api s3v4 diretamente e não deve chamar o caminho da chamada de validação.

@ tru2dagame Fechando este problema conforme respondido. Sinta-se à vontade para reabrir o problema se você sentir o contrário.

A resposta é um pouco confusa, pois (https://docs.minio.io/docs/minio-client-complete-guide) especifica s3v4 como o padrão. Usar a opção --api explicitamente funcionou para mim (macos mc versão 2018-03-25T01). Sem a opção, vejo o mesmo erro relatado aqui.

@rbetts se a opção --api é fornecida, a verificação de credencial é ignorada. Se você não especificar a opção, ele fará a verificação que está falhando no seu caso. Analisará como adicionar a opção na documentação

De que autorização exata mc precisa para funcionar sem o parâmetro --api s3v4 ? Eu dou a autorização de usuário s3 abaixo, mas ainda não está funcionando.

{
    "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": "*"
        }
    ]
}

Usei o comando assim e recebi a mensagem de erro abaixo:

$ 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

E se eu adicionar o parâmetro --api s3v4 tudo funcionará bem.

Você pode fornecer o --api s3v4 diretamente e ele não deve chamar o caminho da chamada de validação.

Isso funcionou para mim. Mas é extremamente confuso e impossível de entender sem julgamento ou sem visitar este assunto.

mc config host add pode ter uma explicação perto de --api argumento, dizendo que impediria a sondagem ativa.

Adicionando também --debug outputs * nothing *, o comando apenas olha para mim com os olhos vazios, por mais de um minuto ..: /

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

i0x71 picture i0x71  ·  5Comentários

deekoder picture deekoder  ·  13Comentários

nikwen picture nikwen  ·  15Comentários

sebschlue picture sebschlue  ·  12Comentários

zllovesuki picture zllovesuki  ·  19Comentários