[Identity] Add AzureAuthorityHosts.AzureBleuCloud for Bleu Cloud, the national partner cloud for France - #61022
Conversation
|
Thank you for your contribution devi0042JD! We will review the pull request and get back to you soon. |
|
Azure Pipelines: Successfully started running 1 pipeline(s). 10 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
… national partner cloud for France - Add AzureAuthorityHosts.AzureBleuCloud (https://login.sovcloud-identity.fr/) and its default Azure Resource Manager scope (https://management.sovcloud-api.fr//.default) used by interactive credentials' Authenticate methods. - Regenerate the Azure.Core and Azure.Identity public API listings. - Update CHANGELOGs, add AzureAuthorityHostsTests, and add sovcloud to the cspell dictionary.
7cfa337 to
0e0dab4
Compare
Note on the
|
Jonathan Cárdenas (JonathanCrd)
left a comment
There was a problem hiding this comment.
Thanks for the contribution!
The changes under core/Azure.Core look good to me, just please address m-nash's feedback.
Also, please revert all the changes inside identity/Azure.Identity, since these are redundant. I left a comment explaining why.
All Identity types live in Azure.Core since 1.53.0; the Azure.Identity package does not need to change for this feature.
The audience carries a trailing slash so DefaultScope resolves to the double-slash form used by Bleu Cloud, matching AzurePublicCloud.
|
Azure Pipelines: Successfully started running 1 pipeline(s). 10 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
There was a problem hiding this comment.
Pull request overview
This pull request adds first-class support for Bleu Cloud (France national partner cloud) across Azure.Core identity authority hosts and Azure.ResourceManager environments, including default ARM scopes so interactive authentication flows work without explicitly provided scopes.
Changes:
- Added
AzureAuthorityHosts.AzureBleuCloudand mapped it inAzureAuthorityHosts.GetDefaultScopeto the Bleu Cloud ARM scope. - Added
ArmEnvironment.AzureBleuCloudand validated itsDefaultScopebehavior. - Updated changelogs, public API listings, and repository spelling dictionary; added focused unit tests.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| sdk/resourcemanager/Azure.ResourceManager/tests/Unit/ArmEnvironmentTests.cs | Adds an assertion validating Bleu Cloud’s computed DefaultScope. |
| sdk/resourcemanager/Azure.ResourceManager/src/ArmEnvironment.cs | Introduces ArmEnvironment.AzureBleuCloud with the Bleu Cloud ARM endpoint/audience. |
| sdk/resourcemanager/Azure.ResourceManager/CHANGELOG.md | Documents the new ArmEnvironment.AzureBleuCloud feature under “Features Added”. |
| sdk/resourcemanager/Azure.ResourceManager/api/Azure.ResourceManager.netstandard2.0.cs | Regenerated public API to include the new AzureBleuCloud environment field. |
| sdk/resourcemanager/Azure.ResourceManager/api/Azure.ResourceManager.net8.0.cs | Regenerated public API to include the new AzureBleuCloud environment field. |
| sdk/resourcemanager/Azure.ResourceManager/api/Azure.ResourceManager.net10.0.cs | Regenerated public API to include the new AzureBleuCloud environment field. |
| sdk/core/Azure.Core/tests/Identity/AzureAuthorityHostsTests.cs | Adds unit tests for the Bleu Cloud authority host value and its default ARM scope mapping. |
| sdk/core/Azure.Core/src/Identity/AzureAuthorityHosts.cs | Adds AzureAuthorityHosts.AzureBleuCloud and maps it to the Bleu Cloud ARM default scope. |
| sdk/core/Azure.Core/CHANGELOG.md | Documents the new AzureAuthorityHosts.AzureBleuCloud support and default-scope resolution behavior. |
| sdk/core/Azure.Core/api/Azure.Core.netstandard2.0.cs | Regenerated public API to include AzureAuthorityHosts.AzureBleuCloud. |
| sdk/core/Azure.Core/api/Azure.Core.net8.0.cs | Regenerated public API to include AzureAuthorityHosts.AzureBleuCloud. |
| sdk/core/Azure.Core/api/Azure.Core.net472.cs | Regenerated public API to include AzureAuthorityHosts.AzureBleuCloud. |
| sdk/core/Azure.Core/api/Azure.Core.net462.cs | Regenerated public API to include AzureAuthorityHosts.AzureBleuCloud. |
| sdk/core/Azure.Core/api/Azure.Core.net10.0.cs | Regenerated public API to include AzureAuthorityHosts.AzureBleuCloud. |
| .vscode/cspell.json | Adds “bleu” and “sovcloud” to the cspell dictionary to prevent false positives. |
Jonathan Cárdenas (JonathanCrd)
left a comment
There was a problem hiding this comment.
Thanks for addressing the feedback.
Description
Adds official support for Bleu Cloud, the national partner cloud for France:
AzureAuthorityHosts.AzureBleuCloud(https://login.sovcloud-identity.fr/) inAzure.Core(sdk/core/Azure.Core/src/Identity/AzureAuthorityHosts.cs), the type forwarded toAzure.Identity.https://management.sovcloud-api.fr//.default) toAzureAuthorityHosts.GetDefaultScopeso interactive credentials'Authenticatemethods work against Bleu Cloud without explicit scopes.ArmEnvironment.AzureBleuCloud(https://management.sovcloud-api.fr) inAzure.ResourceManager; the audience carries a trailing slash soDefaultScoperesolves to the double-slash form, matchingAzurePublicCloud.Azure.CoreandAzure.ResourceManagerwitheng/scripts/Export-API.ps1.Azure.Core(1.61.0-beta.1) andAzure.ResourceManager(1.15.0-beta.1).sdk/core/Azure.Core/tests/Identity/AzureAuthorityHostsTests.cscovering the well-known authority host values and their default ARM scopes, and a new assertion inArmEnvironmentTests.DefaultScope.bleuandsovcloudto the repository cspell dictionary.Context
Bleu Cloud is a Microsoft national partner cloud operated in France by Bleu, a joint venture between Orange and Capgemini, designed to meet the French ANSSI SecNumCloud requirements. Its Entra authority host is
login.sovcloud-identity.fr.Twin PR of Azure/azure-sdk-for-python#48069.
Testing
dotnet test sdk/core/Azure.Core/tests/Azure.Core.Tests.csproj -f net10.0filtered onAzureAuthorityHostsTests,TokenCredentialOptionsTests,DeviceCodeCredentialTests,InteractiveBrowserCredentialTestsandUsernamePasswordCredentialTests— 1102 passed, 0 failed.dotnet test sdk/resourcemanager/Azure.ResourceManager/tests/Azure.ResourceManager.Tests.csproj -f net10.0filtered onArmEnvironmentTests— 4 passed, 0 failed.Contribution checklist: