Publi c bucket требует, чтобы пользователь вошел в систему - PullRequest
0 голосов
/ 24 января 2020

У меня есть корзина GCP, которая предназначена для чтения всеми пользователями. Целью этого сегмента является размещение изображений для веб-сайта.

Я использую унифицированный доступ на уровне сегмента , и я предоставил allUsers и allAuthenticatedUsers доступ к сегменту.

Вот вывод gsutil iam get (некоторая информация отредактирована):

$ gsutil iam get gs://my-bucket
{
  "bindings": [
    {
      "members": [
        "user:admin@company.com"
      ],
      "role": "roles/storage.admin"
    },
    {
      "members": [
        "projectEditor:my-project",
        "projectOwner:my-project",
      ],
      "role": "roles/storage.legacyBucketOwner"
    },
    {
      "members": [
        "allAuthenticatedUsers",
        "allUsers",
        "projectViewer:my-project",
      ],
      "role": "roles/storage.legacyBucketReader"
    },
    {
      "members": [
        "user:admin@company.com"
      ],
      "role": "roles/storage.objectAdmin"
    },
    {
      "members": [
        "allAuthenticatedUsers",
        "allUsers",
      ],
      "role": "roles/storage.objectViewer"
    }
  ],
  "etag": "<redacted>"
}

Обратите внимание, что allUsers и allAuthenticatedUsers имеют роль roles/storage.objectViewer.

Однако, когда я пытаюсь получить доступ к одному из этих объектов, мне представляется страница входа. Затем я могу войти как любой пользователь и получить доступ к объекту. Это похоже на то, что GCP игнорирует директиву allUsers и использует allAuthenticatedUsers, но я не понимаю, почему он это делает.

Для доступа к объекту я использую URL, который выглядит следующим образом :

https://storage.cloud.google.com/bucket/path/to/file.png

1 Ответ

1 голос
/ 25 января 2020

Попробуйте использовать любой из приведенных ниже форматов для создания URL-адреса объекта в корзине для доступа без входа в систему

http(s)://storage.googleapis.com/<bucket>/<object>

http(s)://<bucket>.storage.googleapis.com/<object>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...