Я создал учетную запись службы и назначил временную корзину роль разработчика потока данных, роль средства просмотра вычислений и роль администратора объекта хранения. Затем я создал еще одну группу с моей учетной записью администратора (которая имеет роль владельца проекта) с именем gs: // outputbucket. Наконец, я отправляю задание потока данных со следующим cmd:
export GOOGLE_APPLICATION_CREDENRTIALS=<path-to-credential>
TMPBUCKET=temporarybucket
OUTBUCKET=outputbucket
PROJECT=myprojectid
python -m apache_beam.examples.wordcount \
--input gs://dataflow-samples/shakespeare/kinglear.txt \
--output gs://$OUTBUCKET/wordcount/outputs \
--runner DataflowRunner \
--project $PROJECT \
--temp_location gs://$TMPBUCKET/tmp/
Аналогичным образом я создаю задание потока данных из существующего Cloud Pub / Sub в шаблон BigQuery. Он может записывать в любую таблицу в том же проекте без разрешения. Кто-нибудь может объяснить, как это могло быть возможно?
Кроме того, это потенциальная проблема безопасности в соответствии с Принципом минимальных привилегий Google ?