Старая презентация про Claims Based Authentication, в свете SharePoint 2013 очень актуально. В ней раскрываются некоторые особенности работы c claims для администраторов и программистов.
"Windows Azure для мобильных платформ". Владимир Юнев, MicrosoftYandex
Какое бы мобильное приложение вы не разрабатывали (на iOS, Android, Windows Phone, Windows 8 или веб-версию на HTML5), лучшим выбором для бэкенда будет единая облачная платформа. В докладе речь пойдёт о требованиях мобильных разработчиков к серверному функционалу и сложностях, возникающих при сборке своих велосипедов. На примере Windows Azure Mobile Services мы рассмотрим готовое облачное решение, не требующее настройки и сопровождения, как альтернативу своему бэкенду. Вы узнаете, как облачную инфраструктуру можно использовать для отправки push-уведомлений и как интегрировать авторизацию с социальными сетями; как работать с серверным кодом мобильного приложения через Git и как масштабировать мобильный бэкенд по требованию, в том числе автоматически.
"Windows Azure для мобильных платформ". Владимир Юнев, MicrosoftYandex
Какое бы мобильное приложение вы не разрабатывали (на iOS, Android, Windows Phone, Windows 8 или веб-версию на HTML5), лучшим выбором для бэкенда будет единая облачная платформа. В докладе речь пойдёт о требованиях мобильных разработчиков к серверному функционалу и сложностях, возникающих при сборке своих велосипедов. На примере Windows Azure Mobile Services мы рассмотрим готовое облачное решение, не требующее настройки и сопровождения, как альтернативу своему бэкенду. Вы узнаете, как облачную инфраструктуру можно использовать для отправки push-уведомлений и как интегрировать авторизацию с социальными сетями; как работать с серверным кодом мобильного приложения через Git и как масштабировать мобильный бэкенд по требованию, в том числе автоматически.
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхDmitry Evteev
Уязвимости и атаки на Web-приложения, общепринятые классификации уязвимостей. Ошибки, допускаемые разработчиками при создании клиентской и серверной частей Web-приложения, их возможные последствия и методы выявления и устранения. Примеры из практики. Обзор специализированных средств защиты Web-приложений: Web Application Firewall (WAF). Стоит ли полагаться на WAF?
Методология выявления уязвимостей в Web-приложениях, в частности, с использованием различных средств автоматического анализа.
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)Ontico
В этом году мы перевели наш портал на HTTPS. Это оказалось непростой задачей. Основными проблемами явились рост нагрузки, увеличение Round Trip Times (RTT) и Mixed Content. Мы опробовали различные известные механизмы, призванные нивелировать эти проблемы, но, как оказалось на практике, все они скрывают в себе особенности. Эти особенности стоило знать заранее, но их не удалось почерпнуть из открытых источников.
В этом докладе мы хотим поделиться сложностями, с которыми мы столкнулись, а также тем, к каким выводам в итоге пришли. Надеемся, что набитые нами шишки будут полезны тем проектам, которые только планируют переход на HTTPS.
Нагрузочное тестирование API. Как летать, а не ползать?IT61
Вячеслав Марков, инженер по автоматизированному тестированию в Distillery, расскажет об особенностях нагрузочного тестирования REST API с помощью JMeter.
Вот что пишет Вячеслав: "Вместе со слушателями постараемся разобраться, каким аспектам нагрузочного тестирования стоит уделить наибольшее внимание. Порассуждаем о том, как составить реалистичный тестовый сценарий и выясним, чем же так хорош JMeter. В заключении уделим немного внимания стресс-тестированию."
Вычисление бета-коэффициента и ожидаемой ставки доходности капитала в модели ...Stas Vyschepan
Презентация доклада https://youtu.be/XPlQvGtkzz0
Ставка доходности капитала используется для расчета инвестиционных проектов. Чтобы посчитать ставку надо проанализировать кучу цифр — котировок акций и индексов. В докладе я покажу как автоматизировать расчет в модели PowerBI.
Анализ защищенности Web-приложений, выявление уязвимостей в реальных условияхDmitry Evteev
Уязвимости и атаки на Web-приложения, общепринятые классификации уязвимостей. Ошибки, допускаемые разработчиками при создании клиентской и серверной частей Web-приложения, их возможные последствия и методы выявления и устранения. Примеры из практики. Обзор специализированных средств защиты Web-приложений: Web Application Firewall (WAF). Стоит ли полагаться на WAF?
Методология выявления уязвимостей в Web-приложениях, в частности, с использованием различных средств автоматического анализа.
Неочевидные детали при запуске HTTPS в OK.Ru / Андрей Домась (Одноклассники)Ontico
В этом году мы перевели наш портал на HTTPS. Это оказалось непростой задачей. Основными проблемами явились рост нагрузки, увеличение Round Trip Times (RTT) и Mixed Content. Мы опробовали различные известные механизмы, призванные нивелировать эти проблемы, но, как оказалось на практике, все они скрывают в себе особенности. Эти особенности стоило знать заранее, но их не удалось почерпнуть из открытых источников.
В этом докладе мы хотим поделиться сложностями, с которыми мы столкнулись, а также тем, к каким выводам в итоге пришли. Надеемся, что набитые нами шишки будут полезны тем проектам, которые только планируют переход на HTTPS.
Нагрузочное тестирование API. Как летать, а не ползать?IT61
Вячеслав Марков, инженер по автоматизированному тестированию в Distillery, расскажет об особенностях нагрузочного тестирования REST API с помощью JMeter.
Вот что пишет Вячеслав: "Вместе со слушателями постараемся разобраться, каким аспектам нагрузочного тестирования стоит уделить наибольшее внимание. Порассуждаем о том, как составить реалистичный тестовый сценарий и выясним, чем же так хорош JMeter. В заключении уделим немного внимания стресс-тестированию."
Вычисление бета-коэффициента и ожидаемой ставки доходности капитала в модели ...Stas Vyschepan
Презентация доклада https://youtu.be/XPlQvGtkzz0
Ставка доходности капитала используется для расчета инвестиционных проектов. Чтобы посчитать ставку надо проанализировать кучу цифр — котировок акций и индексов. В докладе я покажу как автоматизировать расчет в модели PowerBI.
Оптимизация высоконагруженных ASP.NET приложений, работающих с MS SQL Server ...Stas Vyschepan
Вы разрабатываете веб-приложения и используете хранимые процедуры? Вы пишите SELECT … WITH(NOLOCK)? Вы считаете, что ORMы снижают быстродействие приложений? Тогда этот доклад для вас!
В докладе будут развенчаны популярные мифы о применении библиотек Object-Relational Mapping (ORM) в ASP.NET при работе с Microsoft SQL Server. Также будут рассмотрены конкретные методики увеличения быстродействия работы с данными в веб-приложениях.
Презентация с доклада на SPC UA 2012. Видео тут - http://sharepoint-channel.com/stanislav-vyshhepan-iskusstvo-upravleniya-sharepoint-kak-poluchit-maksimalnuyu-vygodu-dlya-biznesa-videozapis-doklada-na-spcua-2012
Презентация с доклада на SPDay 14.12.2013.
В докладе описываются приемы и инструменты контроля качества кода решений SharePoint, как для заказчика, так и для подрядчика.
2. Краткое содержание
Что такое claims (утверждения)
Архитектура Claims-based Authentication
Настройка CBA в SharePoint
Источники утверждений (claims)
Программные методы работы с claims
4. Аутентификация vs Авторизация
Аутентификация – проверка identity пользователя
Например паспорт гражданина РФ является его identity
Авторизация – проверка прав пользователя
Охранник в офисе, проверяет по паспорту в какой
организации вы работаете и дает вам ключ-карту для
доступа только на тот этаж, где располагается
организация
5. Что такое claims?
Паспорт гражданина РФ является его identity
Паспорт содержит множество атрибутов человека
Номер
ФИО
Дата рождения
Место рождения
итд…
Такой набор атрибутов, составляющий identity
пользователя, называется claims
6. Claims и Security Token
Паспорт гражданина содержит информацию об
«издателе»
Кем и когда выдан
Паспорт защищен от подделки
С точки зрения Claims Based Authentication паспорт
гражданина является Security Token
7. Claims и Security Token
Security Token, как и паспорт гражданина, состоит из
набора Claims, и защищен от подделки
Каждый claim имеет некоторое имя (тип), значение и
«издателя» (источник этого claim)
8. Доверие и аутентификация
Водительское удостоверение (ВУ) также является
identity человека, как и паспорт гражданина
В некоторых организациях принимают паспорт, но не
принимают ВУ (не проходит аутентификация)
Издателю ВУ (ГАИ) не доверяют, а издателю паспорта
(ФМС) доверяют
Аналогично в CBA приложение должно определить
каким издателям оно доверяет
9. Зачем это все
1.
2.
3.
Не хранить identity в приложении – упрощение
архитектуры, повышение безопасности
Федерация аутентификации – два непонятных слова
вместе возможность использовать уже
существующие источники
Стандартизация протоколов – повышение
доступности и интероперабельности
12. Терминология
STS – Security Token Service – веб сервис, который
выдает Security Token по запросу
IP – Identity Provider – некоторая служба, выдающая
claims
RP – Relying Party – приложение, принимающее
claims
IP и RP имеют свои STS
IP-STS – выдает claims из некоторого хранилища
(«издателя»)
RP-STS – проверяет, фильтрует, преобразует и дополняет
claims
13. Стандарты
WS-Federation и WS-Trust
SAML – Security Application Markup Language –
язык разметки для Security Token
По префиксам WS- можно догадаться что описывают
протоколы веб-сервисов (STS)
На базе XML, что не удивительно
OAuth – идея та же, более легковесная
реализация, например для REST веб-сервисов
Актуальная версия 2.0
14. Библиотеки и компоненты
Windows Identity Foundation
DotNetOpenAuth
http://msdn.microsoft.com/ru-ru/library/ee748475.aspx
http://www.dotnetopenauth.net/
Azure Access Control Service
https://www.windowsazure.com/en-us/develop/net/howto-guides/access-control/
Может выступать в качестве RP-STS
16. Classic Mode vs Claims Mode
По-умолчанию веб-приложения создаются в classic
mode
Аутентификация в домене Windows
Можно переключить на CBA
При создании приложения
При расширении в дополнительную зону
В существующей конфигурации (нехорошая операция)
Между сервисами и между фермами только CBA
В claims mode немного усложняется использование
веб-сервисов
17. Архитектура CBA в SharePoint
SharePoint имеет свой RP-STS, называется
SecurityTokenService
SecurityTokenService поддерживает работу с
Локальным AD
Провайдерами FBA (ASP.NET Membership)
Доверенными IP
Можно указать несколько одновременно
Внутри SharePoint это всегда SPUser
18.
19. Настройка FBA
Создать приложение с CBA, включить только windows
аутентификацию
Создать базу ASP.NET Membership с помощью
aspnet_regsql
Добавить разделы в web.config приложения, central
administration, STS (руками на каждой машине)
Включить FBA в приложении
1.
2.
3.
4.
Подробные описания
https://dplotnikov.wordpress.com/2011/08/31/%D0%BD%D0%B
0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D
0%B0-fba-%D0%B2-sharepoint-2010/
http://blogs.technet.com/b/speschka/archive/2009/11/05/config
uring-forms-based-authentication-in-sharepoint-2010.aspx
20. Настройка доверия
Чтобы добавить доверенного поставщика необходимо
1.
2.
3.
4.
Сертификат подписи Security Token
Realm (URN)
Адрес IP-STS для входа
Схема отображения claims
21. Настройка доверия
Шаги:
1.
2.
3.
4.
5.
6.
7.
Получить корневой сертификат от провайдера
Добавить сертификат в trusted root authority
Создать claim mapping, указав один из claim как identity
Создать Trusted Identity Provider
Создать или расширить веб-приложение с https и CBA
Добавить доверенный провайдер в качестве источника
claims
Дать права пользователю внешней системы
24. Доступные провайдеры
Azure Access Control
Выступает в качестве промежуточного звена
Поддерживает множество провайдеров:
LiveId
Google
Facebook
Yahoo
OpenId
Анонимная аутентификация по email
Другие WS-Federation сервисы
Поддерживает отображение claim
Недостаток один – стоит денег
Идеально подходит для сценария интернет-сайтов
25. Доступные провайдеры
ADFS – Active Directory Federation Services
SharePoint также умеет синхронизировать ADFS с
профилями пользователей
Недостатки:
Актуальная версия 2.0
Позволяет пользователям из одного домена
аутентифицироваться на сервисах в другом домене под своими
доменными учетными записями
Не передает пароли вне доменной сети
Сложно настраивать
Нужен AD
Идеально подходит для сценариев партнерских порталов в
организации
26. Доступные провайдеры
Live ID
Применимо только в одном случае:
Имеет WS-Federation точку доступа
Активное использование сервисов Microsoft на портале
Во всех остальных случаях лучше Azure Access
Control
28. ADFS и служба профилей
Настраивается как обычная синхронизация
http://bpmsharepoint.iquestint.com/2012/03/14/share
point-2010-synchronization-between-ad-and-userprofiles/
http://blogs.msdn.com/b/brporter/archive/2010/07/19/
trusted-identity-providers-amp-user-profilesynchronization.aspx
29. С2WTS & SSS
С2WTS Преобразует Security Token в Windows
Token для доступа к внешним системам
Например SQL Server
SSS – отображает входные учетные записи на
выходные
Нужно для доступа к внешним системам
32. Получение SPUser
SPClaim c = new SPClaim(“claimType",
“claimValue",
ClaimValueTypes.String,
SPOriginalIssuers.Format(
SPOriginalIssuerType.TrustedProvi
der,
“Claim Provider Name")
);
string encodedClaim = c.ToEncodedString();
// Use encodedClaim as loginName
Web.EnsureUser(encodedClaim);
33. Claims providers
Есть возможность создавать классы, которые будут
дополнять входящие claims
Также claim provider расширяют people picker
Очень удобно использовать совместно с FBA
Полученные claims транслируются в исходящие
claims
Класс наследник SPClaimsProvider
http://msdn.microsoft.com/enus/library/ee537299.aspx
http://msdn.microsoft.com/enus/library/gg615945.aspx
34. Вызов claims-aware веб-сервисов из кода
SPChannelFactoryOperations.ConfigureCredentials<InterfaceType>
(client.ChannelFactory,
Microsoft.SharePoint.SPServiceAuthenticationMode.Claims);
SPChannelFactoryOperations.CreateChannelActingAsLoggedOnUser
<InterfaceType>(client.ChannelFactory, endpoint);
И много всего полезного в пространстве имен
Microsoft.SharePoint.Administration.Claims
http://msdn.microsoft.com/en-us/library/ee552954.aspx