Add support for an optional login and document level access control system.#624
Conversation
pamelafox
left a comment
There was a problem hiding this comment.
Please double check that sh/ps1 scripts work when no auth/datalake is being used, if you haven't already.
And please update the README with link to your blog post when that's written.
Thanks for all the changes!
|
Login is also possible using App Service "easy auth" |
This is true - but you can't use that for document level access control |
|
Yes, that's true -- that's why I only suggested 'easy auth' as a possible option for "Logins". "Easy auth" can be implemented without making changes in the web app code, but it won't go that extra mile to provide granular document access controls. It could be an intermediate solution for some use cases, though. |
Agreed. We already have a PR to implement this easy-auth solution. We are planning on automating setup of the access control, and perhaps we can add a "login-only" option that uses the easy-auth you are suggesting. Thanks for your feedback! |
…ystem. (Azure-Samples#624) * conditional login button * fixing conditional login button * updating frontend * snapshot: OBO flow works * auth login working e2e * cannot use env vars from frontend * add adls gen2 setup * more changes to prepdocs * fix auth + streaming * fixing up scripts * add view action to manageacl * Writing documentation * doc WIP * push auth config from server to client * updating docs, some minor code edits to be consistent * checkpoint * manual setup only for now * remove manual logging * remove optional print * typo * hosting on localhost for redirect uri * remove ms graph sdk * run black, ruff * dependency injection for AuthenticationHelper * encrypted token cache * more feedback * more feedback, port adlsgen2 to python * ruff, black * ruff, black don't change files i didn't write * fix manage acl script * update start to support codespaces * run black * manual test, github codespaces localhost still works * fixing prepdocs after manual test of azd up without auth * adding sh files; fixing script errors * debugging auth on codespaces * running through setup instructions * note about consent * change default scope * switch to unordered list * missing note * addressing feedback... * more feedback around * doc strings * formatting * feedback on group claims * switch to transitivememberof * readme feedback * refactor approach to use common filtering method * more feedback * refactoring * writing tests * tests * test adls gen2 prepdocs * fixing tests using env vars; adding adls gen2 tests * broken? * fixing tests * more tests * fixing CI errors * feedback * fix script * fix script * fix script * bicep deployment; add documentation for troubleshooting * lowercase true for env comparison * feedback * fix sh syntax errors * fixing syntax errors * Script fixes --------- Co-authored-by: Matt Gotteiner <magottei@microsoft.com>
…ystem. (Azure-Samples#624) * conditional login button * fixing conditional login button * updating frontend * snapshot: OBO flow works * auth login working e2e * cannot use env vars from frontend * add adls gen2 setup * more changes to prepdocs * fix auth + streaming * fixing up scripts * add view action to manageacl * Writing documentation * doc WIP * push auth config from server to client * updating docs, some minor code edits to be consistent * checkpoint * manual setup only for now * remove manual logging * remove optional print * typo * hosting on localhost for redirect uri * remove ms graph sdk * run black, ruff * dependency injection for AuthenticationHelper * encrypted token cache * more feedback * more feedback, port adlsgen2 to python * ruff, black * ruff, black don't change files i didn't write * fix manage acl script * update start to support codespaces * run black * manual test, github codespaces localhost still works * fixing prepdocs after manual test of azd up without auth * adding sh files; fixing script errors * debugging auth on codespaces * running through setup instructions * note about consent * change default scope * switch to unordered list * missing note * addressing feedback... * more feedback around * doc strings * formatting * feedback on group claims * switch to transitivememberof * readme feedback * refactor approach to use common filtering method * more feedback * refactoring * writing tests * tests * test adls gen2 prepdocs * fixing tests using env vars; adding adls gen2 tests * broken? * fixing tests * more tests * fixing CI errors * feedback * fix script * fix script * fix script * bicep deployment; add documentation for troubleshooting * lowercase true for env comparison * feedback * fix sh syntax errors * fixing syntax errors * Script fixes --------- Co-authored-by: Matt Gotteiner <magottei@microsoft.com>
…ystem. (Azure-Samples#624) * conditional login button * fixing conditional login button * updating frontend * snapshot: OBO flow works * auth login working e2e * cannot use env vars from frontend * add adls gen2 setup * more changes to prepdocs * fix auth + streaming * fixing up scripts * add view action to manageacl * Writing documentation * doc WIP * push auth config from server to client * updating docs, some minor code edits to be consistent * checkpoint * manual setup only for now * remove manual logging * remove optional print * typo * hosting on localhost for redirect uri * remove ms graph sdk * run black, ruff * dependency injection for AuthenticationHelper * encrypted token cache * more feedback * more feedback, port adlsgen2 to python * ruff, black * ruff, black don't change files i didn't write * fix manage acl script * update start to support codespaces * run black * manual test, github codespaces localhost still works * fixing prepdocs after manual test of azd up without auth * adding sh files; fixing script errors * debugging auth on codespaces * running through setup instructions * note about consent * change default scope * switch to unordered list * missing note * addressing feedback... * more feedback around * doc strings * formatting * feedback on group claims * switch to transitivememberof * readme feedback * refactor approach to use common filtering method * more feedback * refactoring * writing tests * tests * test adls gen2 prepdocs * fixing tests using env vars; adding adls gen2 tests * broken? * fixing tests * more tests * fixing CI errors * feedback * fix script * fix script * fix script * bicep deployment; add documentation for troubleshooting * lowercase true for env comparison * feedback * fix sh syntax errors * fixing syntax errors * Script fixes --------- Co-authored-by: Matt Gotteiner <magottei@microsoft.com>
Purpose
Does this introduce a breaking change?
Pull Request Type
What kind of change does this Pull Request introduce?
How to Test
Get the code
Test the code
LoginAndAclSetup.md.azd upor running locally, a login button will appear at the top right. Use this to log into your account in your Azure AD tenant.oidsorgroupssecurity filters in the developer settings. Sample access control can be setup by settingAZURE_ADLS_GEN2_STORAGE_ACCOUNTto a valid data lake storage account prior to runningazd upor runningprepdocs.py. Access control values can also be manually managed using themanageacl.ps1script.Other Information