[Design] Support External Evaluation Policy (Invoke) in management SDKs
I maintainer di solito rispondono entro 1 giorno
@weidongxu-microsoft ci sta già lavorando.
Dal 15/10/2026.
- #50819 di @copilot-swe-agent — chiusa senza merge
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Summary
Design support for Azure Policy External Evaluation ("Invoke") in Java management SDKs.
The SDK should handle the following flow:
- Detect
403 RequestDisallowedByPolicywithmissingPolicyTokenDetails. - Call
acquirePolicyTokenusing the original request URI, method, and payload. - Add the returned token to
x-ms-policy-external-evaluations. - Replay the original operation once.
Cross-language context and service clarifications are tracked in:
https://github.com/Azure/azure-sdk/issues/10081
An initial Java prototype is available at:
https://github.com/Azure/azure-sdk-for-java/pull/49701
Byte-for-byte payload requirement
For an operation with request-body byte sequence B, the following must use the same serialized bytes:
- The original ARM operation body.
acquirePolicyToken.operation.content.- The replayed ARM operation body.
Logical JSON equality is insufficient. Deserializing and reserializing the payload may change property ordering, whitespace, escaping, number formatting, null handling, or encoding and invalidate the token's content binding.
The implementation should retain the final serialized request content and reuse it without modification for token acquisition and replay. Bodyless operations such as DELETE should preserve the service-defined empty/null content behavior.
Design goals
- Work across management libraries without service-specific changes.
- Support PUT, PATCH, POST, and DELETE operations.
- Preserve the exact serialized request content without unnecessary overhead.
- Prevent recursive acquire/replay loops.
- Surface policy-evaluation and token-acquisition failures clearly.
- Define tracing, logging, and token-redaction behavior.
- Decide whether support is default-enabled or explicitly configured.
Expected outcome
Please propose the Java-specific architecture and public API, preferably with a prototype covering:
- successful
403 → acquirePolicyToken → replay; - verification that the original, token-acquisition, and replay payloads are byte-for-byte identical;
- prevention of payload reserialization;
- bodyless operations;
- token-acquisition failure or policy denial;
- replay-loop prevention;
- synchronous and asynchronous APIs;
- integration with the management client pipeline.
The prototype is for design validation and does not need to be production-ready.
- Lingua principale
- Java
- Stelle
- 2.6k
- Fork
- 2.2k
- Merge medio
- 1g 22h
- PR unite (30g)
- 213
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Azure/azure-sdk-for-java
-
mgmt, in track 1 migration guide, call out that file-based authentication method is not recommendedForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. ApertaAzure.Identity
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
Azure/azure-sdk-for-java#48894 ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] - Handler.close livelocks on FAIL_NON_SERIALIZED while holding the ReactorConnection monitorForse già presa @conniey l’ha presa 1 giorno fa. ApertaAzure.Core.AMQP Client customer-reported needs-team-attention question
Azure/azure-sdk-for-java#50879 · 2 commenti · 1 reazione · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] azure-core-http-vertx: Streaming request bodies hang on Vert.x 5.x (NoSuchMethodError on HttpClientRequest.reset)Forse già presa @alzimmermsft l’ha presa 7 giorni fa. ApertaAzure.Core Client customer-reported needs-team-attention question
Azure/azure-sdk-for-java#50793 · 6 commenti · 1 reazione · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[FEATURE REQ] ChangeFeedProcessor event handler fully reactive implementationForse già presa @FabianMeiswinkel l’ha presa 7 giorni fa. ApertaClient Cosmos customer-reported feature-request needs-team-attention Service Attention
Difficoltà 5/5 Più di una settimana Idoneità per principianti 12/100
Azure/azure-sdk-for-java#50758 · 3 commenti · 1 reazione · 2 assegnatari ·
I maintainer di solito rispondono entro 1 giorno
-
azure-sdk-bom
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
Azure/azure-sdk-for-java#50754 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Azure/azure-sdk-for-java
Issue simili
-
ChaosEngine: backup-remote doctor row passes while consumer mode hides bot memory from gitForse già presa @MohabMohie l’ha presa oggi. Apertaagentic
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ShaftHQ/SHAFT_ENGINE#7263 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
bug/错误
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
FCL-Team/FoldCraftLauncher#1951 ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 68/100
quarkusio/quarkus-agent-mcp#296 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
commons-app/apps-android-commons#7072 ·
I maintainer di solito rispondono entro 1 giorno