Mc: `mc config host add` kann eine Option zum Überspringen der Überprüfung der Anmeldeinformationen haben.

Erstellt am 27. März 2018  ·  6Kommentare  ·  Quelle: minio/mc

Erwartetes Verhalten

mc config host add kann eine Option zum Überspringen der Überprüfung der Anmeldeinformationen haben.

Tatsächliches Verhalten

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.

Schritte zum Reproduzieren des Verhaltens

Hier sind meine s3 iam-Richtlinien:

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

In der alten Version von mc wird nicht überprüft, wann ich die Anmeldeinformationen hinzugefügt habe.
Und ich gebe meinem s3-Zugangsschlüssel eine sehr strenge Erlaubnis. Also gefällt es so:

Der Zugriffsschlüssel kann den Bucket-Namen nicht auflisten.

2018-03-27 at 11 48 am

mc version

  • Version: 2018-03-25T01: 22: 22Z
    Release-Tag: RELEASE.2018-03-25T01-22-22Z
    Commit-ID: da5c19848d1e82a24eddb453b01e83d4a0660de4

System Information

Getestet unter macOS, Ubuntu 16.04

not our bug

Hilfreichster Kommentar

Sie können dies tun, indem Sie --api s3v4 direkt angeben und der Validierungsaufrufpfad nicht aufrufen soll.

Alle 6 Kommentare

Sie können dies tun, indem Sie --api s3v4 direkt angeben und der Validierungsaufrufpfad nicht aufrufen soll.

@ tru2dagame Schließen dieses Problems als beantwortet. Wenn Sie sich anders fühlen, können Sie das Problem gerne erneut öffnen.

Die Antwort ist etwas verwirrend, da (https://docs.minio.io/docs/minio-client-complete-guide) standardmäßig s3v4 angibt. Die Verwendung der Option --api hat bei mir explizit funktioniert (macos mc version 2018-03-25T01). Ohne die Option sehe ich den gleichen Fehler wie hier gemeldet.

@rbetts Wenn die Option --api ist, wird die Überprüfung der Anmeldeinformationen übersprungen. Wenn Sie die Option nicht angeben, wird die Überprüfung durchgeführt, die in Ihrem Fall fehlschlägt. Wir werden uns mit dem Hinzufügen der Option in der Dokumentation befassen

Welche genaue Berechtigung benötigt mc , um ohne den Parameter --api s3v4 ? Ich gebe dem s3-Benutzer unten die Berechtigung, aber es funktioniert immer noch nicht.

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

Ich habe den Befehl wie folgt verwendet und unten eine Fehlermeldung erhalten:

$ 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

Und wenn ich den Parameter --api s3v4 hinzufüge, funktioniert alles einwandfrei.

Sie können das --api s3v4 direkt bereitstellen und es sollte den Validierungsaufrufpfad nicht aufrufen.

Das hat bei mir funktioniert. Aber es ist äußerst verwirrend und unmöglich, es ohne Gerichtsverfahren oder ohne Besuch dieses Themas zu verstehen.

mc config host add kann eine Erklärung in der Nähe des Arguments --api , die besagt, dass dies eine aktive Prüfung verhindern würde.

Der Befehl fügt auch --debug Ausgaben hinzu * nichts * und sieht mich nur mit leeren Augen länger als eine Minute an ..: /

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen