Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Board Review: Event Hubs - Custom Endpoint Support #1367

Closed
jsquire opened this issue May 28, 2020 · 10 comments
Closed

Board Review: Event Hubs - Custom Endpoint Support #1367

jsquire opened this issue May 28, 2020 · 10 comments
Assignees
Labels
architecture board-review Request for an Architectural Board Review

Comments

@jsquire
Copy link
Member

jsquire commented May 28, 2020

The Basics

  • Service team responsible for the client library: Event Hubs
  • Link to documentation describing the service: https://azure.microsoft.com/en-us/services/event-hubs/
  • Contact email (if service team, provide PM and Dev Lead): SeongJoon Kwak, Javier Fernandez , Shubha Vijayasarathy

About this client library

  • Name of the client library: azure-messaging-eventhubs
  • Languages for this review: Python, Java, .NET, JS
  • Link to the service REST APIs: N/A

Artifacts required (per language)

.NET

Java

Python

TypeScript

Champion Scenarios

Connecting on a restricted network

A local hospital employs a strict set of network policies to ensure the safety of their network and the security of their patient information. As part of this strategy, all traffic is routed through a security proxy which performs a threat analysis and logging of connections.

In order to allow for trusted internal applications to embrace cloud services, a special bank of IP addresses has been reserved which passes through a secure DMZ path rather than the security proxy. In order for trusted connections to work appropriately, they must resolve to one of the reserved IP addresses using a CNAME configured in the local DNS service.

Because of these restrictions, applications are unable to perform direct connections to the Azure Event Hubs service using the standard endpoint address and require the ability to specify a custom host name to ensure they route through the proper intermediary for the connection to be made.

@jsquire jsquire added architecture board-review Request for an Architectural Board Review labels May 28, 2020
@jsquire jsquire changed the title Board Review: <client library name> Board Review: Event Hubs - Custom Endpoint Support May 28, 2020
@jsquire
Copy link
Member Author

jsquire commented Jul 1, 2020

//cc: @KrzysztofCwalina

@KrzysztofCwalina
Copy link
Member

This (one additional property on client options) looks good to me.

@bterlson
Copy link
Member

Same here.

@johanste
Copy link
Member

Is this only an issue for EventHubs?

@JonathanGiles
Copy link
Member

Fine with me.

@jsquire
Copy link
Member Author

jsquire commented Jul 13, 2020

Is this only an issue for EventHubs?

This will also be an issue in Service Bus, due to the Messaging infrastructure for routing to a node in their cluster. It should not, to my knowledge, impact other services.

@johanste
Copy link
Member

Should it be considered a proxy setting?

@jsquire
Copy link
Member Author

jsquire commented Jul 13, 2020

I don't believe that would work, unless I'm misunderstanding the question. For the Messaging clients, a proxy can only be used when WebSockets are selected as the transport. The custom endpoint needs to be applied for both TCP and WebSocket.

For some languages, like C#, we're expecting a built-in framework type for the proxy, which is provided by the caller and for which there are no additional options passed. The proxy as well as the other transport values are supplied as part of the EventHubConnectionOptions, which is where this setting was added, since it is also related to how connections are established.

@JeffreyRichter
Copy link
Member

I spoke to Jesse and I'm OK with this.

@ramya-rao-a
Copy link
Contributor

Closing as this has been implemented across languages

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
architecture board-review Request for an Architectural Board Review
Projects
None yet
Development

No branches or pull requests

9 participants