Работа с политиками безопасности в Compute Engine API в Python

Я хочу использовать политики безопасности API для облачной платформы Google в Linux в скрипте, написанном на Python.

Сделать это:

Я установил google-api-python-client:

pip install google-api-python-client

Я сгенерировал и загрузил из GCP эту учетную информацию (закрытый ключ) в формате JSON и экспортировал путь к этому файлу в переменной среды:

export GOOGLE_APPLICATION_CREDENTIALS='[PATH]’

Теперь я сомневаюсь, как правильно использовать google-api-python-client библиотеку для достижения своей цели.

Использование метода addRule в соответствии с документацией я пишу следующий сценарий (конечно, с допустимыми значениями для ключей project и securityPolicy), но когда я его выполняю, хотя интерпретатор не возвращает никаких ошибок, но сценарий не дает ожидаемый эффект:

from googleapiclient import discovery compute_service = discovery.build(‘compute’, ‘v1′) security_policies = compute_service.securityPolicies() security_policies.addRule( project=’existed_project_name’, securityPolicy=’existed_security_policy_name’, body={ ‘kind’: ‘compute#securityPolicyRule’, ‘priority’: 303, ‘action’: ‘deny(403)’, ‘preview’: False, ‘match’: { ‘config’: { ‘srcIpRanges’: [ ‘192.0.2.0/24’, ‘198.51.100.0/24’, ‘203.0.113.0/24’ ] }, ‘versionedExpr’: ‘SRC_IPS_V1’ } } )

Итак, у меня есть следующие вопросы:

1. Что мне следует улучшить или изменить?

2. Правильно ли мой подход к аутентификации?

Любые идеи?

Можете ли вы описать, что произошло, когда вы выполнили сценарий? Что за неожиданное поведение? Я могу выполнить дополнительные действия по устранению неполадок, а также, если это весь сценарий, я хотел бы воспроизвести поведение. Спасибо   —  person simhumileco    schedule 20.06.2019

Спасибо за ваш ответ и интерес к @SamuelN. Я бы хотел добавить новое правило с этими примерами IP-адресов для Cloud Armor в производственной среде. К сожалению, ничего подобного не происходит, хотя скрипт не возвращает ошибок. Чтобы воспроизвести мою реальную ситуацию, вы можете просто выполнить приведенный выше фрагмент сценария с реальными existed_project_name и existed_security_policy_name (которые я не вставлял здесь по очевидным причинам) и заметить, что сценарий не работает. Вам нужны от меня дополнительные сведения о @SamuelN? Если да, смело спрашивайте. Постараюсь на все ответить.   —  person simhumileco    schedule 21.06.2019

Часть аутентификации должна быть в порядке. Чтобы быть уверенным, можете ли вы попробовать Подтвердить аутентификацию [1]? [1]: cloud.google.com/docs/authentication/   —  person simhumileco    schedule 11.07.2019

Источник: ledsshop.ru

Стиль жизни - Здоровье!