I have a requirement to Audit all changes in AccessPolicies of Azure KeyVaults. I see that there is some event getting written in ActivityLog of the AKV. But I only see who has initiated the change (Caller) But Activity does not tell me what level of access has been provided to AKV.
In order to view what level of access has been provided/removed from your AKV, you can select the Operation name from your Activity Logs -> Change History -> Select properties.accessPolicies - AKV Activity Log screenshot.
Once on the "Changed Properties" screen you can select your desired property to see the old value and new value correlating to a ObjectID (user, group, service principle). Old Value/New Value screenshot]
Related
I have added custom properties to users, like anonymousId, favoriteX and so on, but in firebase remote config ui I cannot create a condition like
for user that has property anonymousId = qa then set value of property to somevalue.
I fixed the issue.
That menu is enabled only after specified custom definitions in firebase, where user is the scope
I have several user types:
Type A, Type B, Type C
User has to chose its type at time of sign up and it gets fixed for a particular user.
A user cannot change its type. How can I set User property so that a particular event can be filters using User Type?
Suppose event is logged by name : example_event
I want to check that how many users of type A triggers example_event?
Go to UserProperty tab in Firebase console of your project. Click NEW USER PROPERTY.
Enter a name and description for the user property, then click CREATE.
Let's suppose you have set USER_TYPE as Firebase property .
Now you can fire this property using below code .
Analytics.setUserProperty(USER_TYPE, forName: "A/B/C")
It will take some time to reflect on your Events tab of your Firebase project console.
I have created a entity called #USER-NAME and have set that as a requirement.
Now, for the first time when the entity is detected in the conversation - say, "I am John" , then the memory is set to John. On subsequent encounter of the same entity with different value - "I am Dave", the memory remains unchanged.
I have seen the edit memory option, which provides 1. reset memory 2. set to a value . For the option 2, it does not provide a way to set to the value of #USER-NAME, instead only provides option to enter static values.
How can I update the memory every time the value of the entity changes ??
EDIT
Hi, I am attaching some screenshots to show what's exactly going wrong.
I have a Entity named '#USER_NAME' that saves the user name in a memory variable .
I make the following conversation -
The JSON payload after the conversation is as follows. This works perfectly-
I update the conversation again by providing a new user name.
This triggers the entity just fine. You can see the entity being detected properly.
However, the memory value remains the same.
What I wanted was the memory variable to replace 'Dev' with 'John'.
Remember that:
memory <> Intent
You can set memory in the message section or update automatically using for example a requirement in this case every time the skill is trigged it will replace the value in the memory ID
EDIT: Because the set memory field expect a JSON you can't use memory as you want, but if you reset that memory ID shomewhere relevant in the chat (in my sample I delete it right after saying Hi XXX) so when the skill is trigged again it will "replace" it with the new value
In the Requirement I set the golden entity #Person to variable "name" and if is missing I ask her name.
Sample Image
the memory is a persistent object so if you want to reset it you need either to have specific conditions within the builder or go through a webhook to have a backend code to reste the memory.
I want to only update the values email, firstname and lastname if they are blank.
I need this so that if the user decides to change these in the settings, they are not overwritten every time the user logs in with facebook.
Any solutions to check if the fields are blank without a datasnapshot? Trying to maximise efficency.
Current code when user signs in with facebook?
Database Structure for each user:
One way to do this is using a firebase transaction.
A transaction allows you to check the current value of a DB reference before you set/update it. It's main use case is preventing multiple concurrent updates from multiple sources but it can be used for this case as well - read and then write.
In the transaction block you get the value of the DB ref you're transacting on & can check that the value is null (hence 'create' case) -> then update it as required and return TransactionResult.success(withValue: newData).
If the object is already set you simply abort the transaction with TransactionResult.abort() and no write to the DB is executed.
Another option, that doesn't require a read/write, is to set a Firebase database rule on the relevant ref that will only allow write if the previous value was null:
"refPath": {
".write": "data.val() == null && newDataval() != null"
}
Writing a second time to the DB for an existing ref will fail.
I'd go with the transaction - more expressive of the requirement in the client code.
In firebase the only way you have to check if the current value of your fields in your database are empty is to fetch them before you are setting them.
You can check the field is empty only by fetching them.Then Use this code to update a particular value
ref.child("yourKey").child("yourKey").updateChildValues(["email": yourValue])
I have heard that there is an api method available in TFS Object model api, through which i can store in the work item using key value pair and this data is not visible in UI as it is not any field value. This data can only be retrieved through api. I have searched but i was not successful up till now. If any one know such type of method so please share it.
My main purpose to store some metadata in it but it should not visible to the User and also user can not update it. Secondly i did not have to use any field, as fields vary from work item to work item and even from Process template to Process template.
Thanks in advance.
I suppose that you mean this link: https://www.visualstudio.com/en-us/docs/integrate/extensions/develop/data-storage.
To set a value of key-value you could use this method:
VSS.getService(VSS.ServiceIds.ExtensionData).then(function(dataService) {
// Get value in user scope
dataService.getValue("userScopedKey", {scopeType: "User"}).then(function(value) {
console.log("User scoped key value is " + value);
});
});
This document is the details information about the methods in VSS.ServiceIds.ExtensionData service.