С помощью политики доступа можно задать ограничения для организации и ее ресурсов в виде кода (Configuration as Code). Конфигурация хранится в файле .sourcecraft/policies.yaml в ветке по умолчанию специального репозитория с названием .sourcecraft.
Важно
Политики доступа доступны только на платных тарифных планах.
Конфигурация .sourcecraft/policies.yaml
В примере включены все ограничения и задан список разрешенных сетей. Замените демонстрационные сети в ip_allowlist сетями вашей организации:
Запрещен доступ к публичным ресурсам организации без аутентификации в браузере и при работе с Git по HTTP(S).
public_visibility_changes_disabled
Запрещено устанавливать публичную видимость для организации, ее проектов и репозиториев, в том числе при создании ресурсов.
non_federative_invitations_disabled
Запрещены приглашения нефедеративных пользователей (без идентификатора федерации), включая приглашения по электронной почте и никнейму. Подробнее на странице SAML-совместимые федерации удостоверений.
Чтобы включить ограничение, укажите в параметре значение true. Чтобы отключить — false. По умолчанию все ограничения отключены.
Примечание
После включения ограничительные политики применяются только к новым ресурсам и действиям.
Например, после включения политики public_visibility_changes_disabled ранее созданные публичные репозитории так и останутся публичными.
Аналогично, после включения политики non_federative_invitations_disabled ранее добавленные нефедеративные пользователи не удаляются из организации.
Список разрешенных сетей
Параметр policies.ip_allowlist задает список клиентских сетей, из которых разрешен доступ к ресурсам организации. Поддерживаются сети IPv4 и IPv6 в формате CIDR. Сети приводятся к каноническому виду, повторяющиеся записи отклоняются.
Важно
Перед включением фильтрации убедитесь, что список содержит сеть, из которой вы подключаетесь. Администраторы организации не освобождаются от проверки IP-адреса.
Если параметр ip_allowlist отсутствует или содержит пустой список, фильтрация по IP-адресам отключена. Чтобы отключить ранее настроенную фильтрацию, задайте ip_allowlist: [] внутри блока policies и сохраните изменения в ветку по умолчанию.
Особенности применения списка:
Список обновляется после обработки изменений, отправленных в ветку по умолчанию. При ошибке обновления сохраняются предыдущие правила.
От проверки освобождаются запросы из настроенных сетей внутренних сервисов и отдельные системные фоновые операции.
Запросы по подписанным ссылкам проходят проверку IP-адреса, за исключением подписанных ссылок Git LFS. По уже выданной ссылке Git LFS можно получить файл с IP-адреса вне списка разрешенных сетей. Получить новую ссылку с такого адреса нельзя.
Ранее закешированные публичные RAW-файлы и архивы репозиториев могут оставаться доступными до истечения срока кеширования — до пяти минут.
Если организация не продлевает платный тарифный план, доступ перестает ограничиваться.
Сетевые ограничения для CI/CD, AI-коллег и сканирования безопасности
Фильтрация по IP-адресам распространяется на CI/CD. Если сети воркеров не включены в список разрешенных, CI/CD перестает работать. Вместе с CI/CD перестают работать AI-коллеги и сканирование безопасности.
Для выполнения CI/CD на пользовательских воркерах добавьте в policies.ip_allowlist сети, из которых эти воркеры обращаются к SourceCraft.
Чтобы восстановить работу CI/CD на воркерах, предоставляемых SourceCraft, AI-коллег и сканирования безопасности, добавьте в policies.ip_allowlistпубличные диапазоны IP-адресов Yandex Virtual Private Cloud. Воркеры SourceCraft используют адреса из этих диапазонов.
Важно
Эти диапазоны используются также виртуальными машинами других пользователей Yandex Cloud. Если добавить диапазоны целиком, запросы с таких виртуальных машин пройдут проверку по списку разрешенных сетей. Это ослабляет сетевое ограничение доступа к ресурсам организации.
Чтобы настроить политику доступа в организации SourceCraft:
Если в организации еще нет репозитория .sourcecraft, создайте его. Для настройки политик вам потребуется доступ к этому репозиторию и возможность вносить изменения в его ветку по умолчанию.
Если изменения проходят ревью кода, сохраните конфигурацию в отдельной ветке и создайте предложение изменений. Политики применятся после слияния в ветку по умолчанию репозитория .sourcecraft.
Проверить конфигурацию
На странице организации откройте раздел Настройки → Конфигурации.
Найдите карточку Политики организации и убедитесь, что отображается статус Активен. Если конфигурация содержит ошибки, исправьте файл и сохраните изменения в ветку по умолчанию.
Чтобы изменить политики, отредактируйте файл .sourcecraft/policies.yaml в репозитории .sourcecraft и сохраните изменения в ветку по умолчанию.