Вопросы

Работа с политиками безопасности в 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

Читать:
Npm / Yarn Не устанавливается должным образом и выдает проблемы

Спасибо за ваш ответ и интерес к @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

Похожие записи

Требуется добавить пользователя сразу во все командные проекты

admin

Изменение порядка столбцов в R

admin

Как получить байты целого числа в C?

admin

Могу ли я объявить переменную, строго типизированную как целое число, в Python, как я делаю это в Java?

admin

Расширение для Azure Devops и вывод

admin

Функция Typescript, принимающая общий параметр и массив строк

admin