Роли ICP в GCP для sonatype-nexus-community/nexus-blobstore-google-cloud

Попытка создать sonatype-nexus-community/nexus-blobstore-google-cloud, но не может быть успешной без роли владельца проекта в GCP.

Если я все правильно понимаю, роль администратора IAM хранилища должна быть достаточной, по крайней мере, согласно документации:

https://github.com/sonatype-nexus-community/nexus-blobstore-google-cloud

Также пробовал Storage Admin + Service Account User + Service Token Creator, но также не смог добиться успеха.

Интеграционный тест не пройден с сообщением:

org.sonatype.nexus.blobstore.api.BlobStoreException: BlobId: e0eb4ae2-f425-4598-aa42-fc03fb2e53b2, com.google.cloud.datastore.DatastoreException: отсутствует или недостаточно разрешений.

Подробно, интеграционный тест создает хранилище BLOB-объектов, которое пытается удалить, а затем удалить его, используя два разных метода:

  • def "undelete успешно делает BLOB-объект доступным"
  • def "undelete ничего не делает, когда пробный запуск истина"

Это где проблема начинается. Выполнение не удаляется при удалении:

assert blobStore.delete (blob.id, "тестирование")

Другой вопрос, как восстановить что-то в Google Storage, которое не поддерживает восстановление, а только управление версиями.

_

Вот что говорит документация о разрешениях:

Разрешения Google Cloud Storage

Далее вам нужно будет создать учетную запись с соответствующими разрешениями.

Из предопределенных ролей учетной записи администратор хранилища предоставит плагин для> создания любых необходимых вам облачных хранилищ Google и администрирования всех объектов в нем, но у него также будет доступ для управления любыми другими хранилищами облачного хранилища Google, связанными с проектом.

Если вы используете пользовательские роли, учетная запись должна будет:

  1. (обязательно) storage.objects.*
  2. (обязательно) storage.buckets.get
  3. или storage.buckets.*.

Роль IAM администратора хранилища охватывает как storage.objects.*, Так и storage.buckets. *, Поэтому не уверены, что является причиной проблемы.

Рекомендации:

https://cloud.google.com/storage/docs/access-control/iam-roles https://cloud.google.com/storage/docs/access-control/iam-json

Тест интеграции не пройден при попытке удаления хранилища больших двоичных объектов:

15: 27: 10.042 [main] DEBUG osnbgiGoogleCloudBlobStore - запись большого двоичного объекта 2e22e0e9-1fef-4620-a66e-d672b75ef924 в content/vol-18/chap-33/2e22e0e9-1fef-4620-a66e-d672b30ef: 2424: 24: 24: 24 main] DEBUG osnbgiGoogleCloudBlobStore - Мягкое удаление BLOB-объектов 2e22e0e9-1fef-4620-a66e-d672b75ef924

в

org.sonatype.nexus.blobstore.gcloud.internal.GoogleCloudBlobStoreIT.undelete успешно делает доступным большой двоичный объект (GoogleCloudBlobStoreIT.groovy:164)

Вызывается: org.sonatype.nexus.blobstore.api.BlobStoreException: BlobId: 2e22e0e9-1fef-4620-a66e-d672b75ef924, com.google.cloud.datastore.DatastoreException: отсутствуют или недостаточные разрешения., Причина: отсутствуют или отсутствуют разрешения.... 1 больше

в org.sonatype.nexus.blobstore.gcloud.internal.DeletedBlobIndex.add(DeletedBlobIndex.java:55)

в org.sonatype.nexus.blobstore.gcloud.internal.GoogleCloudBlobStore.delete(GoogleCloudBlobStore.java:276)

Не могли бы вы помочь мне, если я что-то упущу?

1 ответ

Необходимо создать базу данных хранилища данных и добавить роль владельца хранилища данных помимо администратора хранилища, пользователя учетной записислужбы и создателя маркера учетной записи службы.

Другие вопросы по тегам