Попытка создать sonatype-nexus-community / nexus-blobstore-google-cloud, но не может быть успешной без роли владельца проекта в GCP.
Если я все правильно понимаю, роли IAM Storage Admin должно быть достаточно, по крайней мере, согласно документации:
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: Отсутствует или недостаточно разрешений. * 1014. *
В деталях, интеграционный тест создает хранилище BLOB-объектов, которое пытается удалить, а не восстанавливать его, используя два различных метода:
- def "undelete успешно делает BLOB-объект доступным"
- def "undelete ничего не делает, когда выполняется пробный запуск"
Вот тут и начинается проблема. При удалении выполнение не выполняется:
assert blobStore.delete (blob.id, 'testing')
Другой вопрос, как восстановить что-то в Google Storage, которое не поддерживает восстановление, а только управление версиями.
_
Вот что говорит документация о разрешениях:
Разрешения Google Cloud Storage
Далее вам нужно будет создать учетную запись с соответствующими разрешениями.
Из предопределенных ролей учетной записи администратор хранилища предоставит плагину для> создания любых необходимых вам облачных хранилищ Google и администрирования всех объектов в нем, но у него также будет доступ для управления любыми другими хранилищами облачного хранилища Google, связанными с проект.
Если вы используете пользовательские роли, учетной записи потребуется:
- (обязательно) storage.objects. *
- (обязательно) storage.buckets.get
- или 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 o.s.n.b.g.i.GoogleCloudBlobStore - Запись большого двоичного объекта 2e22e0e9-1fef-4620-a66e-d672b75ef924 в content / vol-18 / chap-33 / 2e22e0e9-1fef-4620.eb6669b966
15: 27: 24.430 [main] DEBUG o.s.n.b.g.i.GoogleCloudBlobStore - Мягкое удаление BLOB-объектов 2e22e0e9-1fef-4620-a66e-d672b75ef924
в
org.sonatype.nexus.blobstore.gcloud.internal.GoogleCloudBlobStoreIT.undelete успешно делает BLOB-объект доступным (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)
Не могли бы вы помочь мне, если я что-то упущу?