Використання Entra ID для забезпечення безпеки у додатках на Golang

Створення організованої та безпечної системи налаштування й управління системою доступів та дозволів на користування окремими хмарними застосунками. Використання сервісу Microsoft Entra ID для реалізації централізованого контролю над правами доступу.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык украинский
Дата добавления 06.09.2024
Размер файла 18,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.Allbest.Ru/

Харківський національний університет радіоелектроніки, Україна

Факультет комп'ютерних наук

Кафедра програмної інженерії

Використання Entra ID для забезпечення безпеки у додатках на Golang

Долгий А.І., студент

Науковий керівник:

Олійник О.В., ст. викладач

На сучасному етапі розвитку інформаційних технологій, існує безліч клієнт-орієнтованих систем та додатків для будь-якої потреби. У достатньо великих програмних застосунках, що вирішують комплексні й обширні проблеми та задачі, як правило, виникає потреба використання підсистем для збереження BLOB-файлів, розгортання та використання баз даних тощо. Також під час розробки виникає питання розгортання для робітників віртуальних машин, публікації проекту до мережі Інтернет, інструментів для адміністрування застосунку тощо. Усі визначені проблеми та задачі можуть вирішувати відповідні сервіси, що надаються компанією Microsoft, а саме Azure сектор [1]. безпечний доступ хмарний застосунок entra microsoft

Слід відмітити, що вказані хмарні сервіси, є в певній мірі безпечними саме з боку збереження даних та обміну ними з програмними системами тощо проте процес аутентифікації є менш безпечним у базовому форматі. Для забезпечення приватного доступу та унеможливлення отримання доступ до клієнтських й приватних даних третім особам, на допомогу приходить ще один сервіс Azure - Microsoft Entra ID [2].

Microsoft Entra ID або Azure Active Directory, раніше, це сервіс, який спрямований на створення загальної та організованої системи налаштування й управління системою доступів та дозволів на користування окремими хмарними застосунками Azure у рамках однієї організації, проекту тощо.

Зазначена система управління безпекою аутентифікації та взаємодії користувача із хмарними сервісами насамперед, вирішує прогалину у приватності ключів та схожих даних, що мають зберігати та використовувати для авторизації програмні застосунки у випадку прямого використання хмарних застосунків Microsoft. Entra ID надає можливість централізовано давати дозвіл на користування сервісами Azure, напряму з власних налаштувань системи контролю, що позбавляє необхідності зберігати відомості щодо паролей та ключів у самих програмних додатках. Зазначений підхід може використовувати додатково протоколи аутентифікації - OAuth 2.0 [3], OpenID Connect [4] тощо, для звернення до необхідних сервісів Azure із використанням налаштувань Entra ID, що позбавляє сторонніх осіб можливості отримати приватні дані доступу, значно збільшуючи безпеку програмної системи, яка оперує приватними даними тощо.

Для демонстрації різниці у об'ємі секретної інформації що передається, при використанні Azure Blob Storage, для доступу до сервісу серверу необхідно оперувати посиланням до цього сховища та ключами авторизації, які необхідно буде передати за доволі вразливими каналом зв'язку, що може призвести до втрати секретності паролів тощо. Однак із використанням системи Entra ID та протоколів авторизації OAuth 2.0, OpenID Connect та інших, можна обмежитись лише відомістю про «ID», зареєстрованого у зазначеній системі додатку, завдяки чому, зловмисники не зможуть отримати можливість доступу до клієнтської інформації.

Додатково, хмарна система Azure Active Directory надає дуже широкий функціонал з налаштувань доступу, як для самих користувачів та додатків у цій ролі, так і для самих сервісів Microsoft, таких як Azure Blob Storage, тощо. Це є централізованим процесом, що спрощує контроль та, завдяки цьому, надає змістовну статистичну інформацію, стосовно свого використання.

Розглядаючи ситуацію зі сторони програмного забезпечення клієнт-серверних застосунків, відзначимо, що мова програмування Golang є достатньо поширеною та вживаною з серверної частини проектів. Зазначена мова є популярною у створенні веб-серверів та мікросервісів через низку якостей, таких як значна швидкість, низький рівень абстракцій та доволі простий синтаксис, через що, мова є більш доступною у нових проектах. За рахунок вказаних переваг мови Golang є важливим розгляд реалізації безпечного зв'язку з хмарними сервісами Microsoft, під час використання їх можливостей.

Розгляд підходу впровадження доступу до хмарних сервісів Microsoft, з використанням Entra ID системи, буде виконано із використанням одного з вказаних вище протоколів аутентифікації, а саме OAuth 2.0. Бібліотека для застосування обраного підходу, розташована за посиланням та доступна для додавання у проект після завантаження за допомогою команди «go get [шлях]», що є вбудованим інструментом командного рядку в мові Golang. Зазначений протокол - OAuth 2.0, підтримує грант тип аутентифікації "authorization code", із використанням PKCE (Proof Key for Code Exchange) [5]. Даний підхід забезпечує додаток можливістю отримати токен доступу до сервісу Entra ID лише із використанням «ID» зареєстрованого у системі додатка, що позбавляє необхідність зберігати чи передавати секрет, за яким зловмисники можуть отримати несанкціонований доступ. Замість зазначеного «ключа», застосунок генерує певне значення - код виклику та створює його хеш, після чого, зазначені дані формують запит авторизації. Слід відмітити, що це є елементом PKCE - додаткового рівня безпеки, що запобігає спробам отримати код авторизації. Згенерований параметр виклику використовується для підтвердження запита на авторизацію.

Оскільки кожен код виклику є випадковим значенням, спроби перехопити та використовувати надалі це значення не є можливим. Отже підхід із застосуванням "authorization code" та PKCE, навіть у тому випадку коли «ID» додатку з сервісу Entra ID потрапляє до сторонніх лиць, отримання доступу до хмарних застосунків не є можливим.

Підсумовуючи вище сказане, можна відзначити, що швидкісні додатки на мові програмування Golang із застосуванням хмарних сервісів Azure, таких як сховище BLOB-файлів - Azure Blob Storage та інших, слід використовувати разом із системою Entra ID у поєднанні з протоколом OAuth 2.0 або подібними, для створення безпечного механізму аутентифікації та взаємодії зі згаданими продуктами компанії Microsoft, через отримання токену доступу до них. Такий підхід до використання хмарних сервісів закриває питання прогалини у безпеці клієнт-орієнтованих додатків, під час аутентифікації у системі, в якій зберігається приватна та чутлива інформація користувачів тощо.

Висновки

У роботі розглянуте питання використання хмарних сервісів, зокрема додатків Azure компанії Microsoft, з точки зору забезпечення належного рівня безпечності доступу. Визначено важливість застосування сервісу Microsoft Entra ID для реалізації централізованого контролю над правами доступу та посвідчень, як для вже реалізованих додатків, так і для потреб, що виникають під час розробки застосунків. У роботі розглянуті протоколи аутентифікації та авторизації, у якості інструменту для забезпечення безпечного доступу до хмарного сервісу Microsoft Entra ID з урахуванням використання незахищених каналів зв'язку. Відзначено важливість вище вказаних технологій та описано механізм використання у додатках на мові програмування Golang.

Список використаних джерел

1. David, M. (2019, 18 листопада). Azure Cloud Services and Its Importance.

2. Microsoft. (2023, 7 березня). Azure Active Directory and identity management.

3. Hardt, D. (Ed.). (2012). The OAuth 2.0 Authorization Framework. RFC Editor.

4. Siriwardena, P. (2022). OpenID Connect in Action. Manning Publications Co. LLC.

5. Bradley, J., & Agarwal, N. (2015). Proof Key for Code Exchange by OAuth Public Clients. RFC Editor.

Размещено на Allbest.Ru


Подобные документы

  • Призначення та можливості видавничої системи Microsoft Office Publisher 2003. Підтримка професійних засобів друкування. Інтерфейс та робота з видавничою системою. Створення публікації з нуля. Використання макетів та шаблонів. Техніка безпеки оператора.

    контрольная работа [30,6 K], добавлен 03.02.2011

  • Основні визначення та опис UML. Опис основних компонентів, використаних у Microsoft Visio. Створення діаграми класів в Microsoft Visio 2010. Використання побудованої моделі при модифікаціях системи. Структура системи, її класи, їх атрибути та оператори.

    практическая работа [764,0 K], добавлен 07.05.2014

  • Стратегія побудови та забезпечення безпеки мережі Wi-Fi, характеристика стандартних методів її захисту. Сценарії проектування та розгортання мережі, радіообстеження зони її покриття, налаштування, підключення точок доступу та реалізація захисту.

    дипломная работа [2,2 M], добавлен 02.11.2013

  • Автоматизація роботи диспетчера швидкої допомоги. Забезпечення контролю, обігу документів та створення карток хворих при занесенні інформації бригад швидкої допомоги за допомогою програмного забезпечення. Захист системи від несанкціонованого доступу.

    курсовая работа [1,4 M], добавлен 14.09.2014

  • Використання полів в Microsoft Office Word і функції "Слияние" для злиття двох документів Word i Excel. Створення списку запрошених із зазначенням їх статі. Складання тексту запрошення, налаштування полів програми і запуск функції з'єднання даних.

    лабораторная работа [74,2 K], добавлен 15.09.2010

  • Фон робочого столу у Windows 7. Зміна кольору елементів робочого столу. Асортимент доступних гаджетів. Панель управління. Вдосконалення програм Microsoft. Формування звітів. Налаштування безпеки. Відновлення системи. Зміна параметрів облікового запису.

    реферат [1,6 M], добавлен 25.04.2013

  • Архітектура управління доступом до інформаційних ресурсів у сучасній розподіленій ІТ-інфраструктурі. Базові механізми захисту та управління, які використовуються при розмежуванні доступу в мережі. Визначення та використання менеджменту доступу.

    статья [191,6 K], добавлен 31.08.2017

  • Робота зі сторінками, абзацами та текстом у Microsoft Word, використання таблиць замість символів табуляції, робота з формулами та малюнками. Робота з Microsoft Excel, використання статистичних функцій, вирішення рівнянь, створення адресної книги.

    контрольная работа [1,6 M], добавлен 21.04.2011

  • Технології організації безпечного доступу на об’єкт. Принцип роботи мережевої системи контролю доступу. Технологія сканування відбитків пальців. Опис базових параметрів біометричного обладнання. Елементи ідентифікації в сучасних системах доступу.

    дипломная работа [4,9 M], добавлен 27.01.2012

  • Поняття та головні принципи створення системи управління базами даних, їх сутність, основні характеристики та складові елементи, функції та типова структура, типи. Вивчення проблеми та визначення необхідності використання даної системи в економіці.

    реферат [14,6 K], добавлен 03.12.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.