Repository navigation
feat: Enhance deployment security - Adaptive Apps - #530
Merged
Jan Egil Ring (janegilring) merged 1 commit intoSep 30, 2026
Merged
Jan Egil Ring (janegilring) merged 1 commit into
Jan Egil Ring (janegilring) merged 1 commit into
Conversation
…for admin passwords Signed-off-by: Jan Egil Ring <janegilring@microsoft.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request improves the security and handling of deployment parameters, especially the administrator password, in the Adaptive Apps lab automation scripts. Instead of embedding sensitive credentials in PowerShell arguments, a temporary ARM parameter file is now used, which is securely created, used, and deleted. The test suite is updated to verify this new approach, ensuring no sensitive data is leaked or serialized, even across job boundaries.
Deployment security and parameter handling:
The deployment now generates a temporary ARM parameter file containing the admin password in plaintext, stored with strict file permissions (
0600) in a job-private directory. This avoids passingSecureStringobjects in PowerShell arguments and prevents secure-string serialization issues at job boundaries. The parameter file is deleted immediately after use, and credentials are never printed or published. The ARM template continues to declareadminPasswordas@secure(), so the value is not recorded in deployment history. [1] [2]The deployment script (
deploy-lab.ps1) is updated to prepare and use this secure parameter file for infrastructure deployment, with explicit validation and cleanup steps. [1] [2]Test suite enhancements:
The test mocks and assertions in
console.Tests.ps1are updated to expect and validate the use of a parameter file instead of direct parameter objects, including file existence, permissions, and contents. It also verifies that the parameter file is removed after deployment, even on failure. [1] [2] [3] [4] [5]New tests ensure that deployment arguments can be passed through child jobs without serializing a
SecureStringand that exceptions during deployment are preserved while sensitive files are cleaned up.…for admin passwords