---
metadata:
  - name: generator
    content: Diplodoc Platform v5.61.1
alternate:
  - https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/org-policies.md
  - href: https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/org-policies.md
    type: text/markdown
    title: Markdown version
  - href: https://sourcecraft.dev/portal/docs/ru/llms.txt
    rel: describedby
title: Настроить политики доступа организации в SourceCraft
description: 'Как настроить политики доступа организации в SourceCraft с помощью файла .sourcecraft/policies.yaml: ограничить создание репозиториев, анонимный доступ, публичную видимость, приглашения пользователей и доступ по IP-адресам.'
---
> **Documentation Index:** Fetch the complete configuration index at https://sourcecraft.dev/portal/docs/ru/llms.txt


# Настроить политику доступа в организации SourceCraft

С помощью политики доступа можно задать ограничения для [организации](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/index.md#org) и ее ресурсов в виде кода (Configuration as Code). Конфигурация хранится в файле `.sourcecraft/policies.yaml` в ветке по умолчанию специального репозитория с названием `.sourcecraft`.

{% note warning %}

Политики доступа доступны только на платных [тарифных планах](https://sourcecraft.dev/portal/docs/ru/sourcecraft/pricing.md).

{% endnote %}

## Конфигурация .sourcecraft/policies.yaml {#spec}

В примере включены все ограничения и задан список разрешенных сетей. Замените демонстрационные сети в `ip_allowlist` сетями вашей организации:

```yaml
policies:
  admin_only_repository_creation: true
  anonymous_public_access_disabled: true
  public_visibility_changes_disabled: true
  non_federative_invitations_disabled: true
  ip_allowlist:
    - 192.0.2.0/24
    - 2001:db8::/32
```

Блок `policies` содержит [список разрешенных сетей](#ip-allowlist) и следующие логические параметры:

#|
|| **Параметр** | **Ограничение при значении `true`** ||
|| `admin_only_repository_creation` | Создавать репозитории могут только [администраторы организации](https://sourcecraft.dev/portal/docs/ru/sourcecraft/security/index.md#organization-manager-admin). ||
|| `anonymous_public_access_disabled` | Запрещен доступ к публичным ресурсам организации без аутентификации в браузере и при работе с Git по HTTP(S). ||
|| `public_visibility_changes_disabled` | Запрещено устанавливать публичную видимость для организации, ее проектов и репозиториев, в том числе при создании ресурсов. ||
|| `non_federative_invitations_disabled` | Запрещены приглашения нефедеративных пользователей (без идентификатора федерации), включая приглашения по электронной почте и никнейму. Подробнее на странице [SAML-совместимые федерации удостоверений](https://yandex.cloud/ru/docs/organization/concepts/add-federation). ||
|#

Чтобы включить ограничение, укажите в параметре значение `true`. Чтобы отключить — `false`. По умолчанию все ограничения отключены.

{% note info %}

После включения ограничительные политики применяются только к новым ресурсам и действиям.

> Например, после включения политики `public_visibility_changes_disabled` ранее созданные публичные репозитории так и останутся публичными.
>
> Аналогично, после включения политики `non_federative_invitations_disabled` ранее добавленные нефедеративные пользователи не удаляются из организации.

{% endnote %}

### Список разрешенных сетей {#ip-allowlist}

Параметр `policies.ip_allowlist` задает список клиентских сетей, из которых разрешен доступ к ресурсам организации. Поддерживаются сети IPv4 и IPv6 в формате CIDR. Сети приводятся к каноническому виду, повторяющиеся записи отклоняются.

{% note warning %}

Перед включением фильтрации убедитесь, что список содержит сеть, из которой вы подключаетесь. Администраторы организации не освобождаются от проверки IP-адреса.

{% endnote %}

Если параметр `ip_allowlist` отсутствует или содержит пустой список, фильтрация по IP-адресам отключена. Чтобы отключить ранее настроенную фильтрацию, задайте `ip_allowlist: []` внутри блока `policies` и сохраните изменения в ветку по умолчанию.

Особенности применения списка:

* Список обновляется после обработки изменений, отправленных в ветку по умолчанию. При ошибке обновления сохраняются предыдущие правила.
* От проверки освобождаются запросы из настроенных сетей внутренних сервисов и отдельные системные фоновые операции.
* Запросы по подписанным ссылкам проходят проверку IP-адреса, за исключением подписанных ссылок [Git LFS](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/lfs.md). По уже выданной ссылке Git LFS можно получить файл с IP-адреса вне списка разрешенных сетей. Получить новую ссылку с такого адреса нельзя.
* Ранее закешированные публичные [RAW-файлы](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/raw-content.md#raw) и [архивы репозиториев](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/repo-download-archive.md) могут оставаться доступными до истечения срока кеширования — до пяти минут.
* Если организация не продлевает платный [тарифный план](https://sourcecraft.dev/portal/docs/ru/sourcecraft/pricing.md#tariff-differences), доступ перестает ограничиваться.

#### Сетевые ограничения для CI/CD, AI-коллег и сканирования безопасности {#ip-allowlist-ci}

Фильтрация по IP-адресам распространяется на [CI/CD](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/ci-cd.md). Если сети воркеров не включены в список разрешенных, CI/CD перестает работать. Вместе с CI/CD перестают работать AI-коллеги и [сканирование безопасности](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/scanning-switch.md).

Для выполнения CI/CD на [пользовательских воркерах](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/workers.md#self-hosted-workers) добавьте в `policies.ip_allowlist` сети, из которых эти воркеры обращаются к SourceCraft.

Чтобы восстановить работу CI/CD на воркерах, предоставляемых SourceCraft, AI-коллег и сканирования безопасности, добавьте в `policies.ip_allowlist` [публичные диапазоны IP-адресов Yandex Virtual Private Cloud](https://yandex.cloud/ru/docs/overview/concepts/public-ips#virtual-private-cloud). Воркеры SourceCraft используют адреса из этих диапазонов.

{% note warning %}

Эти диапазоны используются также виртуальными машинами других пользователей Yandex Cloud. Если добавить диапазоны целиком, запросы с таких виртуальных машин пройдут проверку по списку разрешенных сетей. Это ослабляет сетевое ограничение доступа к ресурсам организации.

{% endnote %}

Чтобы настроить политику доступа в организации SourceCraft:
1. [Создайте репозиторий .sourcecraft](#prepare).
1. [Сконфигурируйте политику доступа](#configure).
1. [Проверьте конфигурацию](#check).

## Создать репозиторий .sourcecraft {#prepare}

Если в организации еще нет репозитория `.sourcecraft`, [создайте его](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/org-config.md#create-repo). Для настройки политик вам потребуется доступ к этому репозиторию и возможность вносить изменения в его ветку по умолчанию.

## Сконфигурировать политику доступа {#configure}

{% list tabs group=instructions %}

- Интерфейс SourceCraft {#src}

  1. Откройте [главную страницу](https://sourcecraft.dev) SourceCraft.
  1. Перейдите на вкладку ![image](../../_assets/console-icons/briefcase.svg) **Организации** и выберите организацию.
  1. На странице организации в разделе ![image](../../_assets/console-icons/gear.svg) **Настройки** перейдите в секцию ![image](../../_assets/console-icons/nut-hex.svg) **Конфигурации**.
  1. На карточке **Политики организации** нажмите ![image](../../_assets/console-icons/plus.svg) **Пустая конфигурация**.
  1. Заполните файл `.sourcecraft/policies.yaml` по [примеру конфигурации](#spec), выбрав нужные ограничения.
  1. В правом верхнем углу нажмите **Сохранить изменения**.
  1. В открывшемся окне настройте параметры внесения изменений:
      * В поле **Сообщение об изменениях** укажите комментарий, который опишет внесенные изменения.
      * В блоке **Ветка изменений** выберите ветку по умолчанию.
      * В блоке **Действие после сохранения изменений** выберите `Просто сохранить`.
  1. Подтвердите внесение изменений.

- Командная строка {#cli}

  1. [Склонируйте](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/repo-clone.md) репозиторий `.sourcecraft` и перейдите в его каталог.
  1. Переключитесь на ветку по умолчанию:

      ```bash
      git switch <ветка_по_умолчанию>
      ```

  1. Создайте каталог и файл конфигурации:

      ```bash
      mkdir -p .sourcecraft
      nano .sourcecraft/policies.yaml
      ```

  1. Заполните файл по [примеру конфигурации](#spec), выбрав нужные ограничения, и сохраните его.
  1. Добавьте файл в индекс Git, сделайте коммит и отправьте изменения в ветку по умолчанию:

      ```bash
      git add .sourcecraft/policies.yaml
      git commit -m "Configure organization access policies"
      git push origin <ветка_по_умолчанию>
      ```

{% endlist %}

Если изменения проходят [ревью кода](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/code-review.md), сохраните конфигурацию в отдельной ветке и [создайте предложение изменений](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/pr-create.md). Политики применятся после слияния в ветку по умолчанию репозитория `.sourcecraft`.

## Проверить конфигурацию {#check}

1. На странице организации откройте раздел **Настройки** → **Конфигурации**.
1. Найдите карточку **Политики организации** и убедитесь, что отображается статус **Активен**. Если конфигурация содержит ошибки, исправьте файл и сохраните изменения в ветку по умолчанию.

Чтобы изменить политики, [отредактируйте](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/code-edit.md) файл `.sourcecraft/policies.yaml` в репозитории `.sourcecraft` и сохраните изменения в ветку по умолчанию.

#### Полезные ссылки {#see-also}

* [Изменить настройки организации в SourceCraft](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/org-edit.md)
* [Настроить правила ревью кода и политики веток на уровне организации в SourceCraft](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/org-config.md)
* [Настроить пользовательские поля задач в SourceCraft](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/issue-custom-fields.md)
* [Управление доступом в SourceCraft](https://sourcecraft.dev/portal/docs/ru/sourcecraft/security/index.md)
