Mc: `mc config host add`には、資格情報の確認をスキップするオプションがあります。

作成日 2018年03月27日  ·  6コメント  ·  ソース: minio/mc

期待される動作

mc config host addは、資格情報の確認をスキップするオプションがあります。

実際の動作

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.

動作を再現する手順

これが私のs3iamポリシーです:

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

古いバージョンのmcでは、クレデンシャルを追加したときに検証されません。
そして、私は自分のs3アクセスキーに非常に厳格な許可を与えています。 だからそれはこのようになります:

アクセスキーはバケット名をリストできません。

2018-03-27 at 11 48 am

mcバージョン

  • バージョン:2018-03-25T01:22:22Z
    リリースタグ:RELEASE.2018-03-25T01-22-22Z
    コミットID:da5c19848d1e82a24eddb453b01e83d4a0660de4

システムインフォメーション

macOS、Ubuntu16.04でテスト済み

not our bug

最も参考になるコメント

--api s3v4直接指定することで可能であり、検証呼び出しパスを呼び出さないでください。

全てのコメント6件

--api s3v4直接指定することで可能であり、検証呼び出しパスを呼び出さないでください。

@ tru2dagame回答

(https://docs.minio.io/docs/minio-client-complete-guide)がデフォルトとしてs3v4を指定しているため、答えは少し混乱します。 --apiオプションを使用すると、明示的に機能しました(macos mcバージョン2018-03-25T01)。 オプションがないと、ここで報告されているのと同じエラーが表示されます。

@rbettsオプション--apiが指定されている場合、資格情報の検証はスキップされます。 オプションを指定しない場合、それはあなたの場合に失敗している検証を行います。 ドキュメントにオプションを追加することを検討します

--api s3v4パラメータなしでmcが機能するために必要な正確な認証は何ですか? 以下にs3ユーザー認証を与えますが、それでも機能しません。

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

このようなコマンドを使用すると、以下のエラーメッセージが表示されます。

$ 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

そして、 --api s3v4パラメータを追加すると、すべてが正常に機能します。

--api s3v4を直接指定することで可能であり、検証呼び出しパスを呼び出さないでください。

これは私のために働いた。 しかし、裁判なしで、またはこの問題にアクセスせずに理解することは非常に混乱し、理解することは不可能です。

mc config host addは、 --api引数の近くに、アクティブなプロービングを妨げると説明することができます。

また、 --debug出力*なし*を追加すると、コマンドは1分以上空の目で私を見るだけです。:/

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

ramosisw picture ramosisw  ·  4コメント

silvernode picture silvernode  ·  8コメント

deekoder picture deekoder  ·  13コメント

z0rc picture z0rc  ·  7コメント

lavvy picture lavvy  ·  15コメント