M365Con 2027 – безкоштовна онлайн-конференція · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Refresh Token проти Access Token: у чому різниця і чому це важливо в Microsoft Entra ID

By ·

Refresh Token проти Access Token: у чому різниця і чому це важливо в Microsoft Entra ID

Automatically translated with AI from the original post. Read the English original

Cover: Stop OAuth Consent Attacks in Microsoft Entra ID

Якщо ви колись замислювалися, що насправді відрізняє refresh token від access token, ви потрапили за адресою. У непростому світі Microsoft Entra ID і сучасної хмарної безпеки ці два типи токенів відіграють ключові ролі, і кожен має своє призначення, свої особливості та свої правила безпеки. Добре розуміння цих відмінностей може врятувати вас під час проєктування безпечних сценаріїв входу для Microsoft 365, Azure або будь-якого застосунку, пов’язаного з платформою Entra.

Це не просто теорія. Знати, який токен використовувати і коли, де його зберігати і як надійно захищати, — базова навичка для будь-якого ІТ-спеціаліста, розробника чи адміністратора в екосистемі Microsoft. Вибір впливає не лише на безпеку вашого застосунку, а й на щоденний досвід користувачів, особливо коли йдеться про те, щоб залишатися в системі або відновлюватися після інцидентів безпеки.

У цьому посібнику ви побачите, як access token і refresh token вписуються в налаштування автентифікації та авторизації, чому важливий їхній термін дії і що робить кожен з них унікальним, особливо в середовищах Microsoft Entra ID. Наприкінці ви зрозумієте, як поєднати надійні заходи безпеки з зручністю для користувачів, розбираючись у тонкощах управління токенами в хмарі.

Розуміння токенів у сучасній автентифікації

Сучасна автентифікація — це видача потрібних дозволів у потрібний момент, а цифрові токени тут головні гравці. Якщо у вас є онлайн-застосунок або сервіс, ви, імовірно, вже використовуєте токени, навіть не усвідомлюючи цього. Вони виступають посередниками, які дозволяють застосункам підтвердити вашу особу перед хмарним сервісом без того, щоб ви щоразу вводили пароль.

Токени є основою фреймворку OAuth 2.0, який забезпечує входи і безпечний доступ на таких платформах, як Microsoft Entra ID. Замість керування ідентифікаторами сесій або крихкими cookie застосунки тепер покладаються на ці розумні цифрові «перепустки», щоб ідентифікувати користувачів і надавати доступ до чутливих хмарних ресурсів. Такий підхід зробив безпеку одночасно суворішою і зручнішою для великих організацій, які переходять у хмару.

Усе працює завдяки тому, що для різних завдань існують різні типи токенів. Одні призначені для тимчасового доступу: швидкі й одноразові. Інші підтримують сесії у фоновому режимі, дозволяючи працювати весь день без постійних повторних входів. Саме це розмежування між access token і refresh token має вирішальне значення для того, як хмарні сервіси Microsoft, зокрема Entra ID, балансують між зручністю для користувачів і безпекою організації.

Цей розділ закладає основи, які вам потрібні: що таке токен, які типи існують і чому їхні ролі так важливі в сучасній автентифікації. Перейдімо до деталей, почавши з найфундаментальнішого питання: що таке токен?

Що таке токен?

Токен у цифровій безпеці — це компактний фрагмент даних, який виступає цифровим обліковим посвідченням. Уявіть його як цифрову версію ключової картки: застосунок пред’являє її, щоб довести вашу особу або права іншій системі. Токени можна використовувати для автентифікації (чи ви той, за кого себе видаєте?) і авторизації (чи маєте ви право робити те, що робите?) у хмарних застосунках і API.

Токени зазвичай базуються на сучасних стандартах, таких як OAuth 2.0, і часто мають вигляд bearer-токенів, наприклад JSON Web Tokens (JWT). Їх віддають перевагу класичним ідентифікаторам сесій, оскільки вони більш переносні, можуть містити структуровані твердження (claims) і забезпечують безпечний доступ до хмарних ресурсів та розподілених систем.

Що таке access token?

Access token — це короткоживучі цифрові облікові посвідчення, які видаються застосунку після успішної автентифікації. Їхнє основне призначення — надати тимчасовий доступ з чітко обмеженими правами до конкретних ресурсів, таких як API, дані користувачів або хмарне сховище, не розкриваючи паролі чи інші чутливі дані.

Ці токени дійсні лише обмежений час, зазвичай 30–90 хвилин у Microsoft Entra ID. Саме їх застосунки надсилають із кожним запитом до API, щоб підтвердити, що користувач має доступ. Відповідно до стандартів OAuth 2.0, access token працюють у Microsoft 365, Azure та будь-якому сервісі, підключеному до Entra ID, забезпечуючи детальні дозволи з обмеженим часом дії.

Що таке refresh token?

Refresh token — це довгоживучі облікові посвідчення, які отримують довірені застосунки після первинного входу. На відміну від access token, основне завдання refresh token — непомітно отримувати нові access token, коли поточний втрачає чинність, не змушуючи користувача автентифікуватися знову.

Отже, refresh token допомагає підтримувати довготривалі сесії та зменшує потребу в тому, щоб користувачі знову і знову входили в систему. У середовищах Microsoft refresh token є ключовим для безперебійної роботи користувачів: він дозволяє застосункам непомітно оновлювати доступ у фоновому режимі між сесіями, пристроями та навіть після збоїв мережі, при цьому надійно захищаючи чутливі облікові дані.

Ключові відмінності між access token і refresh token

На перший погляд access token і refresh token можуть здаватися просто випадковими рядками, але їхні ролі й терміни дії суттєво відрізняються. Вони не взаємозамінні: кожен створений для конкретного призначення в процесі автентифікації Microsoft Entra ID.

Access token — це ваш «перепустка» для викликів API та отримання даних, але лише на короткий час. Їх навмисно роблять короткоживучими, щоб мінімізувати ризики безпеки, особливо якщо токен витече. Refresh token, натомість, живе довше. Його завдання — підтримувати зручність для користувача, непомітно повторно авторизуючи доступ у фоновому режимі.

Розуміти ці відмінності — це не просто академічна вправа. Якщо обрати неправильну стратегію або зберігати токен не в тому місці, ви або змусите користувачів надто часто входити знову, або залишите серйозні діри в безпеці. Наступний блок розділів розбирає, що робить кожен токен, скільки він діє і що робить його безпечним (або ризикованим) на практиці, а не лише в теорії.

Якщо ви проєктуєте архітектуру для Microsoft 365, Azure або будь-якого сервісу, підключеного до Entra ID, зверніть увагу на наведені нижче відмінності. Саме вони визначають баланс між міцною безпекою та безперебійними сесіями для всіх користувачів.

Функціональні ролі: що вони роблять

Access token відкриває доступ до API та хмарних ресурсів, але його можливості обмежені. Щойно access token втрачає чинність, доступ пропадає, якщо у вас немає і refresh token. Refresh token — це «пропуск за лаштунки»: він дає застосунку право непомітно запитати новий access token, не турбуючи користувача повторно.

Отже, у хмарному світі Microsoft 365 і Azure access token забезпечує дії «тут і зараз», а refresh token гарантує, що ці дії можуть продовжуватися у фоновому режимі, сесія за сесією. Такий тандем забезпечує безпечні робочі процеси й позбавляє користувачів постійних проблем з повторною автентифікацією.

Скільки живуть токени і чому важливий термін дії

Access token має короткий термін дії не просто так: за замовчуванням у Entra ID це зазвичай від 30 до 90 хвилин. Вони призначені для того, щоб надати лише достатній доступ до закінчення терміну, зменшуючи ризик у разі витоку. Refresh token, своєю чергою, — це стаєри. Вони часто діють дні, тижні або навіть місяці, залежно від потреб застосунку та налаштованих політик безпеки.

Ця різниця важлива, адже короткоживучі токени означають менше ризику, але потребують частіших оновлень. Довгоживучі refresh token забезпечують безперервні сесії, але підвищують ризики, якщо потраплять не в ті руки. Ключовим є баланс між безпекою та зручністю для користувача.

Характеристики безпеки access і refresh token

Короткоживучі токени доступу для зниження ризиків

Рішення зберігати токени доступу короткоживучими – це не параноя, а розумне управління ризиками. Якщо короткоживучий токен доступу викрадено, вікно для атаки дуже мале. Через годину або раніше він втрачає чинність, що блокує більшість спроб бічного переміщення та повторного використання токенів.

У розподілених системах, таких як Microsoft 365 та Azure, це також гарантує швидке застосування змін дозволів користувачів або дій виходу з системи. Коротка тривалість дії означає, що будь-яке несанкціоноване використання токена має обмежену ціль, тож можлива швидка реакція без потреби в централізованих списках відкликання для кожного токена в обігу.

Довготривалі токени оновлення для безперервної повторної автентифікації

Довготривалі токени оновлення – це передусім зручність для користувачів. Замість того щоб щогодини показувати екран входу, токен оновлення дозволяє застосункам «обміняти» прострочені токени доступу на нові, часто тихо й миттєво. Це суттєво підвищує продуктивність, особливо для застосунків Microsoft 365, які використовуються протягом усього дня, або мобільних клієнтів із нестабільним зв’язком.

Ціна такого підходу: довготривалі токени оновлення несуть більший ризик у разі компрометації. Тому надійні застосунки додають механізми відкликання та політики умовного доступу, зважуючи переваги безперервної повторної автентифікації проти можливості зловживань, якщо токен витече.

Управління життєвим циклом токенів у Microsoft Entra ID

Отримати токени – лише половина справи, а їх керування з часом визначає, наскільки добре поєднуються ваша безпека та досвід користувачів. У Microsoft Entra ID життєвий цикл токена охоплює все: від моменту створення токена доступу або оновлення до того, як і коли його поновлюють, ротують або повністю відкликають.

Цей процес визначається найкращими практиками OAuth 2.0 і специфічними для Microsoft механізмами керування сеансами. Потрібно враховувати загрози в реальному часі (наприклад, атаки повторного відтворення), проблеми з часом (наприклад, розсинхронізацію годинників) і тонкощі глобальних розподілених систем. Щоб усе це зробити правильно, слід добре розуміти ротацію токенів, кроки перевірки та шляхи відкликання.

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

Далі розглянемо, як ротувати й поновлювати токени, як Entra ID видає й перевіряє їх, а також на що звернути увагу щодо часу та нюансів реалізації. Якщо правильно виконати ці кроки, і ваші застосунки, і користувачі вам подякують.

Найкращі практики ротації та поновлення токенів

Як видаються та перевіряються токени в Entra ID

Пільговий період і нюанси реалізації

Пільгові періоди згладжують реальні неузгодженості в часі під час токен-автентифікації. Оскільки сервери й клієнти часто працюють з трохи різними годинниками — це проблема, яку називають розсинхронізацією годинника (clock skew), — Microsoft Entra ID при перевірці терміну дії токенів надає невеликий допуск (зазвичай близько 5 хвилин). Це не дає входу в систему завершуватися помилкою через миттєві розбіжності системного часу.

Для найкращих результатів синхронізуйте годинники всіх серверів через NTP і враховуйте, що високодоступні або багаторегіональні розгортання можуть трохи подовжувати вікна терміну дії токенів. Керуйтеся рекомендаціями щодо пільгових періодів із документації Entra ID і обов’язково тестуйте поведінку на реальному трафіку, особливо для користувачів, які переміщуються між регіонами або часовими поясами.

Безпечне зберігання та використання токенів у клієнтських застосунках

Навіть найнадійніший токен настільки безпечний, наскільки безпечне місце, де він зберігається. Тому безпечне зберігання та поводження з токенами — найпрактичніше питання для будь-якого застосунку, який працює з автентифікацією Microsoft Entra ID. Де зберігати токен доступу або refresh-токен, залежить від клієнта: браузера, мобільного чи настільного застосунку. Кожне середовище має свої переваги, сліпі зони та типові пастки.

Якщо ви вважаєте, що зберігати токени в localStorage браузера безпечно, подумайте ще раз: достатньо однієї атаки XSS, і токен буде викрадено. Мобільні застосунки здаються безпечнішими, але root- або jailbreak-доступ може розкрити й «безпечні» токени. А в односторінкових застосунках (SPA) навіть немає безпечного сховища, недоступного для зловмисних скриптів.

Цей розділ дає потрібні рекомендації, щоб правильно обрати варіанти зберігання для різних типів застосунків. Ви побачите огляд практичних варіантів — безпечні cookie з прапорцем HTTP-only, пам’ять сеансу браузера, платформні безпечні сховища — та обов’язкові кроки для надійного захисту постійних токенів. Також ви дізнаєтеся, чому публічним клієнтам потрібна особлива увага, адже їхні клієнтські секрети не можна приховати, і як побудувати план зберігання й ротації з урахуванням ризиків для кожного сценарію.

Безпека вашого застосунку залежить від цих рішень, тож не покладайтеся на випадок. Вивчіть безпечні та небезпечні шаблони, які визначають, чи витримає ваш застосунок, чи зламається за перших ознак викрадення токенів.

Безпечне зберігання refresh-токенів для різних типів клієнтів

Особливі міркування щодо ротації токенів у публічних клієнтах

Найкращі практики керування токенами доступу та оновлення

Знати правила безпеки токенів — одне, а застосовувати їх щодня — інше. Коли йдеться про чутливі дані Microsoft 365, робочі навантаження в Azure або будь-який сценарій Entra ID, ставки вищі: потрібно поєднати надійний захист із користувацьким досвідом, щоб люди не скаржилися на надто часті входи.

Цей розділ охоплює обов’язкові дії та те, чого не варто робити, коли йдеться про керування токенами оновлення та доступу у великих масштабах. Будьмо реалістами: хмара Microsoft має свої особливості — від складної умовної автентифікації до тісної інтеграції з Microsoft Defender і Microsoft Purview для моніторингу та управління. Найкращі практики тут стосуються кожного етапу: видачі токенів, безпечного зберігання, ротації, використання і, коли треба, швидкого відкликання доступу, якщо щось пішло не так.

Далі — практичні висновки, які можна впровадити вже зараз, щоб ваші застосунки забезпечували подвійну обіцянку «швидше і безпечніше». Хочете більше про зміцнення безпеки Microsoft 365 без шкоди для продуктивності користувачів? Ознайомтеся з ширшим посібником про посилення безпеки M365 із збереженням задоволеності користувачів, який охоплює Defender, Purview та умовний доступ у середовищах Entra ID.

Нижче наведено підсумок основних правил вибору, обробки та захисту токенів доступу та оновлення в будь-якій реалізації на базі Microsoft.

Головне про вибір і використання токенів

Висновки та швидка перевірка знань

Розуміння різниці між токенами доступу та токенами оновлення — це не формальність у процесі OAuth 2. Саме це допомагає будувати безпечні та зручні сценарії на платформі ідентифікації Microsoft, зокрема в Entra ID. Знайти правильний баланс між короткими термінами життя токенів заради безпеки та довшими циклами оновлення заради зручності — справжнє мистецтво, особливо коли йдеться про сеанси користувачів на кількох пристроях або сервісах одночасно.

Готові до швидкої перевірки знань? Запитайте себе: як би ви обробляли закінчення терміну дії токена в застосунку з нестабільним інтернетом? Чи має токен оновлення взагалі потрапляти до ваших бекенд-мікросервісів? Якщо ця стаття була вам корисною або чимось вас навчила, поділіться своєю думкою: найкращі коментарі відкривають нові можливості та допомагають усій спільноті. Сподобалося? Залишайтеся з нами та продовжуйте розвивати свої навички безпеки!

Microsoft Entra ID Microsoft Entra

Related articles

RSS