Authenticate to IoT Hub using AAD in tests#7493
Open
damonbarry wants to merge 108 commits intoAzure:mainfrom
Open
Authenticate to IoT Hub using AAD in tests#7493damonbarry wants to merge 108 commits intoAzure:mainfrom
damonbarry wants to merge 108 commits intoAzure:mainfrom
Conversation
This reverts commit bc617ec.
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.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 change updates the test apps (IotEdgeQuickstart for connectivity, Microsoft.Azure.Devices.Edge.Test for all the others) and test modules used by the test pipelines to:
In the test apps, which run on the pipeline agent VM and have access to Azure CLI credentials, we pass Azure.Identity.AzureCliCredential to the SDKs to communicate with Event Hub and IoT Hub.
In the test modules, which run in Docker containers and do not have access to Azure CLI credentials on the pipeline agent VM, but can have credentials mounted as a file, we pass Azure.Identity.WorkloadIdentityCredential to the SDKs to communicate with Event Hub and IoT Hub. In the connectivity test pipeline, which can run for longer than the lifetime of the file-mounted credentials, we use an OIDC API in DevOps to generate and refresh the mounted credential from the system access token passed into the pipeline.
This change also updates the pipeline YAML files and related scripts to support the updates to the test apps.
To test, I ran the various pipelines and confirmed they pass when local auth is disabled on the corresponding IoT hub:
Azure IoT Edge PR checklist:
This checklist is used to make sure that common guidelines for a pull request are followed.
General Guidelines and Best Practices
Testing Guidelines