Доступ к списку базы данных Google Cloud Spanner с использованием служебной учетной записи

Мы создали экземпляр облачного ключа и базы данных на облачной консоли Google.

Следующий фрагмент кода, который мы выполняем.

def getDatabaseList(self,):
    try:
        parent = "projects/"+self._PROJECT_NAME + "/instances/" + self._INSTANCE_NAME
        response = self.service.projects().instances().databases().list(parent=parent).execute()
    except Exception, e:
        logging.info("Exception while getDatabaseList %s", e)
        return False
    return response

В приведенном выше фрагменте кода self.service является объектом сборки библиотеки googleapiclinet.

Мы получаем исключение ниже при выполнении приведенного выше фрагмента кода с использованием идентификатора учетной записи службы.

Exception while getDatabaseList <HttpError 403 when requesting https://spanner.googleapis.com/v1/projects/<projectName>/instances/<instanceName>/databases?alt=json&key=<APIKEY>

returned "Resource projects/<projectName>/instances/<instanceName> is missing IAM permission: spanner.databases.list.">

Справочный документ Cloud Spanner IAM


person Sagar Kanabar    schedule 21.09.2017    source источник


Ответы (1)


Немного поздно, но, надеюсь, это поможет: правильно ли вы указали путь к json-файлу вашей служебной учетной записи? Я потратил полдня, играя с разрешениями, пока не понял, что просто пропустил ключ env.

set export GOOGLE_APPLICATION_CREDENTIALS=/path/to/your/service_account/key.json
person ACimander    schedule 05.10.2017