microsoft / coe-starter-kit

Other
743 stars 219 forks source link

[CoE Starter Kit - BUG] Envt Request : Unrelating a blocked connector relationship from a DLP Policy failes #4863

Open wirglzwig opened 1 year ago

wirglzwig commented 1 year ago

Describe the issue

I have a DLP Platform Policy which has a connector in the allowed connectors list "Business".

The CoE dataverse table "DLP Policy" lists the connector as part of the Relationship "admin_blocked_policy_connectors".

Therefore the connector should be "unrelated" from the DLP policy's blocked connectors list in dataverse.

This is done by the flow "DLP Request | Sync Policy to Dataverse (Child)" with this action: image

The value used in the "Unrelate with" property of the above action is provided by the output of this action: image

If I get it right, the output of the action above will allways be null since the "If no" condition is only executed, if the output of the Action "Check if connector still in Platform Policy" is an empty array. But you cannot get a first element from an empty array image

That is way I get the following error running the flow: "Action 'Unrelate_rows' failed" {"statusCode":400,"headers":{ --- },"body":{"error":{"code":"0x8006088a","message":"The value of $id '' is invalid."}}}

The $id is null and therefore I get the error

Expected Behavior

This action should be updated to provide a valid id for the connector that will be unrelated from the dlp policy in dataverse: image

What solution are you experiencing the issue with?

Core

What solution version are you using?

4.3

What app or flow are you having the issue with?

DLP Request | Sync Policy to Dataverse (Child)

Steps To Reproduce

  1. Add a connector to the blocked connectors of a dlp policy
  2. Run the Core flow "DLP Request | Sync Shared Policies"
  3. Remove the connector from step 1. from the blocked connectors again
  4. Run the Core flow "DLP Request | Sync Shared Policies"

Anything else?

No response

AB#643

PPMini commented 1 year ago

Hi Team,

We have a July version installed, as a test we have enabled two policies to be visible to user. On one policy the flow is success and other policy we are getting the same error as above : "Action 'Unrelate_rows' failed" {"statusCode":400,"headers":{ --- },"body":{"error":{"code":"0x8006088a","message":"The value of $id '' is invalid."}}} .

Could you please confirm if this should be resolved by July version. Thanks

denise-msft commented 1 year ago

@PPMini apologies for the delay and the inconvenience. This was not addressed in the July release, but we will target October release as resources permit. Thank you for your patience.

miguelverweij commented 10 months ago

I experiences the same issue. As @wirglzwig mentioned, the input is null, which leads to errors. I have fixed this in my tenant by removing the unrelate with input variable to the expression below:

@{items('Apply_to_each_Connector_in_Dataverse_Policy')?['@odata.id']}

The two action before the unrelate action aren't required then either. The result is shown in the image below.

image

NOTE For those that implement this as a temporary fix, be aware that you will create an unmanaged layer, which you will have to remove before updating the kit.

dav1dbailey commented 9 months ago

@PPMini apologies for the delay and the inconvenience. This was not addressed in the July release, but we will target October release as resources permit. Thank you for your patience.

Hi. I have only recently installed the CoE kit core 4.16 (mid October) and been experiencing this bug. I have upgraded the CoE kit core components to 4.17 yesterday but still experience this issue. Is this part of another module that i need to upgrade to fix it?

miguelverweij commented 9 months ago

@dav1dbailey it's not in the release yet. You can do a temporary fix as described at https://github.com/microsoft/coe-starter-kit/issues/4863#issuecomment-1836365595

dav1dbailey commented 9 months ago

Thanks @miguelverweij, the workaround applied and working :-)