#google-cloud-platform #google-cloud-storage #google-iam
# #google-облачная платформа #google-облачное хранилище #google-iam
Вопрос:
У меня есть ведро с каким-то предметом внутри него.
gsutil acl ch -u AllUsers:R gs://object-path
Я получаю следующую ошибку
Please ensure you have OWNER-role access to this resource.
Я становлюсь владельцем объекта, когда я нажимаю на три точки, чтобы проверить, а также,
Когда я бегу
gsutil acl get gs://object-path
Я получаю
{"email":"ci-tool-access@project-name.iam.gserviceaccount.com",
"entity":"ci-tool-access@project-name.iam.gserviceaccount.com",
"role":"OWNER"
}
Мои разрешения IAM для всего проекта, а не только для ресурсов облачного хранилища, устанавливаются в качестве владельца просто для повторения. Выполняется
gsutil acl get gs://bucket-path
дает мне это
[
{
"entity": "project-owners.....",
"projectTeam": {
"projectNumber": "...",
"team": "owners"
},
"role": "OWNER"
}
]
Выполняется gcloud projects get-iam-policy <PROJECT_ID>
вывод:
- members:- serviceAccount:ci-tool-access@project-name.iam.gserviceaccount.com
role: roles/owner
и gcloud auth list
ACTIVE ACCOUNT
* ci-tool-access@project-name.iam.gserviceaccount.com
Это не дает мне покоя, есть какие-нибудь идеи, что может происходить, что мешает мне изменить ACL на объекте? Для унифицированных разрешений корзины установлено значение false, поэтому у меня должен быть детальный доступ к каждому объекту
Комментарии:
1. Для команды
gsutil acl get gs://object-path
, где вывод показывает, что идентификатор, которыйgsutil
используется, имеет ВЛАДЕЛЬЦА? Какое удостоверениеgsutil
используется? Учетная запись пользователя или службы? У этого удостоверения нет ВЛАДЕЛЬЦА.2. gsutil использует учетную запись, авторизованную в gcloud sdk. я получаю следующий вывод
{ "email": "ci-tool-access@project-name.iam.gserviceaccount.com", "entity": "ci-tool-access@project-name.iam.gserviceaccount.com", "role": "OWNER" }
3. Покажите команду, которая генерирует этот вывод. Вы хотите просмотреть выходные данные
gcloud projects get-iam-policy <PROJECT_ID>
. Это определяет роли, назначенные идентификатору для проекта.4. Сообщение об ошибке сообщает вам, что идентификатор, который вы используете, не имеет ВЛАДЕЛЬЦА. Дважды проверьте идентификатор, который использует gsutil. Что
gcloud auth list
показывает? Посмотрите наYOUR_HOMEDIR/.boto
файл. Просмотрите раздел [Учетные данные] — что настроено? Отредактируйте свой вопрос с подробностями из ваших комментариев.5. Там должен быть
.boto
файл. При условии, что вы не настроили авторизацию в файле .boto`, тогдаgcloud
используются учетные данные. Используете ли вы текущую версию инструментов?gcloud components update
в приглашении с повышенными правами (Windows). Может быть , тебе стоит начать все сначалаgcloud init
.