AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.01.2011, 13:11   #1  
Blog bot is offline
Blog bot
Участник
 
25,643 / 848 (80) +++++++
Регистрация: 28.10.2006
sjakalax: DAXCONF - Role-based security (RBS) and eXtensible Data Security (XDS)
Источник: http://sjakalax.blogspot.com/2011/01...y-rbs-and.html
==============

I just attended 3 sessions on the new security framework in Ax. The content is just too much for one post. I'll give the highlights:

RBS (role based security)
- The new security framework is based on:
- Roles: a group of duties specific to a function (accountant, mechanic, clerck, manager, …)
- Duties: a group of related privileges needed for a specific task (sales order entry, approve expenses, order picking, …)
- Privileges: a group of entry points (mostly menu items) needed for a specific action (create sales order lines, set up HRM parameters, start a pickingroute, …)
- Permissions: a group of base objects each with the required level of access (update salesTable, update HRMParameters, …)

- Developers are responsible to provide the appropriate privileges and permissions
- An administrator can define roles and duties based on the privileges and permissions -and link uto roles

- Standard out-of-the box all roles, duties, privileges and permissions are available to secure all functionallity in Ax2012! Impressive: previous versions had … no out-of-the-box security configured.

Some other facts:
- SecurityKeys are no longer used
- Companies are replaced by legal entities
- Domains are replaced by organisations
- Users groups not longer used in a security context
- External users (without an AD-account!) now can log on to the EP (using # ways of user authentication in SharePoint 2010)

XDS (eXtended Data Security)
- In previous versions there was RLS (record level security), where you couldn't do much more than restricting the selected data by adding a where clause to tables
- Ax2012 takes RLS to the next level: it's called the XDS framework
- the combination of an application context (form, menu item, ...) and a role context (user, role, ...)
- is applied to a policy (based on queries, so more flexible compared to RLS, also the meta data is used to apply data security on linked tables)
- this policy filters the data as configured

In an example this would be: if you define a query on the salesTable, but a policy defines you can only see customers from a specific group ('x'), you will only see the salesTable records for customers of group 'x' … even if your select looked like 'select from salesTable', it would become something like 'select from salesTable where exits (select from custTable where custTable.PK = salesTable.FK and custTable.group = 'x')'. Applying multiple policies, would add extra 'exists' clauses to the query.

- Ax2012 comes predefined with 11 policies (3 enabled by default)


- This sounds like a performance killer ... well there's a solution (as with most potential performance issues in ax2012). Policies that result in complex queries including multiple joins can be cached in temp tables that will be populated the first time the complex policy-query is executed. The next time this complex query is executed ... it is not ... the results from the temp table are used in the query rather than executing the complex query over and over again. This is called a 'myConstruct' and the refreshrate is customizable (on each execution, per session, ...). Ax2012 comes with 7 myConstruct tables out-of-the-box.



- A super-duper feature for developers is the possibility to get the actual SQL statemets (policies applied) from within X++.

The goal of this new security framework is
- Faster implementation
- Role-tailored user experience
- Comprehensive data security

I'm impressed!


Источник: http://sjakalax.blogspot.com/2011/01...y-rbs-and.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
Старый 21.01.2011, 14:56   #2  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
XDS - это вполне реальный убийца производительности может стать. При недостатке технической информации пока весьма спорно выглядят его преимущества.
__________________
Мы летаем, кружимся, нагоняем ужасы ...
Старый 21.01.2011, 15:13   #3  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,510 / 435 (18) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Я так понимаю, что фраза "- This sounds like a performance killer ..." была приведена как раз в ожидании подобных комментов
__________________
С уважением,
Вячеслав
Старый 21.01.2011, 16:47   #4  
AX2009
Гость
 
n/a
да нифига не убийца
мы похожую херь для 2009 сделали, не тормозит
Старый 21.01.2011, 19:01   #5  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,909 / 5730 (197) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Вообще - ни разу не видел внедрения, которое обошлось бы голым RLS. То есть - даже если удается настроить фильтры на формах и в отчетах, потом все равно выясняется что надо курочить прикладную логику, добавляя, например, какие-то гибкие проверки в классах сопоставлений, книжек, ну или скажем, складской разноски.
Так что конечно, похоже что, этот XDS - это большой шаг вперед, но полностью покрыть требования ограничения доступа к чуствительным данным только на уровне системной тулзы, на мой взгляд, не возможно...
Старый 21.01.2011, 19:26   #6  
AX2009
Гость
 
n/a
Цитата:
Сообщение от fed Посмотреть сообщение
не возможно...
я конечно наверное много хочу, на фоне -ТЬСЯ всяких, которые тут повсеместно, но все же коробит слегка
Старый 22.01.2011, 21:59   #7  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от AX2009 Посмотреть сообщение
я конечно наверное много хочу, но все же коробит слегка
"я конечно наверное много хочу", если на то пошло, тоже коробит - пунктуация, знаете ли, подчас важнее орфографии ("казнить нельзя помиловать"), так что давайте оставим эту тему...

PS. А еще есть такая банальная вещь: опечатки...

Последний раз редактировалось gl00mie; 22.01.2011 в 22:02. Причина: дополнение
Старый 23.01.2011, 10:46   #8  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
pitersky, я прочел эту фразу
Просто упомянутое решение про хранение всего комплекса служебных join'ов для решения проблемы производительности как-то таковым не особо выглядит. При упомянутых режимах обновления этой сервисной информации - только при perSession ситуация выглядит более-менее, а perExecution вообще лишает смысла хранение это инфы(если каждый раз при исполнении запроса пересчитывать эту инфу - то зачем ее хранить ?). Но и даже выглядящий более-менее режим обновления раз в сессию тоже может не оказаться панацеей, когда каждый пользователь при первом открытии в сессии любой формы будет N-нное время ждать перестройки этих данных. Каковым будет это N-нное время - зависит от реализации. Если делали "универсальную шнягу" ( (c) by mazzy ), то задача поиска связи м-ду двумя заранее неизвестными таблицами, не имеющими прямой связи друг с другом, через N промежуточных таблиц может очень хорошо "выстрелить", потому как в таком поиске по прямым связям (через Relations) и косвенным (через EDT полей) будет огромное количество "холостых" и бесполезных итераций и ветвлений поиска. Сей факт как раз и вызывает сомнение про решенность проблем производительности. Хотя, если помнить,что в 6-ке AOS хотят в БД запихать - может и оно и не так будет тормозить.
В общем, будем посмотреть - сейчас можно только гадать ...
__________________
Мы летаем, кружимся, нагоняем ужасы ...

Последний раз редактировалось TasmanianDevil; 23.01.2011 в 10:49.
Старый 13.04.2011, 06:50   #9  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Сижу, курю Developing_Extensible_Data_Security_Policies_AX2012.PDF...
Первое впечатление - какая-то мутная дрянь по сравнению с RLS.
__________________
Мы летаем, кружимся, нагоняем ужасы ...
Теги
ax2012, security, безопасность

 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:43.