mc config host add
peut avoir une option pour ignorer la vérification des informations d'identification.
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.
Voici mes politiques 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"
]
}
]
}
Dans l'ancienne version de mc, il ne vérifie pas lorsque j'ai ajouté les informations d'identification.
Et je donne une permission très stricte à ma clé d'accès s3. Donc ça fait comme ça:
La clé d'accès ne peut pas répertorier le nom du compartiment.
Testé sur macOS, Ubuntu 16.04
Vous pouvez en fournissant le --api s3v4
directement et il ne devrait pas appeler le chemin de l'appel de validation.
@ tru2dagame Clôture de ce problème avec réponse. N'hésitez pas à rouvrir le problème si vous pensez le contraire.
La réponse est un peu déroutante car (https://docs.minio.io/docs/minio-client-complete-guide) spécifie s3v4
par défaut. L'utilisation de l'option --api
explicitement fonctionné pour moi (macos mc version 2018-03-25T01). Sans l'option, je vois la même erreur que celle signalée ici.
@rbetts si l'option --api
est fournie, la vérification des identifiants est ignorée. Si vous ne spécifiez pas l'option, il effectuera la vérification qui échoue dans votre cas. Examinera l'ajout de l'option dans la documentation
De quelle autorisation exacte mc
besoin pour fonctionner sans le paramètre --api s3v4
? Je donne l'autorisation d'utilisateur s3 ci-dessous mais cela ne fonctionne toujours pas.
{
"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": "*"
}
]
}
J'ai utilisé la commande comme celle-ci et j'ai reçu un message d'erreur ci-dessous:
$ 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
Et si j'ajoute le paramètre --api s3v4
, tout fonctionne bien.
Vous pouvez en fournissant le --api s3v4 directement et il ne devrait pas appeler le chemin de l'appel de validation.
Cela a fonctionné pour moi. Mais c'est extrêmement déroutant et impossible à comprendre sans essai ou sans visiter ce numéro.
mc config host add
peut avoir une explication près --api
argument
En ajoutant également --debug
sorties * rien *, la commande me regarde simplement avec les yeux vides, pendant plus d'une minute ..: /
Commentaire le plus utile
Vous pouvez en fournissant le
--api s3v4
directement et il ne devrait pas appeler le chemin de l'appel de validation.