Роли ICP в GCP для sonatype-nexus-community / nexus-blobstore-google-cloud - PullRequest
0 голосов
/ 14 января 2019

Попытка создать 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, связанными с проект.

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

  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 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)

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

1 Ответ

0 голосов
/ 25 января 2019

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

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