Команд много, БД ещё больше. Хвататься за всё и сразу -- плохая идея. С чего начать, что можно отложить? Это вопрос приоритетов. Для ответа на него нужны данные: где, чего и сколько.
Уточню, в России только мобильные номера начинаются с 9. Номера фиксированной связи с нескольких других цифр.
Код оператора отдельно от номера не нужен никому, кроме операторов связи. Для конечного пользователя одно от другого не отделимо.
Номер для удобочитаемости часто пишут со скобками и минусами внутри. Плюс первым символом — это признак номера в международном формате. Строго говоря, номер типа +7(123)456-7889 без плюса должен выглядеть как 8(123)456-78-89. Это внутрироссийский формат.
Сейчас везде применяется тональный набор, а во времена импульсного набора в номере также могли быть буквы: w — подождать гудок, p — сделать паузу.
Skyeng — компания с историей, давно на рынке. Разрабы приходят и уходят, а БД остаются. Для зрелой компании разумно поддерживать актуальную документацию. Но в первые годы работы об этом мало думали. Да и к ПДн не было такого трепетного отношения, как сейчас. Раньше можно было запросто собирать, скажем телефоны, на каких-нибудь лендингах для холодных рекламных звонков. Сейчас ни-ни. Кто сейчас помнит о лендинге с олимпиадой 2019-го года?
Документация не панацея. В статье мы пишем об этом:
Можно было решить задачу и по-иному. Например, прийти к разработчикам и сказать: «Вот, у вашей команды есть 5 баз данных. Покажите, что вы в них храните, дайте описание или структуру данных».
В теории, прошерстить документацию могло быть решением. На практике документация всегда отстаёт.
Working software over comprehensive documentation — один из принципов Agile подхода. Никто не любит писать документацию. Разработчики любят разрабатывать, а не писать доки. Документация всегда отстаёт от текущего момента. Она даёт ответ на вопрос «где», но не говорит «сколько». Моё же решение показывает «где», «что» и «сколько», и с лагом не более недели.
Это похоже на то, как поднимаешься в гору. Неопытные люди часто рвутся и… сдыхают. Чуть-чуть отдохнул, опять рванулся и опять умер. И так далее. Опытные люди идут равномерно. Пусть сначала медленно, но равномерно. И так можно подняться на гору без особых проблем. Особенно чётко эта разница видна на высоте, когда начинает сказываться нехватка воздуха.
То же самое верно про бег на дальние дистанции. У человека есть быстрые и медленные мышечные волокна, которые работают соответственно на углеводах и жирах. Быстрые дают большую мощность, но не больше минуты, а дальше закисляются и перестают работать. Если бежишь марафон, то важны медленные мышечные волокна.
Как вышенаписанное применить в режиме челленджа? Сделать челлендж плановым. Так скоро, насколько возможно. Пусть я буду работать по 12 часов и спать по 5 часов в день. Но это будет по плану. И отдыхать по плану. И тогда всё будет в порядке. Жизненный опыт показывает, что так и будет.
Преимущество терраформа перед ансиблом, шефом и тп для инфраструктуры — состояние, что позволяет управлять полным жизненным циклом обьекта, а не только созданием.
В моём случае другой подход: управляем тем, что записано в конфиге.
Репа есть в конфиге? Она управляется.
Нет в конфиге? С репой гарантированно ничего не случится.
Некоторые операции у меня не реализованы. Например, удалить репу невозможно. Но это никогда не требовалось. И так даже лучше, не получится случайно отстрелить себе ногу.
А если сархивировать репу, то её и Terraform не сможет разархивировать обратно.
С одной стороны, это просто сделать. С другой стороны, за год эксплуатации у нас не было ничего подобного. Тогда зачем исправлять проблему, которая никогда не возникнет?
Не волнует малое количество ПДн.
Команд много, БД ещё больше. Хвататься за всё и сразу -- плохая идея. С чего начать, что можно отложить? Это вопрос приоритетов. Для ответа на него нужны данные: где, чего и сколько.
В ГД рассматривают поправки к КоАП за утечку ПДн:
если произошла утечка данных от 1000 до 10 000 субъектов персональных данных, штраф для юрлиц составит от 3 до 5 млн руб.;
за утечку данных 10 000–100 000 субъектов — от 5 до 10 млн руб.;
более 100 000 граждан — от 10 до 15 млн руб.
Это не так работает. Никто ничего РКН не доказывает. Но если случится утечка, то компания, которая допустила утечку, должна сообщить об этом.
Чтобы снизить возможность утечки, ПДн хранятся в защищённом хранилище, с особо регламентированным доступом и так далее.
Чтобы начать защищать ПДн, перенести их в защищённое место, прежде всего нужно знать, где чего и сколько.
Мы всей инфраструктурой, включая БД, управляем Ансиблом. Логины и пароли конечно же лежат в одном месте -- в Вольте.
Незачем. И мы их не исключали.
Не расскажу. ? У нас этими делами занимается другая команда -- информационной безопасности.
Ну, если завтра безопасники попросят меня добавить поиск по int, то я в такой YAML
добавлю строчку типа
и всё найдётся в ближайшие выходные.
Не ПДн, а метаданные, что в такой-то БД, в такой-то таблице есть столько-то данных.
Уточню, в России только мобильные номера начинаются с 9. Номера фиксированной связи с нескольких других цифр.
Код оператора отдельно от номера не нужен никому, кроме операторов связи. Для конечного пользователя одно от другого не отделимо.
Номер для удобочитаемости часто пишут со скобками и минусами внутри. Плюс первым символом — это признак номера в международном формате. Строго говоря, номер типа +7(123)456-7889 без плюса должен выглядеть как 8(123)456-78-89. Это внутрироссийский формат.
Сейчас везде применяется тональный набор, а во времена импульсного набора в номере также могли быть буквы: w — подождать гудок, p — сделать паузу.
Какой уж тут int.
Skyeng — компания с историей, давно на рынке. Разрабы приходят и уходят, а БД остаются. Для зрелой компании разумно поддерживать актуальную документацию. Но в первые годы работы об этом мало думали. Да и к ПДн не было такого трепетного отношения, как сейчас. Раньше можно было запросто собирать, скажем телефоны, на каких-нибудь лендингах для холодных рекламных звонков. Сейчас ни-ни. Кто сейчас помнит о лендинге с олимпиадой 2019-го года?
Документация не панацея. В статье мы пишем об этом:
В теории, прошерстить документацию могло быть решением. На практике документация всегда отстаёт.
Working software over comprehensive documentation — один из принципов Agile подхода. Никто не любит писать документацию. Разработчики любят разрабатывать, а не писать доки. Документация всегда отстаёт от текущего момента. Она даёт ответ на вопрос «где», но не говорит «сколько». Моё же решение показывает «где», «что» и «сколько», и с лагом не более недели.
Ушли с Github-а на self-hosted Gitlab.
Это похоже на то, как поднимаешься в гору. Неопытные люди часто рвутся и… сдыхают. Чуть-чуть отдохнул, опять рванулся и опять умер. И так далее. Опытные люди идут равномерно. Пусть сначала медленно, но равномерно. И так можно подняться на гору без особых проблем. Особенно чётко эта разница видна на высоте, когда начинает сказываться нехватка воздуха.
То же самое верно про бег на дальние дистанции. У человека есть быстрые и медленные мышечные волокна, которые работают соответственно на углеводах и жирах. Быстрые дают большую мощность, но не больше минуты, а дальше закисляются и перестают работать. Если бежишь марафон, то важны медленные мышечные волокна.
Как вышенаписанное применить в режиме челленджа? Сделать челлендж плановым. Так скоро, насколько возможно. Пусть я буду работать по 12 часов и спать по 5 часов в день. Но это будет по плану. И отдыхать по плану. И тогда всё будет в порядке. Жизненный опыт показывает, что так и будет.
В моём случае другой подход: управляем тем, что записано в конфиге.
Некоторые операции у меня не реализованы. Например, удалить репу невозможно. Но это никогда не требовалось. И так даже лучше, не получится случайно отстрелить себе ногу.
А если сархивировать репу, то её и Terraform не сможет разархивировать обратно.
Добавил в P.S. ссылку на репу с кодом: https://github.com/igmp/lets-use-ssl.
Vault тоже юзаем. Можно было бы и там хранить.
docs.ansible.com/ansible/latest/modules/route53_module.html
Если бы DNS жил в Гугле, то использовалась бы эта штука:
docs.ansible.com/ansible/latest/modules/gcdns_record_module.html
А для PowerDNS есть масса вариантов.
С одной стороны, это просто сделать. С другой стороны, за год эксплуатации у нас не было ничего подобного. Тогда зачем исправлять проблему, которая никогда не возникнет?