Теорема CAP базируется на трех понятиях:
Согласованность (Consistency): все клиенты видят одни и те же данные одновременно, независимо от того, к какому узлу они подключаются
Доступность (Availability): любой клиент, запрашивающий данные, получает ответ, даже если некоторые из узлов не работают
Устойчивость к разделению (Partition Tolerance): система продолжает работать, несмотря на разделение связей между узлами
Причем теорема CAP утверждает, что в распределенных системах одновременно могут быть достигнуты только два из этих трех свойств одновременно. Учитывая, что обычно разделение сети неизбежно, часто приходится выбирать между согласованностью и доступностью. Соответствено проектирование системы предполагает балансировку компромиссов.
Согласованность (Consistency): все клиенты видят одни и те же данные одновременно, независимо от того, к какому узлу они подключаются
Доступность (Availability): любой клиент, запрашивающий данные, получает ответ, даже если некоторые из узлов не работают
Устойчивость к разделению (Partition Tolerance): система продолжает работать, несмотря на разделение связей между узлами
Причем теорема CAP утверждает, что в распределенных системах одновременно могут быть достигнуты только два из этих трех свойств одновременно. Учитывая, что обычно разделение сети неизбежно, часто приходится выбирать между согласованностью и доступностью. Соответствено проектирование системы предполагает балансировку компромиссов.
👍10❤1🔥1
Онлайн-кинотеатр Wink (совместное предприятие «Ростелекома» и НМГ) запустит свой аналог YouTube в 2025 году
Сервис позволит создателям контента монетизировать свои труды. Проект заработает в первом квартале 2025 года.
Для привлечения авторов на новый сервис запущен отдельный лендинг (веб-страница), где блогеры могут оставить заявку и начать переговоры с сервисом, уточнили в Wink: «Он пока не распространяется широко, только по узкому кругу блогеров». Сейчас сервис обсуждает сотрудничество с десятками авторов контента, ожидает подписания контрактов в ближайшее время.
https://www.kommersant.ru/doc/7479310
Сервис позволит создателям контента монетизировать свои труды. Проект заработает в первом квартале 2025 года.
Для привлечения авторов на новый сервис запущен отдельный лендинг (веб-страница), где блогеры могут оставить заявку и начать переговоры с сервисом, уточнили в Wink: «Он пока не распространяется широко, только по узкому кругу блогеров». Сейчас сервис обсуждает сотрудничество с десятками авторов контента, ожидает подписания контрактов в ближайшее время.
https://www.kommersant.ru/doc/7479310
Коммерсантъ
Это нишево, блогер
Онлайн-кинотеатры тестируют публикацию контента от сторонних авторов
🤡15🤮3❤2🔥1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Как сделать подцветку строк в таблице (элементе <table>) с помощью селектора :has() в CSS
td:has(~ td:hover), /* предыдущие сестринские ячейки */
table:has(td:nth-of-type(3):hover) /* стобец */
tr:not(:first-of-type):has(~ tr:hover)
td:nth-of-type(3) {
background: var(--highlighted);
}
td:has(~ td:hover), /* предыдущие сестринские ячейки */
table:has(td:nth-of-type(3):hover) /* стобец */
tr:not(:first-of-type):has(~ tr:hover)
td:nth-of-type(3) {
background: var(--highlighted);
}
🔥27👍7👏2
Российских программистов прекращают нанимать на бессрочный договор. Теперь их просто арендуют на полгода-год или даже меньше
ИТ-специалисты столкнулись в России с новым трендом – компании стали все чаще нанимать их лишь на короткое время, а бессрочный трудовой договор предлагает лишь каждая восьмая компания. Работодатели гораздо охотнее нанимают ИТ-шников на полгода-год.
По итогам 2024 г. примерно каждая восьмая компания (12%) подписывает с ИТ-шником трудовой договор, в котором нет четко указанного срока его действия.
Фирм, принимающих ИТ-работников в штат на полгода-год, оказалось 35%. Год назад их было около 20%.
Российские компании, ищущие в свой штат ИТ-специалиста, в подавляющем своем большинстве даже не смотрят на джунов – работников с базовым или вовсе отсутствующим опытом работы. В 2024 г., как и в 2023 г., таковых насчитывалось лишь около 2%.
Две трети компаний, около 66%, в 2024 г. искали ИТ-специалистов только высокого уровня – лидов, сеньоров или продвинутых мидлов. Годом ранее их было 75%.
В 2024 г. работодатели проявляли гораздо больший интерес к обычным мидлам, нежели в 2023 г. Спрос на специалистов среднего уровня увеличился в 2024 г. до 32% против 23% в 2023 г.
https://www.cnews.ru/news/top/2025-02-06_rossijskih_programmistov
ИТ-специалисты столкнулись в России с новым трендом – компании стали все чаще нанимать их лишь на короткое время, а бессрочный трудовой договор предлагает лишь каждая восьмая компания. Работодатели гораздо охотнее нанимают ИТ-шников на полгода-год.
По итогам 2024 г. примерно каждая восьмая компания (12%) подписывает с ИТ-шником трудовой договор, в котором нет четко указанного срока его действия.
Фирм, принимающих ИТ-работников в штат на полгода-год, оказалось 35%. Год назад их было около 20%.
Российские компании, ищущие в свой штат ИТ-специалиста, в подавляющем своем большинстве даже не смотрят на джунов – работников с базовым или вовсе отсутствующим опытом работы. В 2024 г., как и в 2023 г., таковых насчитывалось лишь около 2%.
Две трети компаний, около 66%, в 2024 г. искали ИТ-специалистов только высокого уровня – лидов, сеньоров или продвинутых мидлов. Годом ранее их было 75%.
В 2024 г. работодатели проявляли гораздо больший интерес к обычным мидлам, нежели в 2023 г. Спрос на специалистов среднего уровня увеличился в 2024 г. до 32% против 23% в 2023 г.
https://www.cnews.ru/news/top/2025-02-06_rossijskih_programmistov
CNews.ru
Российских программистов прекращают нанимать на бессрочный договор. Теперь их просто арендуют на полгода-год или даже меньше -…
ИТ-специалисты столкнулись в России с новым трендом – компании стали все чаще нанимать их лишь на короткое время, а бессрочный формат найма предлагает лишь каждая восьмая компания. Работодатели...
🤡27👍3👏2😁2🔥1
7 Распространенных стратегий очистки кэша
1. 𝐋𝐞𝐚𝐬𝐭 𝐑𝐞𝐜𝐞𝐧𝐭𝐥𝐲 𝐔𝐬𝐞𝐝 ( 𝐋𝐑𝐔 )
- Сначала удаляет элемент, к которому раньше не обращались
- Хорошо работает, когда вероятность повторного использования старых данных мала
- Пример: кэш браузера, кэши в памяти, такие как Redis.
2. 𝐋𝐞𝐚𝐬𝐭 𝐅𝐫𝐞𝐪𝐮𝐞𝐧𝐭𝐥𝐲 𝐔𝐬𝐞𝐝 ( 𝐋𝐅𝐔 )
- Удаляет наименее используемые элементы
- Приоритет сохранения часто используемых элементов в кэше
- Пример: кэши выводов машинного обучения, системы рекомендаций
3. 𝐅𝐢𝐫𝐬𝐭 𝐈𝐧, 𝐅𝐢𝐫𝐬𝐭 𝐎𝐮𝐭 (𝐅𝐈𝐅𝐎)
- Сначала удаляет самый старый сохраненный элемент, независимо от его использования
- Прост в реализации, но может привести к удалению все еще актуальных данных
- Пример: простые системы кэширования на основе очередей.
4. 𝐑𝐚𝐧𝐝𝐨𝐦 𝐑𝐞𝐩𝐥𝐚𝐜𝐞𝐦𝐞𝐧𝐭 (𝐑𝐑)
- Случайным образом удаляет данные, если кэш заполнен
- Низкие накладные расходы, но менее предсказуемая производительность
- Пример: используется в некоторых сетевых маршрутизаторах
5. 𝐌𝐨𝐬𝐭 𝐑𝐞𝐜𝐞𝐧𝐭𝐥𝐲 𝐔𝐬𝐞𝐝 ( 𝐌𝐑𝐔 )
- Противоположность LRU – сначала удаляет последний использованный элемент
- Полезно, когда последние данные быстро устаревают
- Пример: буферы потокового видео, некоторые финансовые приложения
6. 𝐓𝐢𝐦𝐞 𝐭𝐨 𝐋𝐢𝐯𝐞 ( 𝐓𝐓𝐋 )
- Данные удаляются по истечении установленного срока
- Предотвращает устаревание данных, полезно в распределенных системах
- Пример: кэширование DNS, кэширование ответов API
7. 𝐓𝐰𝐨-𝐓𝐢𝐞𝐫𝐞𝐝 𝐂𝐚𝐜𝐡𝐢𝐧𝐠 (Двухуровневый кэш)
- Использует быстрый кэш в памяти (например, Redis) и более медленный постоянный кэш (например, на диске)
- Оптимизирует скорость и хранение за счет балансировки горячих и холодных данных
- Пример: кэширование CDN, гибридные облачные решения для хранения данных
1. 𝐋𝐞𝐚𝐬𝐭 𝐑𝐞𝐜𝐞𝐧𝐭𝐥𝐲 𝐔𝐬𝐞𝐝 ( 𝐋𝐑𝐔 )
- Сначала удаляет элемент, к которому раньше не обращались
- Хорошо работает, когда вероятность повторного использования старых данных мала
- Пример: кэш браузера, кэши в памяти, такие как Redis.
2. 𝐋𝐞𝐚𝐬𝐭 𝐅𝐫𝐞𝐪𝐮𝐞𝐧𝐭𝐥𝐲 𝐔𝐬𝐞𝐝 ( 𝐋𝐅𝐔 )
- Удаляет наименее используемые элементы
- Приоритет сохранения часто используемых элементов в кэше
- Пример: кэши выводов машинного обучения, системы рекомендаций
3. 𝐅𝐢𝐫𝐬𝐭 𝐈𝐧, 𝐅𝐢𝐫𝐬𝐭 𝐎𝐮𝐭 (𝐅𝐈𝐅𝐎)
- Сначала удаляет самый старый сохраненный элемент, независимо от его использования
- Прост в реализации, но может привести к удалению все еще актуальных данных
- Пример: простые системы кэширования на основе очередей.
4. 𝐑𝐚𝐧𝐝𝐨𝐦 𝐑𝐞𝐩𝐥𝐚𝐜𝐞𝐦𝐞𝐧𝐭 (𝐑𝐑)
- Случайным образом удаляет данные, если кэш заполнен
- Низкие накладные расходы, но менее предсказуемая производительность
- Пример: используется в некоторых сетевых маршрутизаторах
5. 𝐌𝐨𝐬𝐭 𝐑𝐞𝐜𝐞𝐧𝐭𝐥𝐲 𝐔𝐬𝐞𝐝 ( 𝐌𝐑𝐔 )
- Противоположность LRU – сначала удаляет последний использованный элемент
- Полезно, когда последние данные быстро устаревают
- Пример: буферы потокового видео, некоторые финансовые приложения
6. 𝐓𝐢𝐦𝐞 𝐭𝐨 𝐋𝐢𝐯𝐞 ( 𝐓𝐓𝐋 )
- Данные удаляются по истечении установленного срока
- Предотвращает устаревание данных, полезно в распределенных системах
- Пример: кэширование DNS, кэширование ответов API
7. 𝐓𝐰𝐨-𝐓𝐢𝐞𝐫𝐞𝐝 𝐂𝐚𝐜𝐡𝐢𝐧𝐠 (Двухуровневый кэш)
- Использует быстрый кэш в памяти (например, Redis) и более медленный постоянный кэш (например, на диске)
- Оптимизирует скорость и хранение за счет балансировки горячих и холодных данных
- Пример: кэширование CDN, гибридные облачные решения для хранения данных
👍7
Кристоф Хелвиг (Christoph Hellwig), мэйнтейнер подсистем DMA, KVM, Slab Allocator и архитектуры PowerPC в ядре Linux, в своё время входивший в управляющий технический комитет организации Linux Foundation, отказался подтверждать пачти, связанные с поддержкой разработки драйверов на языке Rust. Предложенный патчи добавляли обвязки над несколькими функциями подсистемы DMA, позволяющие использовать DMA в драйверах на языке Rust.
Хелвиг предложил напрямую обращаться к исходному Си API DMA в каждом драйвере на языке Rust, чтобы не создавать дополнительных абстракций, от которых вынуждены будут зависеть сопровождающие ядра. Хелвиг также наложил вето на приём связанных с Rust патчей и сравнил патчи на Rust с раковой опухолью.
Суть проблем с сопровождением в том, что Rust-обвязки ставят сопровождающих в зависимость от кода на языке Rust. Соостветственно необходимо синхронизировать все изменения между кодом на Си и на Rust.
Отказ принимать код обвязки над вызовами DMA поставил разработчиков проекта Rust for Linux в тупик, так как без подобных обвязок разработка полноценных драйверов на языке Rust будет затруднена.
https://lore.kernel.org/rust-for-linux/
Хелвиг предложил напрямую обращаться к исходному Си API DMA в каждом драйвере на языке Rust, чтобы не создавать дополнительных абстракций, от которых вынуждены будут зависеть сопровождающие ядра. Хелвиг также наложил вето на приём связанных с Rust патчей и сравнил патчи на Rust с раковой опухолью.
Суть проблем с сопровождением в том, что Rust-обвязки ставят сопровождающих в зависимость от кода на языке Rust. Соостветственно необходимо синхронизировать все изменения между кодом на Си и на Rust.
Отказ принимать код обвязки над вызовами DMA поставил разработчиков проекта Rust for Linux в тупик, так как без подобных обвязок разработка полноценных драйверов на языке Rust будет затруднена.
https://lore.kernel.org/rust-for-linux/
👍15
This media is not supported in your browser
VIEW IN TELEGRAM
КАк быстро измерить время выполнения функции на языке Python с помощью встроенных средств? Для этого можно использовать встроенную функцию timeit.timeit. Например, измерим время выполнения функции sum:
import timeit
def sum():
result = 0
for i in range(10000):
result +=i
return result
execution_time = timeit.timeit(lambda: sum(), number=100)
print("Время выполнения функции sum:", execution_time)
import timeit
def sum():
result = 0
for i in range(10000):
result +=i
return result
execution_time = timeit.timeit(lambda: sum(), number=100)
print("Время выполнения функции sum:", execution_time)
Зарплатные предложения для IT-специалистов выросли на 16% за год
Средний уровень предлагаемых зарплат для IT-специалистов в России вырос в 2024 году по сравнению с предыдущим годом на 16%, до 88,6 тыс. рублей. Об этом свидетельствуют результаты исследования платформы онлайн-рекрутинга hh.ru.
По данным платформы, самые высокие зарплаты предлагали следующим специалистам: DevOps-инженер - 247,9 тыс. рублей в среднем, руководитель группы разработки - 237,5 тыс. рублей, дата-сайентист - 234,7 тыс. рублей, системный аналитик - 178,3 тыс. рублей, директор по информационным технологиям (CIO) - 165,1 тыс. рублей.
https://tass.ru/ekonomika/23081179
Средний уровень предлагаемых зарплат для IT-специалистов в России вырос в 2024 году по сравнению с предыдущим годом на 16%, до 88,6 тыс. рублей. Об этом свидетельствуют результаты исследования платформы онлайн-рекрутинга hh.ru.
По данным платформы, самые высокие зарплаты предлагали следующим специалистам: DevOps-инженер - 247,9 тыс. рублей в среднем, руководитель группы разработки - 237,5 тыс. рублей, дата-сайентист - 234,7 тыс. рублей, системный аналитик - 178,3 тыс. рублей, директор по информационным технологиям (CIO) - 165,1 тыс. рублей.
https://tass.ru/ekonomika/23081179
TACC
Зарплатные предложения для IT-специалистов выросли на 16% за год
По данным hh.ru, самые высокие зарплаты предлагали DevOps-инженеру, руководителю группы разработки, дата-сайентисту, системному аналитику
😁6👎1
.NET 10, который должен выйти в ноябре 2025, обещает значительные улучшения в JIT-компиляторе, сокращая накладные расходы на абстракцию и повышая производительность. Улучшенное распределение стека, лучшая обработка массивов и оптимизированное встраивание — вот лишь несколько основных моментов
https://github.com/dotnet/runtime/issues/108913
https://github.com/dotnet/runtime/issues/108913
🔥29
Уровень безработицы в американском IT-секторе с декабря 2024 года вырос с 3,9 до 5,7%, сообщает WSJ. В абсолютных цифрах это означает, что на данный момент в активном поиске нового рабочего места находится 152 000 специалистов различных профилей, хотя еще два месяца назад эта цифра составляла 98 000.
При этом уровень безработицы в IT впервые за долгое время превышает общенациональный показатель, который на текущий момент равен 4%.
Одной из основных причин роста безработицы в секторе называют повышение уровня автоматизации в IT-компаниях и как следствие — сокращение штата.
Среди причин - отголоски сокращений раздутых на фоне ковида штатов. Также происходят активные сокращения удаленных сотрудников по причине частичного или полного возврата команд в физические офисы и те специалисты, которые несколько лет назад поверили в новую реальность рынка труда IT и выехали из региона физической локации компании, на текущий момент оказались в откровенно уязвимом положении.
Другой ключевой причиной роста безработицы в секторе называют повышение уровня автоматизации в IT-компаниях и как следствие — сокращение штата. Основная цель руководителей компаний и подразделений — сокращение расходов, а замена части сотрудников и передача их функций современным нейросетям — наиболее очевидный путь. Наибольший удар, как не удивительно, получили вакансии не офис-менеджеров или других управленцев, которые обычно попадают под сокращение в первую очередь, едва работодатель начинает задумываться об оптимизации и сокращении расходов, а вакансии разработчиков ПО.
https://www.wsj.com/articles/it-unemployment-rises-to-5-7-as-ai-hits-tech-jobs-7726bb1b
При этом уровень безработицы в IT впервые за долгое время превышает общенациональный показатель, который на текущий момент равен 4%.
Одной из основных причин роста безработицы в секторе называют повышение уровня автоматизации в IT-компаниях и как следствие — сокращение штата.
Среди причин - отголоски сокращений раздутых на фоне ковида штатов. Также происходят активные сокращения удаленных сотрудников по причине частичного или полного возврата команд в физические офисы и те специалисты, которые несколько лет назад поверили в новую реальность рынка труда IT и выехали из региона физической локации компании, на текущий момент оказались в откровенно уязвимом положении.
Другой ключевой причиной роста безработицы в секторе называют повышение уровня автоматизации в IT-компаниях и как следствие — сокращение штата. Основная цель руководителей компаний и подразделений — сокращение расходов, а замена части сотрудников и передача их функций современным нейросетям — наиболее очевидный путь. Наибольший удар, как не удивительно, получили вакансии не офис-менеджеров или других управленцев, которые обычно попадают под сокращение в первую очередь, едва работодатель начинает задумываться об оптимизации и сокращении расходов, а вакансии разработчиков ПО.
https://www.wsj.com/articles/it-unemployment-rises-to-5-7-as-ai-hits-tech-jobs-7726bb1b
The Wall Street Journal
IT Unemployment Rises to 5.7% as AI Hits Tech Jobs
The unemployment rate in the information technology sector rose from 3.9% in December to 5.7% in January, well above last month’s overall jobless rate of 4%, in the latest sign of how automation and the increasing use of artificial intelligence are having…
😢7❤2🤔2🤬2👌1
Об индексах базы данных
Индекс — это пара ключ-значение, где ключ используется для поиска данных вместо соответствующих индексированных столбцов, а значение — это указатель на соответствующие строки в таблице. Большинству баз данных требуется та или иная форма индексации для производительности. Чтобы максимально эффективно использовать БД, следует использовать тип индекса, соответствующий данной задаче.
1) B-дерево (b-tree index) — одна из наиболее часто используемых структур индексации, в которой ключи иерархически сортируются. При поиске данных дерево просматривается до листового узла, который содержит соответствующий ключ и указатель на соответствующие строки в таблице. B-дерево чаще всего используется из-за его эффективности в хранении и поиске по упорядоченным данным. Их сбалансированная структура означает, что ко всем ключам можно получить доступ за одинаковое количество шагов, что обеспечивает постоянную производительность.
2) Хэш-индексы (hash index) лучше всего использовать при поиске точных совпадений. Ключевым компонентом хэш-индекса является хэш-функция. При поиске определенного значения искомое значение передается в хэш-функцию, которая возвращает хэш-значение. Это хэш-значение сообщает БД, где в хэш-таблице находятся ключ и указатели.
3) Индексы битовой карты (bitmap index) используется для столбцов с несколькими уникальными значениями. Каждая битовая карта представляет уникальное значение. Битовая карта указывает на наличие или отсутствие значения в наборе данных с помощью 1 и 0. Для существующих значений позиция 1 в битовой карте показывает местоположение строки в таблице. Индексы битовой карты очень эффективны при обработке сложных запросов, где используется несколько столбцов.
При индексировании таблицы рекомендуется тщательно выбирать столбцы для индексации на основе наиболее часто используемых столбцов в предложениях WHERE.
Составной индекс может использоваться, когда несколько столбцов часто используются вместе в предложении WHERE. С составным индексом комбинация двух или более столбцов используется для создания конкатенированного ключа. Затем ключи сохраняются на основе стратегии индекса, например, опций, упомянутых выше.
Индекс — это пара ключ-значение, где ключ используется для поиска данных вместо соответствующих индексированных столбцов, а значение — это указатель на соответствующие строки в таблице. Большинству баз данных требуется та или иная форма индексации для производительности. Чтобы максимально эффективно использовать БД, следует использовать тип индекса, соответствующий данной задаче.
1) B-дерево (b-tree index) — одна из наиболее часто используемых структур индексации, в которой ключи иерархически сортируются. При поиске данных дерево просматривается до листового узла, который содержит соответствующий ключ и указатель на соответствующие строки в таблице. B-дерево чаще всего используется из-за его эффективности в хранении и поиске по упорядоченным данным. Их сбалансированная структура означает, что ко всем ключам можно получить доступ за одинаковое количество шагов, что обеспечивает постоянную производительность.
2) Хэш-индексы (hash index) лучше всего использовать при поиске точных совпадений. Ключевым компонентом хэш-индекса является хэш-функция. При поиске определенного значения искомое значение передается в хэш-функцию, которая возвращает хэш-значение. Это хэш-значение сообщает БД, где в хэш-таблице находятся ключ и указатели.
3) Индексы битовой карты (bitmap index) используется для столбцов с несколькими уникальными значениями. Каждая битовая карта представляет уникальное значение. Битовая карта указывает на наличие или отсутствие значения в наборе данных с помощью 1 и 0. Для существующих значений позиция 1 в битовой карте показывает местоположение строки в таблице. Индексы битовой карты очень эффективны при обработке сложных запросов, где используется несколько столбцов.
При индексировании таблицы рекомендуется тщательно выбирать столбцы для индексации на основе наиболее часто используемых столбцов в предложениях WHERE.
Составной индекс может использоваться, когда несколько столбцов часто используются вместе в предложении WHERE. С составным индексом комбинация двух или более столбцов используется для создания конкатенированного ключа. Затем ключи сохраняются на основе стратегии индекса, например, опций, упомянутых выше.
👍16🔥1👏1
Механизмы аутентификации
[1.] 𝐀𝐏𝐈 𝐊𝐞𝐲
◾️ Простые уникальные идентификаторы, присваиваемые каждому клиенту или услуге.
◾️ Отправляется как заголовок или параметр запроса с каждым запросом.
◾️ Лучше всего подходит для внутренних служб, менее конфиденциальных API или для предоставления доступа к определенным функциям.
◾️ Простота внедрения и управления.
◾️ Не так безопасно, как методы на основе токенов. Подвержены утечке и краже
[2.] 𝐁𝐚𝐬𝐢𝐜 𝐀𝐮𝐭𝐡𝐞𝐧𝐭𝐢𝐜𝐚𝐭𝐢𝐨𝐧
◾️ Имя пользователя и пароль отправляются в заголовке Authorization в виде строки в кодировке base64.
◾️ Простота в реализации, но для обеспечения безопасности требуется HTTPS.
◾️ Подходит для простых сценариев с низкими требованиями к безопасности.
◾️ Широко распространена и проста для понимания
◾️ Уязвимв к атакам типа «человек посередине», если не используется HTTPS.
◾️ Пароли отправляются открытым текстом (даже в закодированном виде).
[3.] 𝐉𝐒𝐎𝐍 𝐖𝐞𝐛 𝐓𝐨𝐤𝐞𝐧𝐬 ( 𝐉𝐖𝐓 )
◾️ Автономные токены, которые в виде JSON содержат информацию о пользователе и его атрибуты
◾️ Выдается сервером аутентификации после успешного входа в систему, затем отправляется клиентом в заголовке Authorization
◾️ Широко используется для аутентификации без сохранения состояния в микросервисах, едином входе (SSO) и авторизации
◾️ Не хранит состояние, безопасный, компактный и может содержать дополнительные атрибуты
◾️ Требуется надлежащее управление ключами для подписи и проверки
[4.] 𝐎𝐀𝐮𝐭𝐡 2.0
◾️ Система, позволяющая сторонним приложениям получать ограниченный доступ к ресурсам от имени владельца ресурса (пользователя) без предоставления учетных данных
◾️ Использует различные типы верификации (код авторизации, учетные данные клиента и т. д.) для получения токенов доступа и токенов обновления
◾️ Широко используется для авторизации пользователей и делегированного доступа к API
◾️ Предоставляет стандартизированный способ безопасного доступа к ресурсам без предоставления учетных данных.
◾️ Может быть сложным в реализации и требует тщательного рассмотрения уязвимостей безопасности
[5.] 𝐎𝐩𝐞𝐧𝐈𝐃 𝐂𝐨𝐧𝐧𝐞𝐜𝐭 (𝐎𝐈𝐃𝐂)
◾️ Уровень идентификации поверх OAuth 2.0, который обеспечивает аутентификацию пользователя и предоставляет информацию о профиле
◾️ Использует идентификационный токен вместе с токеном доступа для предоставления идентификационной информации пользователя
◾️ Используется для аутентификации совместно с OAuth 2.0 для авторизации
◾️ Упрощает аутентификацию, стандартизируя способ получения информации о пользователе
◾️ Требуется интеграция с поставщиком OIDC (например, Google, Okta)
[6.] 𝐌𝐮𝐭𝐮𝐚𝐥 𝐓𝐋𝐒 (𝐦𝐓𝐋𝐒)
◾️ Клиент и сервер аутентифицируют друг друга с помощью сертификатов X.509
◾️ Для выдачи и управления сертификатами требуется центр сертификации (CA)
◾️ Лучше всего подходит для защиты связи между внутренними службами или высокочувствительными API
◾️ Надежная защита благодаря взаимной аутентификации и шифрованию.
◾️ Более сложен в настройке и управлении по сравнению с другими механизмами.
[1.] 𝐀𝐏𝐈 𝐊𝐞𝐲
◾️ Простые уникальные идентификаторы, присваиваемые каждому клиенту или услуге.
◾️ Отправляется как заголовок или параметр запроса с каждым запросом.
◾️ Лучше всего подходит для внутренних служб, менее конфиденциальных API или для предоставления доступа к определенным функциям.
◾️ Простота внедрения и управления.
◾️ Не так безопасно, как методы на основе токенов. Подвержены утечке и краже
[2.] 𝐁𝐚𝐬𝐢𝐜 𝐀𝐮𝐭𝐡𝐞𝐧𝐭𝐢𝐜𝐚𝐭𝐢𝐨𝐧
◾️ Имя пользователя и пароль отправляются в заголовке Authorization в виде строки в кодировке base64.
◾️ Простота в реализации, но для обеспечения безопасности требуется HTTPS.
◾️ Подходит для простых сценариев с низкими требованиями к безопасности.
◾️ Широко распространена и проста для понимания
◾️ Уязвимв к атакам типа «человек посередине», если не используется HTTPS.
◾️ Пароли отправляются открытым текстом (даже в закодированном виде).
[3.] 𝐉𝐒𝐎𝐍 𝐖𝐞𝐛 𝐓𝐨𝐤𝐞𝐧𝐬 ( 𝐉𝐖𝐓 )
◾️ Автономные токены, которые в виде JSON содержат информацию о пользователе и его атрибуты
◾️ Выдается сервером аутентификации после успешного входа в систему, затем отправляется клиентом в заголовке Authorization
◾️ Широко используется для аутентификации без сохранения состояния в микросервисах, едином входе (SSO) и авторизации
◾️ Не хранит состояние, безопасный, компактный и может содержать дополнительные атрибуты
◾️ Требуется надлежащее управление ключами для подписи и проверки
[4.] 𝐎𝐀𝐮𝐭𝐡 2.0
◾️ Система, позволяющая сторонним приложениям получать ограниченный доступ к ресурсам от имени владельца ресурса (пользователя) без предоставления учетных данных
◾️ Использует различные типы верификации (код авторизации, учетные данные клиента и т. д.) для получения токенов доступа и токенов обновления
◾️ Широко используется для авторизации пользователей и делегированного доступа к API
◾️ Предоставляет стандартизированный способ безопасного доступа к ресурсам без предоставления учетных данных.
◾️ Может быть сложным в реализации и требует тщательного рассмотрения уязвимостей безопасности
[5.] 𝐎𝐩𝐞𝐧𝐈𝐃 𝐂𝐨𝐧𝐧𝐞𝐜𝐭 (𝐎𝐈𝐃𝐂)
◾️ Уровень идентификации поверх OAuth 2.0, который обеспечивает аутентификацию пользователя и предоставляет информацию о профиле
◾️ Использует идентификационный токен вместе с токеном доступа для предоставления идентификационной информации пользователя
◾️ Используется для аутентификации совместно с OAuth 2.0 для авторизации
◾️ Упрощает аутентификацию, стандартизируя способ получения информации о пользователе
◾️ Требуется интеграция с поставщиком OIDC (например, Google, Okta)
[6.] 𝐌𝐮𝐭𝐮𝐚𝐥 𝐓𝐋𝐒 (𝐦𝐓𝐋𝐒)
◾️ Клиент и сервер аутентифицируют друг друга с помощью сертификатов X.509
◾️ Для выдачи и управления сертификатами требуется центр сертификации (CA)
◾️ Лучше всего подходит для защиты связи между внутренними службами или высокочувствительными API
◾️ Надежная защита благодаря взаимной аутентификации и шифрованию.
◾️ Более сложен в настройке и управлении по сравнению с другими механизмами.
🔥11👍5❤1👏1
This media is not supported in your browser
VIEW IN TELEGRAM
уровни сетевой модели OSI и соответствующие им кибератаки
🔥10💊5❤2