По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В этой статье мы рассмотрим механизмы масштабируемости BGP и связанные с ними концепции. Предыдущие статьи цикла про BGP: Основы протокола BGP Построение маршрута протоколом BGP Формирование соседства в BGP Оповещения NLRI и политики маршрутизации BGP Видео: Основы BGP за 7 минут Механизмы масштабируемости BGP Истощение доступных автономных системных номеров явилось проблемой точно так же, как было проблемой для интернета истощение IP-адресов. Чтобы решить эту проблему, инженеры обратились к знакомому решению. Они обозначили диапазон номеров AS только для частного использования. Это позволяет вам экспериментировать с AS конструкцией и политикой, например, в лаборатории и использовать числа, которые гарантированно не конфликтуют с интернет-системами. Помните, что число AS-это 16-разрядное число, допускающее до 65 536 чисел AS. Диапазон для частного использования: 64512-65535. Еще одним решением проблемы дефицита, стало расширение адресного пространства имен. Было утверждено пространство, представляющее собой 32-разрядное число. В течение длительного времени, с точки зрения масштабируемости, одноранговые группы Border Gateway Protocol считались абсолютной необходимостью. Мы настраивали одноранговые группы для уменьшения конфигурационных файлов. Так же мы настраивали одноранговые группы для повышения производительности. Преимущества производительности были нивелированы с помощью значительно улучшенных механизмов, сейчас. Несмотря на это, многие организации все еще используют одноранговые группы, поскольку они поняты и легки в настройке. Появились в BGP одноранговые группы для решения нелепой проблемы избыточности в BGP конфигурации. Рассмотрим простой (и очень маленький) пример 1. Даже этот простой пример отображает большое количество избыточной конфигурации. Пример 1: типичная конфигурация BGP без одноранговых групп ATL1(config)#router bgp 200 ATL1( config-router)#neiqhbor 10.30.30.5 remote-as 200 ATL1( config-router)#neiqhbor 10.30.30.5 update- source lo0 ATL1( config= router)#neiqhbor 10.30 .30.5 password S34Dfr112s1WP ATL1(config-router)#neiqhbor 10.40.40.4 remote-as 200 ATL1( config-router)#neiqhbor 10.40.40 .4 update- source lo0 ATL1(config-router)#neiqhbor 10.40.40.4 password S34Dfr112s1WP Очевидно, что все команды настройки относятся к конкретному соседу. И многие из ваших соседей будут иметь те же самые характеристики. Имеет смысл сгруппировать их настройки в одноранговую группу. Пример 2 показывает, как можно настроить и использовать одноранговую группу BGP. Пример 2: одноранговые группы BGP ATL2 (config)#router bgp 200 ATL2 (config-router)#neighbor MYPEERGR1 peer-group ATL2 (config-router)#neighbor MYPEERGR1 remote-as 200 ATL2 (config-router)#neighbor MYPEERG1l update-source lo0 ATL2(config-router)#neighbor MYPEERGRl next-hop-self ATL2 (config-router)#neighbor 10.40.40 .4 peer-group MYPEERGR1 ATL2 (config-router)#neighbor 10.50.50 .5 peer-group MYPEERGR1 Имейте в виду, что, если у вас есть определенные настройки для конкретного соседа, вы все равно можете ввести их в конфигурацию, и они будут применяться в дополнение к настройкам одноранговой группы. Почему же так часто использовались одноранговые группы? Они улучшали производительность. Собственно говоря, это и было первоначальной причиной их создания. Более современный (и более эффективный) подход заключается в использовании шаблонов сеансов для сокращения конфигураций. А с точки зрения повышения производительности теперь у нас есть (начиная с iOS 12 и более поздних версий) динамические группы обновлений. Они обеспечивают повышение производительности без необходимости настраивать что-либо в отношении одноранговых групп или шаблонов. Когда вы изучаете одноранговую группу, вы понимаете, что все это похоже на шаблон для настроек. И это позволит вам использовать параметры сеанса, а также параметры политики. Что ж, новая и усовершенствованная методология разделяет эти функциональные возможности на шаблоны сессий и шаблоны политики. Благодаря шаблонам сеансов и шаблонам политик мы настраиваем параметры, необходимые для правильной установки сеанса, и помещаем эти параметры в шаблон сеанса. Те параметры, которые связаны с действиями политик, мы помещаем в шаблон политики. Одна из замечательных вещей в использовании этих шаблонов сеансов или политик, а также того и другого, заключается в том, что они следуют модели наследования. У вас может быть шаблон сеанса, который выполняет определенные действия с сеансом. Затем вы можете настроить прямое наследование так, чтобы при создании другого наследования оно включало в себя вещи, созданные ранее. Эта модель наследования дает нам большую гибкость, и мы можем создать действительно хорошие масштабируемые проекты для реализаций BGP. Вы можете использовать шаблоны или одноранговые группы, но это будет взаимоисключающий выбор. Так что определитесь со своим подходом заранее. Вы должны заранее определиться, что использовать: использовать ли устаревший подход одноранговых групп или же использовать подход шаблонов сеанса и политики. После выбора подхода придерживайтесь его, так как, использовать оба подхода одновременно нельзя. Теперь можно предположить, что конфигурация для шаблонов сеансов будет довольно простой, и это так. Помните, прежде всего, все что мы делаем здесь и сейчас, относится к конкретной сессии. Поэтому, если мы хотим установить timers, нам нужно установить remote-as – и это будет считается параметром сеанса. Например, мы делаем update source. Мы настраиваем eBGP multihop. Все это имеет отношение к текущему сеансу, и именно это мы будем прописывать в шаблоне сеанса. Обратите внимание, что мы начинаем с создания шаблона. Поэтому используем команду template peer-session, а затем зададим ему имя. И тогда в режиме конфигурации шаблона можем настроить наследование, которое позволит наследовать настройки от другого однорангового сеанса. Можем установить наш remote-as как и/или update source. После завершения, мы используем команду exit-peer-session, чтобы выйти из режима конфигурации для этого сеанса. Пример 3 показывает конфигурацию шаблона сеанса. Пример 3: Шаблоны сеансов BGP ATL2#conf t Enter configuration commands, one per line. End with CNTL/Z. ATL2 (config)#router bgp 200 ATL2 (config-router)#template peer- session MYNAME ATL2 (config-router-stmp)#inherit peer- session MYOTHERNAME ATL2 (config- router-stmp )#remote-as 200 ATL2(config-router-stmp )#password MySecrectPass123 ATL2 (config-router-stmp )#exit-peer-session ATL2 (config-router)#neiqhbor 10.30.30 .10 inherit peer-session MYNAME ATL2 (config-router)#end ATL2# Это простой пример настройки соседства с помощью оператора neighbor и использования наследования однорангового сеанса. Затем присваивается имя однорангового сеанса, созданного нами для нашего шаблона сеанса. Это соседство наследует параметры сеанса. Помните, что, если вы хотите сделать дополнительную настройку соседства, можно просто присвоить соседу IP-адрес, а затем выполнить любые настройки вне шаблона однорангового сеанса, которые вы хотите дать этому соседу. Таким образом, у вас есть та же гибкость, которую мы видели с одноранговыми группами, где вы можете настроить индивидуальные параметры для этого конкретного соседа вне шаблонного подхода этого соседства. Вы можете подумать, что шаблоны политик будут иметь сходную конструкцию и использование с шаблонами сеансов, и вы будете правы. Помните, что если ваши шаблоны сеансов находятся там, где мы собираемся настроить параметры, которые будут относиться к сеансу BGP, то, конечно, шаблоны политик будут храниться там, где мы храним параметры, которые будут применяться к политике. Пример 4 показывает настройку и использование шаблона политики BGP. Пример 4: Шаблоны политики BGP ATL2#conf t Enter configuration commands, one per line. End with CNTL/Z. ATL2 (config)#router bgp 200 ATL2(config-router)#template peer-policy MYPOLICYNAME ATL2 (config-router-ptmp )#next-hop-self ATL2 (config-router-ptmp )#route-map MYMAP out ATL2 (config-router-ptmp )#allowas-in ATL2 (config-router-ptmp )#exit-peer-policy ATL2 (config-router)#neighbor 10.40.40.10 remote-as 200 ATL2 (config-router)#neighbor 10.40.40.10 inherit peer-policy MYNAME ATL2 (config-router)#end ATL2# Да, все эти параметры, которые мы обсуждали при изучении манипуляций с политикой, будут тем, что мы будем делать внутри шаблона политики. Однако одним из ключевых отличий между нашим шаблоном политики и шаблоном сеанса является тот факт, что наследование здесь будет еще более гибким. Например, мы можем перейти к семи различным шаблонам, от которых мы можем непосредственно наследовать политику. Это дает нам еще более мощные возможности наследования с помощью шаблонов политик по сравнению с шаблонами сеансов. Опять же, если мы хотим сделать независимые индивидуальные настройки политики для конкретного соседа, мы можем сделать это, добавив соответствующие команды соседства. Благодаря предотвращению циклов и правилу разделения горизонта (split-horizon rule) IBGP, среди прочих факторов, нам нужно придумать определенные решения масштабируемости для пирингов IBGP. Одним из таких решений является router reflector. Рис. 1: Пример топологии router reflector Конфигурация router reflector удивительно проста, поскольку все это обрабатывается на самом router reflector (R3). Клиенты route reflector – это R4, R5 и R6. Они совершенно не знают о конфигурации и настроены для пиринга IBGP с R3 как обычно. Пример 5 показывает пример конфигурации router reflector. Обратите внимание, что это происходит через простую спецификацию клиента router reflector. Пример 5: BGP ROUTE REFLECTOR R3#configure terminal Enter configuration commands, one per line. End with CNTL/Z. R3 (config)#router bgp 200 R3 (config-router)#neighbor 10.50.50.10 remote -as 200 R3 (config-router)#neighbor 10.50.50.10 route-reflector-client R3 (config-router)#end R3# Route reflector автоматически создает значение идентификатора (ID) кластера для кластера, и это устройство и эти клиенты будут частью того, что мы называем кластером route reflector. Cisco рекомендует разрешить автоматическое назначение идентификатора кластера для идентификации клиента. Это 32-разрядный идентификатор, который BGP извлекает из route reflector. Магия Route reflector заключается в том, как меняются правила IBGP. Например, если обновление поступает от клиента Route reflector (скажем, R4), то устройство R3 «отражает» это обновление своим другим клиентам (R5 и R6), а также своим неклиентам (R1 и R2). Это обновление происходит даже при том, что конфигурация для IBGP значительно короче полной сетки пирингов, которая обычно требуется. А теперь что будет, если обновление поступит от не клиента Route reflector (R1)? Route reflector отправит это обновление всем своим клиентам Route reflector (R4, R5 и R6). Но тогда R3 будет следовать правилам IBGP, и в этом случае он не будет отправлять обновление через IBGP другому не клиенту Route reflector (R2). Чтобы решить эту проблему, необходимо будет создать пиринг от R1 к устройству R2 с помощью IBGP. Или, можно добавить R2 в качестве клиента Route reflector R3. Есть еще один способ, которым мы могли бы решить проблему с масштабируемостью IBGP- это манипулирование поведением EBGP. Мы делаем это с конфедерациями. Вы просто не замечаете, что конфедерации используются так же часто, как Route reflector. И причина состоит в том, что они усложняют нашу топологию, и делают поиск неисправностей более сложным. На рис. 2 показан пример топологии конфедерации. Рисунок 2: Пример топологии конфедерации Мы имеем наш AS 100. Для создания конфедерации необходимо создать небольшие субавтономные системы внутри нашей основной автономной системы. Мы их пронумеруем с помощью, номеров автономных систем только для частного использования. Что мы имеем, когда манипулируем поведением eBGP, что бы имеет конфедерацию EBGP пирингов? Это позволяет нам установить пиринги между соответствующими устройствами, которые хотим использовать в этих автономных системах. Как вы можете догадаться, они не будут следовать тем же правилам, что и наши стандартные пиринги EBGP. Еще один важный момент заключается в том, что все это для внешнего неконфедеративного мира выглядит просто как единый AS 100. Внутри мы видим реальные AS, и конфедеративные отношения EBGP между ними. Помимо устранения проблемы разделения горизонта IBGP, что же меняется с пирингами конфедерации EBGP? В следующем прыжке поведение должно измениться. Следующий прыжок не меняется тогда, когда мы переходим от одной из этих небольших конфедераций внутри нашей АС к другой конфедерации. Вновь добавленные атрибуты обеспечивают защиту от цикла из-за конфедерации. Атрибут AS_confed_sequence и AS_confed_set используются в качестве механизмов предотвращения циклов. Пример 6 показывает пример частичной настройки конфедерации BGP. R3#configure terminal Enter configuration commands, one per line. End with CNTL/Z. R3 (config)#router bgp 65501 R3(config-router)#bgp confederation identifier 100 R3 (config-router)#bgp confederation peers 65502 R3 (config-router)#neighbor 10 .20.20.1 remote-as 65502 R3 (config-router)#end R3# Иногда возникает необходимость применения общих политик к большой группе префиксов. Это делается легко, если вы помечаете префиксы специальным значением атрибута, называемым сообществом (community). Обратите внимание, что сами по себе атрибуты сообщества ничего не делают с префиксами, кроме как прикрепляют значение идентификатора. Это 32-разрядные значения (по умолчанию), которые мы можем именовать, чтобы использовать дополнительное значение. Вы можете настроить значения сообщества таким образом, чтобы они были значимы только для вас или значимы для набора AS. Вы также можете иметь префикс, который содержит несколько значений атрибутов сообщества. Кроме того, можно легко добавлять, изменять или удалять значения сообщества по мере необходимости в вашей топологии BGP. Атрибуты сообщества могут быть представлены в нескольких форматах. Более старый формат выглядит следующим образом: Decimal - 0 to 4294967200 (в десятичном) Hexadecimal – 0x0 to 0xffffffa0 (в шестнадцатеричном) Более новый формат: AA:NN AA - это 16-битное число, которое представляет ваш номер AS, а затем идет 16-битное число, используемое для задания значимости своей политике AS. Таким образом, вы можете задать для AS 100 100:101, где 101- это номер внутренней политики, которую вы хотите применить к префиксам. Есть также хорошо известные общественные значения. Это: No-export - префиксы не объявляются за пределами AS. Вы можете установить это значение, когда отправляете префикс в соседний AS. чтобы заставить его (соседний AS) не объявлять префикс за собственные границы. Local-AS - префиксы с этим атрибутом сообщества никогда не объявляются за пределами локального AS No-advertise - префиксы с этим атрибутом сообщества не объявляются ни на одном устройстве Эти хорошо известные атрибуты сообщества просто идентифицируются по их зарезервированным именам. Есть также расширенные сообщества, которые также можно использовать. Они предлагают 64-битную версию для идентификации сообществ! Задание параметров осуществляется настройкой TYPE:VALUE. Выглядит оно следующим образом: 65535:4294967295 Как вы можете догадаться, мы устанавливаем значения сообщества, используя route maps. Пример 7 показывает пример настроек. Обратите внимание, что в этом примере также используется список префиксов. Они часто используются в BGP для гибкой идентификации многих префиксов. Они гораздо более гибки, чем списки доступа для этой цели. Пример 7: Установка значений сообщества в BGP R3#configure terminal Enter configuration commands, one per line. End with CNTL/Z. R3(config)#ip prefix-list MYLIST permit 172.16.0.0/16 le 32 R3(config)#route-map SETCOMM permit 10 R3(config-route-map)#match ip address prefix-list MYLIST R3(config-route-map)#set community no-export R3(config-route-map)#route-map SETCOMM permit 20 R3(config)#router bgp 100 R3(config-router)#neighbor 10.20.20.1 route-map SETCOMM out R3 (config-router)#neighbor 10.20.20.1 send-community R3(config-router)#end R3#
img
В этой статье мы разберем принцип работы и настройку IP-телефонии по Ethernet сетям. В мире IP-телефонии телефоны используют стандартные порты Ethernet для подключения к сети, и поэтому для отправки и приема голосового трафика, передаваемого посредством IP-пакетов, они используют стек протоколов TCP/IP. Чтобы это работало, необходимо, чтобы порт коммутатора работал как порт доступа, но, в то же время, этот порт работал как магистраль для передачи другого трафика. Принцип работы VLAN для передачи данных и голоса До IP-телефонии компьютер и телефон располагались на одном рабочем месте. Телефон подключался по специальному телефонному кабелю (телефонный UTP-кабель). Причем этот телефон был подключен к специальному голосовому устройству (часто называемому voice switch или частной телефонной станцией private branch exchange [PBX]). ПК, конечно же, подключался с помощью Ethernet кабеля (UTP витой пары) к обычному коммутатору локальной сети, который находился в коммутационном шкафу - иногда в том же коммутационном шкафу, что и голосовой коммутатор (voice switch). На рисунке показана эта идея. Предположим, что у нас есть три виртуальные сети VLAN1, VLAN2 и VLAN3. Виртуальные сети VLAN 1 и VLAN 3 содержат по две пары ПК, которые подключаются к коммутатору через отдельные интерфейсы. Для сети VLAN 1 отведены четыре интерфейса "fa0/12", "fa0/11", "fa0/22", и "fa0/21" соответственно. Аналогично, 4 интерфейса отведены для сети VLAN 3 - "fa0/15", "fa0/16", "fa0/23", и "fa0/24" соответственно. Сеть VLAN 2 состоит из двух ПК, которые подключаются к коммутатору через интерфейсы "Fa0/13" и " Fa0/14". Два коммутатора соединены между собой через магистраль, и интерфейсы "Gi0/1" и "Gi0/2". Термин IP-телефония относится к отрасли сети, в которой телефоны используют IP-пакеты для передачи и приема голоса, представленного битами в части данных IP-пакета. Телефоны подключаются к сети, как и большинство других устройств конечных пользователей, используя либо кабель Ethernet, либо Wi-Fi. Новые IP-телефоны не подключаются непосредственно по кабелю к голосовому коммутатору, а подключаются к стандартной IP-сети с помощью кабеля Ethernet и порта Ethernet, встроенного в телефон. После чего телефоны связываются по IP-сети с программным обеспечением, которое заменило операции вызова и другие функции АТС. Переход от использования стационарных телефонов, которые работали (некоторые работают по сей день) с использованием телефонных кабелей к новым IP-телефонам (которые нуждались в UTP-кабелях, поддерживающих Ethernet) вызвал некоторые проблемы в офисах. В частности: Старые, не IP-телефоны, использовали категорию UTP-кабелей, у которых частотный диапазон не поддерживал скорость передачи данных в 100-Mbps или 1000-Mbps. В большинстве офисов был один кабель UTP, идущий от коммутационного шкафа к каждому столу. Теперь же на два устройства (ПК и IP-телефон) требовалось два кабеля от рабочего стола к коммутационному шкафу. Прокладка нового кабеля к каждому рабочему месту вызовет дополнительные финансовые затраты, и плюс потребуется больше портов коммутатора. Чтобы решить эту проблему, компания Cisco встроила небольшие трехпортовые коммутаторы в каждый телефон. IP-телефоны включают в себя небольшой коммутатор локальной сети, расположенный в нижней части телефона. На рисунке показаны основные кабели, причем кабель коммутационного шкафа подключается напрямую к одному физическому порту встроенного коммутатора телефона, ПК подключается патч-кордом к другому физическому порту телефона, а внутренний процессор телефона подсоединяется к внутреннему порту коммутатора телефона. Компании, использующие IP-телефонию, теперь могут подключать два устройства к одному порту доступа. Кроме того, лучшие практики Cisco, для проектирования IP-телефонии, советуют поместить телефоны в один VLAN, а ПК в другой VLAN. Чтобы это работало, порт коммутатора действует частично в режиме канала доступа (для трафика ПК) и частично как магистраль (для трафика телефона). Особенности настройки VLAN’ов на этом порту: VLAN передачи данных: та же идея настройки, что и VLAN доступа на access порту, но определенная как VLAN на этом канале для пересылки трафика для устройства, подключенного к телефону на рабочем месте (обычно ПК пользователя). Voice VLAN: VLAN для пересылки трафика телефона. Трафик в этой VLAN обычно помечается заголовком 802.1 Q. На рисунке изображена типичная конструкция локальной сети. Имеется коммутатор, подключенный к двум последовательным уровням сетей, VLAN 11 и VLAN 10, где сеть VLAN 11- Voice VLAN, содержащая 4 IP-телефона, и сеть VLAN 10 - Data VLAN, состоящая из 4 ПК. Настройка и проверка работы Data и Voice VLAN Для настройки порта коммутатора, который сможет пропускать голосовой трафик и информационные данные, необходимо применить всего несколько простых команд. Однако разобраться в командах, позволяющих просмотреть настройки режима работы порта, непросто, так как порт действует как access порт во многих отношениях. Ниже показан пример настройки. В данном примере используются четыре порта коммутатора F0/1F0/4, которые имеют базовые настройки по умолчанию. Затем добавляются соответствующие VLAN’ы: VLAN 10 Data Vlan, VLAN 11- Voice Vlan. Далее все четыре порта настраиваются как порты доступа и определяется VLAN доступа (Vlan 10 Date Vlan). В конце настройки определяем на порт VLAN для передачи голосовых данных (Vlan 11- Voice Vlan). Данный пример иллюстрирует работу сети, изображенную на рисунке: При проверке состояния порта коммутатора, из примера выше, увидим разницу в отображаемой информации выходных данных, по сравнению с настройками по умолчанию порта доступа и магистрального порта. Например, команда show interfaces switchport показывает подробные сведения о работе интерфейса, включая сведения о портах доступа. В примере 2 отображены эти детали (подчеркнуты) для порта F0/4 после добавления настроек из первого примера. Первые три выделенные строки в выходных данных отображают детали настройки, соответствующие любому порту доступа. Команда switchport mode access переводит порт в режим порта доступа. Далее, как показано в третьей выделенной строке, команда switchport access vlan 10 определила режим доступа VLAN. Четвертая выделенная строка показывает новый фрагмент информации: идентификатор Voice VLAN, активированная командой switchport voice vlan 11. Эта небольшая строка является единственной информацией об изменении состояния порта.
img
Предприятия, использующие различные бизнес-приложения, должны поддерживать конфиденциальность данных и предоставлять права доступа в соответствии с ролями пользователей во всей инфраструктуре. Сделать это достаточно сложно. SAML (Security Assertion Markup Language) значительно помогает в этом плане. Давайте посмотрим, что же это такое и как оно работает, в чем его преимущества, чем оно отличается от SSO, а в чем оно похоже, и как оно помогает в проверке доступа к API для обеспечения максимального уровня безопасности. Что такое SAML? Основная работа SAML заключается в том, чтобы позволить IdP (поставщикам удостоверений - identity details providers) делиться учетными данными, связанными с аутентификацией, с соответствующими органами. Это открытый стандарт, который позволяет предоставить унифицированный доступ для всех видов приложений без ущерба для безопасности данных. Вот еще несколько фактов, которые вы должны знать о SAML: Он использует XML для завершения стандартного соединения между IdP и поставщиками услуг для обеспечения надежной связи. Процесс аутентификации SAML подтверждает личность конечного пользователя, а авторизация SAML определяет, какие ресурсы должны быть доступны для пользователя. Он проверяет SP (поставщиков услуг), IdP (поставщиков удостоверений) и конечных пользователей, если пользователь имеет право на требуемое действие. Это стандарт OASIS. Обеспечивает безопасный обмен данными. Он поддерживает активацию SSO. Однако данная процедура требует подключения к внешнему поставщику удостоверений и совместного с ним использования XML-токенов. Кратко о SSO (Single Sign-on – система однократного входа) SSO считается одним из самых эффективных механизмов аутентификации и объединяет несколько экранов входа. Это значит, что вам не нужно самостоятельно входить в систему в своих приложениях. Вместо этого для приложений SaaS (Software as a Service) будет работать всего один набор данных для входа для всех ваших учетных записей. Это обеспечивает более быстрый доступ к приложению, делает его более простым и подконтрольным. Это является ключевым аспектом IAM-стратегий компаний, стремящихся к беспрепятственной проверке доступа к приложениям и наилучшей реализации безопасности. Включение SSO дает следующие возможности: Надежные пароли, так как нет необходимости создавать несколько схожих паролей. Достаточно иметь один сложный и надежный пароль. Пользователям не нужно запоминать различные пароли. Простое использование MFA (Многофакторная аутентификация), которое проверяет несколько факторов, так как его активация в одной точке обеспечивает защиту различных приложений. Политика быстрого повторного ввода пароля, поскольку у администраторов есть единственная точка применения политики. Удобное внутренне управление учетными данными, поскольку SSO хранит пароли пользователей внутри и предоставляет IT-специалистам гораздо больший контроль над базой данных. Мгновенное восстановление пароля пользователя, поскольку IT-команда должна работать над восстановлением одного пароля. Аутентификация SAML – пошагово Давайте рассмотрим всю процедуру в нескольких шагах. Прежде всего, служба идентификации передает входные данные, связанные со входом пользователя в систему, поставщику услуг. Для бесперебойной передачи параметров SAML поставщикам услуг каждый конечный пользователь обязан один раз войти в систему через SSO. Затем, SP связывается с IdP для подтверждения достоверности запроса. Этот процесс также требует предоставления согласия на настройку системы однократного входа SAML. Это гарантирует то, что для проверки личности и авторизации пользователя/запроса используются одни и те же параметры SAML. Преимущества SAML Данный подход имеет стандартный формат, поэтому он предоставляет предприятиям открытый подход, не зависящий от совместимости платформ и реализаций поставщиков. Он использует слабосвязанные каталоги, что означает, что нет необходимости хранить и синхронизировать пользовательские данные с локальными каталогами. Так как он поддерживает SSO, то конечные пользователи получат доступ к приложениям. SAML позволяет предприятиям повторно использовать интеграции для регистрации/входа, сохраняя при этом тот же уровень безопасности. Это значительно сокращает расходы на управление аккаунтом. Обязанность обслуживания удостоверений пользователей переносится на IdP, когда работает SAML. Это освобождает поставщиков услуг от лишних проблем, связанных с регистрацией и входом в систему. Что такое SAML Assertion? Выражаясь простым языком, это документ в формате XML, который содержит в себе информацию о статусе авторизации пользователя. Эта информация предоставляется IdP поставщику услуг. Есть утверждения трех типов: Authentication – это проверка личности пользователя, связанных с ней методов и сведения об отслеживании продолжительности сеанса. Assigned обеспечивает успешную передачу SAML-токенов поставщику услуг. IdP и SP используют одни и те же атрибуты для подтверждения личности создателя запроса. И последнее, утверждение типа Authorization-decision объясняет, где пользователю предоставляется доступ в соответствии с его запросом. Если будет отказано в доступе, то также будет предоставлена подробно описанная причина этого отказа. Пример SAML Ниже приведен самый простой пример того, как SAML обрабатывает свои операции: Пусть конечный пользователь по имени Джон пытается получить доступ к бизнес-приложению в служебных целях. Джон начинает сеанс с SSO и завершает часть процедуры проверки личности. Zoho CRM запрашивает у IdP информацию о пользователе для подтверждения. Программное средство SaaS получает доступ к результатам для завершения этапа проверки полномочий. IdP отвечает по этому запросу в формате SAML. На нем будут цифровые подписи Джона. На основании сходства между идентифицированными данными, которые предоставил Джон и IdP, в ответном сообщении могут содержаться и другие сведения. Программное средство SaaS получает ответ и предоставляет доступ или отказывает в доступе в соответствии с инструкциями IdP. Если доступ был разрешен, то Джон может использовать свою учетную запись Zoho. SAML vs SSO SAML помогает в проверке личности пользователя и делает возможным использование системы однократного входа (SSO). SSO может существовать отдельно и позволяет конечным пользователям использовать различные приложения с унифицированными данными для входа. SSO может задействовать стандартные протоколы SAML при обмене информацией, поскольку у него нет собственным специальных протоколов. Помимо этого, он может использовать сторонние протоколы, такие как OpenID, для эффективной междоменной проверки личности пользователя. SAML имеет же широкий спектр собственных протоколов. SAML vs oAuth2 Из-за сходства основного назначения SAML 2.0 и oAuth 2.0 часто принимают за одно и то же программное средство. Хотя они и имеют некоторое сходство, но они также имеют и различия в некоторых аспектах. Сходства И то, и другое необходимо для обеспечения безопасного взаимодействия приложений. Оба поддерживают простое управление доступом и быструю интеграцию. Различия oAuth 2.0 больше уделяет внимание на авторизацию, тогда как SAML отдает приоритет аутентификации. SAML основан на XML, а oAuth 2.0 – на JSON. SAML поддерживает данные сеанса с помощью файлов cookie, в то время как oAuth использует вызовы API. Аутентификация API с помощью SAML Несмотря на то, что одним из самых распространенных вариантов применения SAML является поддержка проверка личности пользователя и включение SSO, он также может оказаться полезным для проверки подлинности запроса в API. Проверка прав доступа пользователя для проверки подлинности запроса является ключевой с точки зрения безопасности API и может быть проведена путем отправки SAML-запроса, который в свою очередь должен предусматривать следующее: SAML подготавливает запрос аутентификации API на основе API-интерфейса. Запрос должен содержать SAML-сообщение, которое может поддерживать процесс SSO, автоматически инициируемый IdP. Очень важно, чтобы сообщение SAML-запроса основывалось на закодированном XML-документе с корневым элементом <Response>. Тело запроса должно содержать текстовое наполнение, идентификаторы и область. Первые два аспекта являются обязательными, третий – нет. Ответ SAML включает в себя access_token (маркер SAML, предоставляющий или запрещающий доступ), username (имя пользователя), expires_in, refresh_token и realm (область). Заключение SAML и SSO тесно связаны друг с другом. Это критически важно для обеспечения безопасности данных без каких-либо компромиссов. Надеюсь, эта статья поможет вам разобраться в теме и больше узнать об этих двух программных средствах.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59