SSAS: cell data security for multiple measures - security

I have multiple measures, i want to restrict each individual measure.
department measure1 measure2 measure3
A NULL 1 NULL
B 1 1 1
C NULL 1 NULL
can i do this with cell data restrictions?
essential this is a combination of roles
Role 1 - only give access to measure2
Role 2 - only allow department B to see all measure
Role 3 - would be the intersect of both

Role 1:
The SSAS Role setting actually allows you to set restrictions based on Measurement in the Dimensional Data page. so unselect all others and only leave "measure2" for users in "Role1" to read.
Role 2:
Similarly, go to the Dimensional Data page, zoom into the department dimension, select only the "department B".
Role 3:
Repeat the above settings together in the Dimensional Data page of "Role3".
And keep in mind, SSAS Access is additive, means if there is any user existing in both "Role1" or "Role2", basically there is no restriction for it at all.

Related

How can I compare the properties of a vertice, to the properties of another vertice

I'm using Gremlin to interact with a Graph in CosmosDB.
I have some data about employees, data they have access to and departments where both originate from. See below for an example.
I want to retrieve information from my graph about which employees have access to data, but doesn't belong in their department. Basically, I want to see where the department columns are not equal, but the column data_access and data_id are equal, for every database the employee has access to. From the example below I would return information employee_id 1 and 2.
employee_id
name
department
data_access
1
john
A
4
2
rick
B
5
3
nick
A
5
dataset_id
name
department
4
apples
B
5
oranges
A
So far I tried to construct queries using traversal steps like "has", "as", "where" but I couldn't achieve the result I want. I'm very new to Gremlin, so I have no idea if what I'm doing is even the right way to do it.

How do I pair actions and parameters from one user message

So i'm creating a chatbot, where users can ask faq's and place orders for items for loans. One bit i'm struggling with is how to pair paramaters and values when a user makes an order for multiple things in one sentence.
So for example:
User wants to order 5 items with varying quanititys:
"I'd like to order 3 phones, 2 cases, 3 power cables, 1 screen protector, and 1 bluetooth speaker".
I'd like it to do this and associate the quantity with the item. so something like:
3 - Phones
2 - Cases
3 - Power cables
1 - Screen protector
1 - Bluetooth speaker
Thanks!
One way to pair the amount and a product together would be by using composite entities.
https://cloud.google.com/dialogflow/docs/entities-developer#developer_composite
Composite entities allow you to pair to values together in a single entity. So in your case you could have a composite entity named order, which contains an amount (Number) entity and a product entity.
By giving the appropriate sample utterances, you can train your agent to recognize this order entity and by checking the "Is List" option in the parameters you should be able to get multiple orders and have their product with the paired amount in a single entity.
Hope that this helps.

I am developing a metrics for risk analysis based on the severity of attacks and attackers skill or knowledge

I am working on a data base of attack patterns which has various attributes like severity of attack, attackers skill, attack likelihood all in the form of values like high, medium and low. I want to develop a metrics for risk analysis based on these attributes. Should I convert low to 1 medium to 2 and high to 3 or use some other normalization technique
Use a lookup table
Create a new table with 2 columns: SeverityID as PK and Severity as a varchar(10)
Add 3 new records to your table with the values "Low", "Medium", and "High". Whenever you want to reference these, you can select the values 1, 2, or 3 from a dropbox which gets its data from this table. Your "AttackDetails" table (for example) will contain a SeverityID which will link to your other table in any query or view, but will still contain the ID of the item you selected. This means if you want to add items later, you can still add them to the lookup table. It also prevents the user from changing between "medium", "MEDIUM" or "normal" (or whatever they decide at the time)

Excel match multiple columns simultaneously

I need some help with an excel formula. I have 2 tables as on the screenshot below:
The first table "AD Groups & apps" contains all the required AD groups for one application to work. Now I need to match all applications from the second table "Users AD Groups" to the first table and have a result table as the third one "Users Apps".
I need to automate as some applications are dependend on one group, other apps on 2 or 3 AD groups (group names are exactly like the ones on the screenshot - not really userfriendly)
Few assumptions:
On the 2nd table there could be groups not related to the required apps
The result table needs to show only application names where all pre-reqs are available
Tried messing with vlookups and index/match but got lost somewhere.
If its not asking too much, any tips on changing the same to show apps where user is member of the first column group, but is missing groups from 2nd/3rd column?
This is not easy to accomplish with a single formula....but you can use this version in H4 confirmed with CTRL+SHIFT+ENTER and copied down the column
=IFERROR(INDEX(D:D,SMALL(IF(FREQUENCY(IF(ISNUMBER(MATCH(A$4:C$11,F$4:F$11,0))+(A$4:C$11=""),ROW(F$4:F$11)),ROW(F$4:F$11))=3,ROW(F$4:F$11)),ROWS(H$4:H4))),"")
That should give you all the D4:D11 values where all specified group values are shown
for a single group that would be easier, e.g. for those where Group 1 only needs to be checked try this version
=IFERROR(INDEX(D:D,SMALL(IF(ISNUMBER(MATCH(A$4:A$11,F$4:F$11,0)),ROW(F$4:F$11)),ROWS(H$4:H4))),"")

Roles and Hierarchies in SSAS

I'm having an issue with security on an Analysis Services cube.
I have a dimension, that I need to restrict access to, based on a number of secured fields.
The dimension (Animals, for example) has 5 attributes including :
Id
Name
Gender (Secured Field)
Food
Eye Colour
I need to be able to create hierarchies on this, as :
Gender -> Id
Food -> Id
Eye Colour -> Id
There will be two roles on this Cube, one with access to everything, and one with no access to Id's when using secured fields. However, if the user is filtering by Secured fields, they can see totals against the secured field.
So, if querying against Gender, they would see 20 Male and 20 Female, but wouldn't be able to see the Id's of the 20 Males. A secured user would be able to see the 20 Id's though.
Is this possible, and if so, how would you prevent bypassing the security by filtering on Gender = Male and adding another non-secured hierarchy into the query (such as Eye Colour -> Id) to get the Id's that way ?
Thanks for your time

Resources