Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@em-ingram
Copy link
Contributor

@em-ingram em-ingram commented Jan 17, 2020

Resolves PXP-5079: https://ctds-planx.atlassian.net/browse/PXP-5079

Adds feature allowing Guppy to hide sensitive records from _aggregation queries when Tiered Access is enabled. Records are marked 'sensitive' by a boolean field, which is configured by setting tierAccessSensitiveRecordExclusionField: "fieldName" in the Guppy config.

This change is currently deployed end-to-end in my dev commons: https://mpingram.planx-pla.net/ (As in, the dictionary and ETLMapping have also been changed, so that the sensitive boolean field is present in the commons' dictionary and the ETL process transfers this field to the ES index used by Guppy.)

To test this change, see the test plan at
https://github.com/uc-cdis/gen3-qa/blob/6cbddf608ff860f49bfeb1dd5861bdf693a57838/suites/guppy/tier-access-exclude-sensitive-records-testPlan.md
You can use the account [email protected], which has access to some but not all projects, to test the feature.

New Features

  • Added sensitive record exclusion to Guppy

@em-ingram em-ingram marked this pull request as ready for review January 23, 2020 19:10
qingyashu
qingyashu previously approved these changes Jan 28, 2020
Copy link
Contributor

@qingyashu qingyashu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just left some small comments, but all look good to me, and I also tested in my local, so I just approved it.

};
return resolve(
root,
{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could you keep the ...args in the second argument? in case it contains some contents other than accessibility, filter, or needEncryptAgg (in future)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will do! I hadn't realized that 👍


return resolve(
root,
{
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same, keep the ...args in the second argument

doc/queries.md Outdated
be counted in the aggregation query whether or not it is sensitive.

To enable Sensitive Record Exclusion, the `tierAccessSensitiveRecordExclusionField` value should be set in Guppy's config. The value of the `tierAccessSensitiveRecordExclusionField` should match a boolean field in the Elasticsearch index that indicates whether or not a record is sensitive.
(E.g., `tierAccessSensitiveRecordExclusionField: "sensitive"` in the Guppy config tells Guppy to look for a field in the ES index called `sensitive`, and to exclude records in the ES index which have `sensitive: "true"`)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this line and the above line could be also put in README.md here and it should be tier_access_sensitive_record_exclusion_field instead of camelCase style.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, good catch!!

Copy link
Contributor

@ZakirG ZakirG left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks very good

@em-ingram em-ingram merged commit af6733c into master Jan 30, 2020
@em-ingram em-ingram deleted the feat/sensitivity-filter branch January 30, 2020 21:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants