| 
 | 
| 
 
Раздача прав в SSAS по таблице в БД. Как? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Добрый день! Хотелось бы раздать пользователям права в кубе в соответствии с таблицей. ID City_ID user1 17 ggg/a.petrovich2 21 ggg/a.petrovich3 17 ggg/e.gigerovna4 24 ggg/e.gigerovna5 35 ggg/e.gigerovna Есть ли какая-то возможность так сделать? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2019, 15:42 | 
  
  
  
   | 
||
| 
 
Раздача прав в SSAS по таблице в БД. Как? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Наверно, какую-то задачу в SSIS сделать... ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2019, 15:42 | 
  
  
  
   | 
||
| 
 
Раздача прав в SSAS по таблице в БД. Как? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  и, кстати, аналогично устроить доступ в основную БД - тот же вопрос. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2019, 15:43 | 
  
  
  
   | 
||
| 
 
Раздача прав в SSAS по таблице в БД. Как? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Nika gnome, В общем виде вам нужен Bridge между справочником городов (DimGeo) и вашей таблицей с правами User'a. Разумеется все не Visible для юеров. Далее настраиваем Dimension, на пересечении Bridge и User ставим User, а на пересечении DimGeo и бриджа ставим DimGeo. Далее в роли пишем что то типа NonEmpty ( City.City.Members, ( StrToMember ("[Users].[User].[" + UserName () + "]"), [Measures].[Bridge City Users Count] ) ) ставим галочку Enable Visual Totals, и наверно все. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2019, 16:22 | 
  
  
  
   | 
||
| 
 
Раздача прав в SSAS по таблице в БД. Как? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2019, 16:44 | 
  
  
  
   | 
||
| 
 
Раздача прав в SSAS по таблице в БД. Как? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  из того как поставлена задача и лучших практик: в SSIS (можно и другими инструментами) делай C# скрипт на AMO, который динамически будет создавать роли (хоть сотню) и добавлять туда пользователей (вместе с их SID из AD) на основе твоей SQL таблицы в каждой роли на нужное измерение будет писать списком разрешенные элементы на выбранный атрибут измерения по ключам из таблицы (с прочими опциями на выбор типа visual_totals и т.д.) для минимизации количества ролей (контекстов слоя безопасности) - лучше добавить алгоритм группировки пользователей по одинаковым правам (а ещё намного лучше заменить этот шаг на управляемые AD группы {по регионам/уровню ответственности типа директор/менеджер/грузчик} вместо просто сотен учёток) неизвестно: как часто меняются записи в таблице, > если раз в день - то задача выполняется в том-же временном окне (по утрам/ночью) где и Process таск для куба. > если безконтрольно по много раз за день (какими-то непонятными сторонними лицами) то можно (хотя это худшая практика, но при отсувствии альтернатив..) как выше советуют (с ROLAP таблицей на мост) - но как минимум кэширование слетает нафик, производительность падает на порядок из-за таких мостов на лету.. но вобще лучше отдельными ролями с SSIS пересозданием/корректировкой каждый раз на изменение (триггер) - но будет небольшая проблема что делать с текущими сессиями (ожидание/lock или {что навряд-ли в prod.} kill/terminate). в общем зависит от того какие приоритеты, а уже от туда искать нужный баланс между путями решений (с их недостатками/преимуществами). В DB так-же - лучший вариант группами AD, и отдать головную боль по управлению членством в группах в управление кто там занимается информационной безопасностью, иначе надоест ухаживать за таким хозяйством с сотнями/тысячами пользователей.. (или привязать к сайту с соответствующими правами на директоров департаментов/региональных отделов - пускай сами разрешают/запрещают) как вариант автоматизации - тот-же какой-нибудь (напр. SSIS или PS или C# или даже просто T-SQL и пр.) task/job на триггере при insert/update/delete с проверкой на текущее состояние job-a. но налету опять-же осторожно - т.к. вопрос с текущими сессиями/подключениями/запросами, соответственно лучше минимизировать и менять только тех пользователей которые попали под изменение (а не широким фронтом стирать по маске и дибавлять по новой). ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2019, 17:10 | 
  
  
  
   | 
||
| 
 
Раздача прав в SSAS по таблице в БД. Как? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Nika gnomeи, кстати, аналогично устроить доступ в основную БД - тот же вопрос. Вьюха, где в запросе в условии будет сравнение текущего пользователя и этого вашего поля с текстом. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2019, 21:11 | 
  
  
  
   | 
||
| 
 
Раздача прав в SSAS по таблице в БД. Как? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Или относительно новый способ https://docs.microsoft.com/ru-ru/sql/relational-databases/security/row-level-security?view=sql-server-2017 ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2019, 21:12 | 
  
  
  
   | 
||
| 
 
Раздача прав в SSAS по таблице в БД. Как? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Критик, динамические права в SQL ? нет, не слышал (хотя может плохо искал и отстал немного) для этого пользователю сначала надо будет получить доступ как минимум на чтение в сответствующую базу - а там-то этого пользователя пока нет. и только потом уже решать - к какой строке доступ давать а к какой нет. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 12.04.2019, 21:17 | 
  
  
  
   | 
||
| 
 
Раздача прав в SSAS по таблице в БД. Как? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  aleksrov StrToMember ("[Users].[User].[" + UserName () + "]"), прошу прощения за глупый вопрос. как из функции UserName () выдернуть имя пользователя без домена? "domen_name\user_vasya" --> "user_vasya" ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.12.2019, 12:50 | 
  
  
  
   | 
||
| 
 
Раздача прав в SSAS по таблице в БД. Как? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  AlexBra aleksrov StrToMember ("[Users].[User].[" + UserName () + "]"), прошу прощения за глупый вопрос. как из функции UserName () выдернуть имя пользователя без домена? "domen_name\user_vasya" --> "user_vasya" Код: c# 1. 2. 3. 4. 5. Упс... На C# написал, а не T-SQL. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.12.2019, 15:02 | 
  
  
  
   | 
||
| 
 
Раздача прав в SSAS по таблице в БД. Как? 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  AlexBra aleksrov StrToMember ("[Users].[User].[" + UserName () + "]"), прошу прощения за глупый вопрос. как из функции UserName () выдернуть имя пользователя без домена? "domen_name\user_vasya" --> "user_vasya" а зачем ? это ф-ция SSAS оно овзвращате доменное имя ps гогл отвечает на вопрос так - я проверил пашет Код: sql 1. зы Upd это ж MDX а не T-SQL ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 06.12.2019, 17:51 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=49&msg=39800666&tid=1857427]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    64ms | 
get topic data:  | 
    10ms | 
get forum data:  | 
    3ms | 
get page messages:  | 
    45ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 229ms | 
| total: | 383ms | 

| 0 / 0 | 

    Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
    
    
    «На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
    
    
    ... ля, ля, ля ...