MIM Event Broker Forum

Welcome to the community forum for MIM Event Broker.

Browse the knowledge base, ask questions directly to the product group, or leverage the community to get answers. Leave ideas for new features and vote for the features or bug fixes you want most.

0
Answered

Subsequent EvB Operations do not wait for PowerShell Script Operations to complete before start

Matthew Woolnough 9 years ago updated by anonymous 9 years ago 5

Scenario: Run Profile Operation, followed by a PowerShell Script Operation, followed by a Run Profile Operation;


The Run Profile Operation is executed, Success/Failure is evaluated, PowerShell command then runs. The 2nd Run Profile Operation appears to occur immediately, without a wait for the PowerShell operation to complete. There does not appear to be any evaluation of if it was Success/Fail.



Answer
anonymous 9 years ago

Hi Matt,


I'm not the best at PowerShell but as I understand it, your script is a Pipeline script (i.e. it defines BEGIN, PROCESS and END), and as such is inappropriate for use as an operation (which isn't part of a pipeline).

0
Not a bug

Event Broker 3.2 check changes errors with Identity Broker 5.1 RC

Andrew Silcock 9 years ago updated by anonymous 9 years ago 4

I've upgraded IDB5.0.4 to 5.1 RC in the TAFE development environment and it now appears that the Event Broker 3.2 IDB Check Changes functionality no longer works.


Getting the following errors:


Operation faulted: The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Negotiate'. - Please see the log viewer for more details.

An error occured when attempting to execute a function against the agent with the id 0c78b1fa-7b21-435c-b374-537221a38db4:
System.ServiceModel.Security.MessageSecurityException: The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Negotiate'. ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
--- End of inner exception stack trace ---

Server stack trace:
at System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest request, HttpWebResponse response, WebException responseException, HttpChannelFactory`1 factory)
at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory`1 factory, WebException responseException, ChannelBinding channelBinding)
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at IIdentityServiceCollector.GetAllAdapters(GetAllAdaptersRequest request)
at Unify.Product.EventBroker.IdentityBroker41Communicator.GetAllAdapters()
at Unify.Product.EventBroker.AgentRequestResponseEngine.IdBAgentGetAdapterNamesRequestAction(IAgent agent, XElement details, Guid agentId)
at Unify.Product.EventBroker.AgentRequestResponseEngine.ExecuteRequest(IAgent agent, XElement details, Guid agentId)
at Unify.Product.EventBroker.AgentEngineRepository.ExecuteAgainstAgent(Guid agentId, XElement details)
at Unify.Product.EventBroker.AgentEngine.ExecuteAgainstAgent(Guid agentId, XElement details)
at Unify.Product.EventBroker.AgentEngineLoggingDecorator.ExecuteAgainstAgent(Guid agentId, XElement details)
Answer
anonymous 9 years ago

If that works, can you then try reverting the above change and then instead editing an element in %EB Install Directory%\Services\Unify.Service.Event.exe.config


Under configuration > system.serviceModel > bindings > basicHttpBinding > binding [name="IdentityBroker4Binding"]


change to the below

<security mode="TransportCredentialOnly">...</security>

and inside that

<transport clientCredentialType="Windows"/>
0
Declined

Azure AD check operation

Bob Bradley 9 years ago updated by Matthew Davis (Technical Product Manager) 2 years ago 5

When a FIM Event Broker configuration includes an incoming operation list for the WAAD (OOTB Windows Azure AD) connector, a check operation is required which can be used to poll AAD for changes.

Answer

Closing as UNIFYNow is in maintenance mode, so no feature requests are currently slated.

0
Answered

Expected Behavior around polling incorrect credentials on AD Agents

Richard Green 9 years ago updated by anonymous 9 years ago 3

Hi Gents,


We've had an issue in PROD at DET - essentially as part of a new deployment, EVB configuration from DEV was deployed, the service started and then left for a period with the scheduler in a paused/stopped state. The credentials for the agents were not updated at that time.


In this case, the credentials on a bunch of the AD agents used the same account names as in DEV but (obviously) different passwords. Also DET has an across the board policy on service accounts including lockouts.


As such, after running in this state for a while, we discovered that the AD service accounts in-use had become locked out/disabled. Unfortunately for us, one of those accounts was also shared by the VIS service which ended in a number of outages :(


What we're asking however, is this expected behavior of the Agent? What is the polling interval between credential checks? And should this be reviewed (perhaps something like if the last 1-2 checks failed, don't poll again until the agent is updated) or should polling be performed at all?

Answer
anonymous 9 years ago

Hi Richard,


Yes, this is expected behaviour. The scheduler stops operation lists from being executed; it does not stop everything (as EB has numerous schedules that are required for its operation, as well as actions that occur at startup to ensure that locally cached information is correct).


Would following best practice and keeping services accounts mapped to single applications solve this particular problem? Or, if EB was desired to be stopped completely, couldn't the service have been stopped? Or would you feel there'd be some benefit to us looking at evaluating what is and isn't stopped when the scheduler is stopped?


Thanks.

0
Completed

Reinstate Operation List Play Button

Bob Bradley 9 years ago updated by anonymous 8 years ago 7

In the upgrade to version 3.2 we lost the green play button that appears against each Operation List on the dashboard - in favour of a consolidated "Actions" button. While I understand that this helps in context sensitive operations (e.g. Execute not visible while list is executing) I find that during testing in particular it is annoying to have to click twice for just this one thing I do repeatedly - and I'm sure other users of the console would do likewise in an operations context.


This sounds like a very minor change - but I am noticing how annoying it is to have to continually do this - so I figure it must be the same for others.

Answer
anonymous 8 years ago

To be addressed in UI rewrite.

0
Completed

Identity Broker Rest API

Eddie Kirkman 9 years ago updated by anonymous 9 years ago 2

When adding the Identity Broker REST agent to EventBroker, the port has a drop down list, HTTP, HTTPS, Custom. Could that also include Default Identity Broker (59991). Or failing that, in the mouseover message for the custom port field, instead of the message "Specify a custom port to use", could we have "Specify a custom port to use (the defaut for Identity Broker is 59991)


Thanks

Answer
anonymous 9 years ago

Will be in the next release.

0
Answered

Event Broker Create FIM Agent access denied

Bob Bradley 9 years ago updated by anonymous 9 years ago 3

A vanilla install of Event Broker 3.2.1 RTM throws an Access Denied exception when attempting to connect to the local SQL Server 2012 (Enterprise x64) FIMSynchronizationService database. This is despite the service account having the correct db_datareader role membership on this database, and a UDL file running under the service account identity successfully connecting to the database.


Log file entry as follows:



20160401,03:05:29,UNIFY FIM Event Broker,Agent Engine,Error,"An error occured when attempting to execute a function against the agent with the id 78271e3f-e5af-4f4e-a4ea-9e076acc3904:

System.UnauthorizedAccessException: Access denied ---> System.Management.ManagementException: Access denied
at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
at System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext()
at Unify.Product.EventBroker.FIMAgent.QueryFIMForManagementAgents()
--- End of inner exception stack trace ---
at Unify.Product.EventBroker.FIMAgent.UnauthorizedAccessExceptionHandler(ManagementException managementException)
at Unify.Product.EventBroker.FIMAgent.ExceptionHandler[T](T exception, IEnumerable`1 exceptionHandlers)
at Unify.Product.EventBroker.FIMAgent.QueryFIMForManagementAgents()
at Unify.Product.EventBroker.FIMAgent.RefreshAgent()
at Unify.Product.EventBroker.AgentRequestResponseEngine.FIMAgentRefreshRequestAction(IAgent agent, XElement details, Guid agentId)
at Unify.Product.EventBroker.AgentRequestResponseEngine.<.ctor>b__1(IAgent agent, XElement details, Guid agentId)
at Unify.Product.EventBroker.AgentRequestResponseEngine.ExecuteRequest(IAgent agent, XElement details, Guid agentId)
at Unify.Product.EventBroker.AgentEngineRepository.ExecuteAgainstAgent(Guid agentId, XElement details)
at Unify.Product.EventBroker.AgentEngine.ExecuteAgainstAgent(Guid agentId, XElement details)
at Unify.Product.EventBroker.AgentEngineLoggingDecorator.ExecuteAgainstAgent(Guid agentId, XElement details)",Normal
20160401,03:07:13,UNIFY FIM Event Broker,Agent Engine,Warning,"The test of Agent FIM Agent (78271e3f-e5af-4f4e-a4ea-9e076acc3904) failed with message:
System.Management.ManagementException: Access denied
at System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
at System.Management.ManagementObjectCollection.ManagementObjectEnumerator.MoveNext()
at System.Management.ManagementObjectCollection.get_Count()
at Unify.Product.EventBroker.FIMAgent.TestConnection()
at Unify.Product.EventBroker.AgentEngine.Notify(ITestAgentConnectionMessage message)",Normal
Answer
anonymous 9 years ago

New page here.

0
Answered

Time out question

Bob Bradley 9 years ago updated by anonymous 9 years ago 1

With regards the release notes of FIM Event Broker v3.2.1


Question regarding "Increased timeout of LDAP operations to one hour". I am thinking that there may be scenarios whereby a timeout of 1 hour may not be desirable (e.g. on a sync changes check operation you would most likely WANT this to fail to bring the issue to the attention of the operators). Can you explain the scenario that this was implemented for, and whether it is confined or applied in general? I can see specific examples of where increased timeouts may be required - but I would have thought this would be on an operation-by-operation basis (in which case you could conceivably have 2 agents with different configurable timeouts).



Case in point - at one particular site we are actually REDUCING timeouts for certain operations as this is indicative that there are external problems impacting the solution which need to be addressed. The changes we are looking to make there are to identify long-running operations that are out of the ordinary and disable them until the root cause has been identified and remediated. Allowing something to run for an abnormally long time in actual fact appears to have been a major contributor to a severe FIM solution outage (after damage was caused by mass account disabling as an indirect result).

Answer
anonymous 9 years ago

Hi Bob,


I apologise for the confusion here. The timeout is actually configurable, using one hour as the default timeout for cases where it hasn't been set yet (which will be all existing operations). I have updated the release notes to clarify this.

0
Fixed

Event broker 3.2 extensibility rights on install

Eddie Kirkman 9 years ago updated by anonymous 8 years ago 2

When Event Broker is installed the service account is not being given rights to the extensibility directory. This means changes made to the configuration through the console are not saved.

The correct permissions are being assigned to Logs and Patches

Answer
anonymous 8 years ago

Thanks Eddie, added it to the backlog.

0
Declined

Allow delay between operation execution

Matthew Davis (Technical Product Manager) 9 years ago updated by anonymous 9 years ago 2

At the moment you can configure operations to execute, so when one operation completes it executes the next.

Would be handy if you could configure a time delay between these executions - such that after an export run has completed (with unknown processing time) you could tell event broker to wait 2 or 3 minutes before executing a delta import run or such.

Answer
anonymous 9 years ago

If a delay is essential the PowerShell operation could be used for this purpose.