Skip to main content

Учетные записи

Новая система управления УЗ позволяет:

  • Легко добавлять и удалять УЗ через интерфейс Spirit или API (изменения применяются не моментально, а с задержкой в несколько минут).
  • Для каждой УЗ выбирать предопределенную роль для управления объектами.
  • Быстро отзывать доступы у скомпрометированных УЗ.
  • Знать кто получал и предоставлял доступ к базам данных Postgres, в какой день и с какими привилегиями.
  • Производить ресертификацию доступов.

Новая система управления УЗ соответствует требованиям сертификации PCI DSS и другим требованиям безопасности.

О том, как управлять учетными записями, читайте в инструкциях.

Виды учетных записей

Учетная запись приложения (Сервисная УЗ)

С помощью этих учетных записей приложения подключаются к базе данных. Владелец приложения создает УЗ в базе данных и передает данные авторизации в приложение.

Свойства:

  • УЗ приложения и ее пароль выдаются без ограничения срока действия. Но в будущем это может измениться.
  • Чтобы создать УЗ приложения и настроить привилегии нужна роль Database Manager или Project Lead.
  • УЗ приложения имеет доступ к одной или нескольким базам данных в инстансе. Можно указать к каким базам данных УЗ будет иметь доступ.
  • Пароль персистентный — сохраняет предыдущее состояние после внесения изменений или перезагрузки.

Схема взаимодействия с УЗ приложения:

УЗ приложения

Как создать УЗ приложения

Сессионная учетная запись (Пользовательская УЗ)

С помощью этих УЗ сотрудники подключаются к базам данных. Сотрудник запрашивает сессионную учетную запись через Spirit и получает временный логин и пароль.

Свойства:

  • Если сотруднику нужно подключиться к инстансам в зоне безопасности PROD или PCI DSS, он должен запросить сессионную УЗ и использовать только ее. Подключение сотрудника к таким инстансам от имени УЗ приложения будет считаться инцидентом безопасности.
  • Чтобы создать сессионную УЗ нужна как минимум одна из ролей, указанных в разделе доступные роли в Spirit.
  • Сессионная УЗ имеет доступ ко всем базам данных в инстансе.
  • Сессионной УЗ можно пользоваться в течение 3 суток. После этого она будет заблокирована. В будущем время жизни сессионной УЗ в зоне TEST может быть увеличено.

Если вам понадобится доступ к базам данных под сессионной УЗ, получите нужные роли у Project Lead. Предварительно расскажите ему для решения каких рабочих задач вам потребуются роли. Когда роли будут получены, отправьте запрос на получение доступа к базе данных. DBaaS выдаст сессионной УЗ доступы к базам данных в соответствии с выданными ролями. Если вы получаете ошибку при запросе доступа к базе данных, значит, у вас нет нужных ролей для ее использования.

Примечание

Если случился массовый сбой Spirit и вы не можете получить временную учетную запись, получите перманентную УЗ приложения владельца.

Сессионная УЗ

Как получить доступ сессионной УЗ

Сброс пароля

Для сброса пароля рекомендуется пересоздать учетную запись.

Уровни полномочий УЗ

УЗ обоих типов могут иметь один из трех уровней полномочий:

ПолномочияЧто можно делатьПример применения УЗ
Read-onlyЧитать доступные таблицы во всех базах данныхЭкспортер данных из баз данных в виде метрик
Read-Write
  • Читать и записывать в доступные таблицы и базы данных
  • Вызывать доступные функции
Web-сервис для чтения или записи в базе данных
Read-Write-DDL
  • Читать и записывать в доступные таблицы
  • Создавать, изменять, удалять таблицы, функции, индексы в доступных базах данных
  • CI-job для миграции схемы данных
  • SRE для изменения данных в таблице после миграции
Примечание

УЗ с полномочиями Read-Write-DDL наследуют роль pgaas_owner, поэтому могут управлять всеми объектами в базах данных, даже если они были созданы под другими УЗ. Роль pgaas_owner автоматически назначается владельцем созданных объектов в момент создания объектов. Например, таблиц, триггеров, типов и т.д.

Исключение составляют таблицы и последовательности расширения timescaledb. Для них применяются стандартные настройки владения: владельцем является УЗ postgres, а всем УЗ, имеющим доступ к данной БД, разрешены любые действия с сущностями timescaledb.

Если вы хотите использовать какой-либо объект и у вас не хватает прав как у владельца объекта, обратитесь в канал поддержки Databases, раздел Вопрос по БД Postgres, категория Вопрос по доступам.

Доступные роли в Spirit

Для каждого полномочия УЗ и зоны безопасности инстанса есть своя роль.

РольПолномочияЗона безопасности инстанса
Database Test ReadReadTest
Database Test Read-WriteRead-WriteTest
Database Test Read-Write-DDLRead-Write-DDLTest
Database Prod ReadReadProd
Database Prod Read-WriteRead-WriteProd
Database Prod Read-Write-DDLRead-Write-DDLProd