Мазмунга өтүү

Коопсуздук жана жетүүнү көзөмөлдөө: колдонуучулар, ролдор, GRANT жана REVOKE

Сабактын башталышы

Коопсуздук жана жетүүнү көзөмөлдөө

Колдонуучулар, ролдор, GRANT жана REVOKE жана өндүрүштүк маалыматты коргогон эң аз артыкчылык принциби

Негизги идея: маалымат базасынын кыймылдаткычы ар бир туташуу боюнча эки нерсени чечет: сен кимсиң (аутентификация) жана сага эмне кылууга уруксат (авторизация). Аутентификация - бул кирүү (эсеп жазуусу плюс сыр). Авторизация - бул артыкчылыктардын топтому - SELECT, INSERT же DROP сыяктуу типтелген уруксаттар, сервер, база, таблица же атүгүл бир мамыча менен чектелген. GRANT артыкчылыктарды берет, REVOKE аларды кайтарып алат, ал эми ролдор артыкчылыктарды топтоп, аларды бир жолу тууралап, көп эсеп жазууларында кайра колдонууга мүмкүндүк берет.
Аягында сиз төмөнкүлөрдү жасай аласыз:
  • CREATE USER менен кирүү эсептерин түзүү жана 'user'@'host' инсандыгын түшүнүү,
  • артыкчылык иерархиясын окуу - глобалдык, база, таблица, мамыча жана подпрограмма деңгээли,
  • GRANT / REVOKE менен эсепке керектүү дал ошол артыкчылыктарды берүү жана кайтаруу,
  • MySQL 8де кайра колдонулуучу ROLE объекттерин куруу жана аларды демейки ролдор катары дайындоо,
  • эң аз артыкчылыкты колдонуу, ошондо тиркеме - же SQL-инъекциянын жүктөмү - өзү арналган нерсеге гана тийе алат.

1. Аутентификация жана авторизация

Бул эки сөз көп учурда чаташтырылат, бирок кыймылдаткыч аларды катуу бөлүп кармайт. Аутентификация "бул чын эле ошол эсепби?" деген суроого жооп берет - бул туташуу учурундагы сырсөз текшерүү. Авторизация "бул эсеп бул объектте бул операторду аткара алабы?" деген суроого жооп берет - ал ар бир суроодо, сервердин уруксат таблицаларында сакталган артыкчылыктарга каршы текшерилет.

MySQLде эсеп жазуусу жөн гана ат эмес - бул ат плюс хост үлгүсү: 'user'@'host'. Башка хосттон туташкан ошол эле колдонуучу аты башка укуктары бар башка эсеп болушу мүмкүн. Бул "тиркеме тиркеме серверлеринен гана туташа алат, ноутбуктан эч качан эмес" деп айтууга мүмкүндүк берет.

-- Бир жеке подсеттен гана туташа ала турган колдонуучу
CREATE USER 'app_web'@'10.0.%' IDENTIFIED BY 'S0me-Strong-Secret';

-- Каалаган жерден туташа ала турган колдонуучу (%). Ыңгайлуу, бирок чабуул бети кеңири.
CREATE USER 'reporting'@'%' IDENTIFIED BY 'An0ther-Secret';

-- Сырсөздү алмаштырууну талап кылуу жана ар 90 күндө мөөнөтү бүтүү
ALTER USER 'app_web'@'10.0.%' PASSWORD EXPIRE INTERVAL 90 DAY;

Колдонуучу түзүү кире алуу мүмкүнчүлүгүнөн (жана information_schema көрүүдөн) башка эч нерсе бербейт. Таптакыр жаңы эсеп сиз ага бир нерсе GRANT кылмайынча бирден-бир бизнес сабын окуй албайт. Бул "демейки боюнча тыюу салынган" баштапкы чекит - калган баары курулган пайдубал.

Бул сабакты YourAIZone платформасында улантыңыз

Толук сабакта — толук түшүндүрмө, чыгарылган мисалдар, көп кездешкен каталар, заматта текшерилүүчү тесттер жана ЖИ-репетитор. Конок катары дароо баштаңыз же прогрессти сактоо үчүн аккаунт түзүңүз.

Толук сабакта

  • Толук түшүндүрмө
  • Чыгарылган мисалдар
  • Көп кездешкен каталар жана алардан кантип качуу керек
  • Тест суроолору: 15
  • Тема боюнча суроолорго жооп берген ЖИ-репетитор
  • Окуучу, ата-эне жана мугалим үчүн прогрессти көзөмөлдөө