Add Neon access review driver support
Register Neon as a connector provider and add a new access review driver that fetches organization members from the Neon API with cursor-based pagination. Neon's OAuth is partner-gated, so the connector is API-key only (Bearer, the default scheme). A personal or organization API key can belong to several organizations; the operator supplies the ID of the one to review. The members endpoint exposes per-user MFA state (has_mfa) and deactivation, which map to the access entry MFA status and active flag; the stable account UUID (user_id) is used as the external ID over the membership ID. Signed-off-by: Aurélien Sibiril <81782+aureliensibiril@users.noreply.github.com>
This commit is contained in:
@@ -64,6 +64,7 @@ const (
|
||||
ConnectorProviderZendesk ConnectorProvider = "ZENDESK"
|
||||
ConnectorProviderQovery ConnectorProvider = "QOVERY"
|
||||
ConnectorProviderRender ConnectorProvider = "RENDER"
|
||||
ConnectorProviderNeon ConnectorProvider = "NEON"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -115,6 +116,7 @@ func ConnectorProviders() []ConnectorProvider {
|
||||
ConnectorProviderZendesk,
|
||||
ConnectorProviderQovery,
|
||||
ConnectorProviderRender,
|
||||
ConnectorProviderNeon,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,7 +163,8 @@ func (v ConnectorProvider) IsValid() bool {
|
||||
ConnectorProviderOkta,
|
||||
ConnectorProviderZendesk,
|
||||
ConnectorProviderQovery,
|
||||
ConnectorProviderRender:
|
||||
ConnectorProviderRender,
|
||||
ConnectorProviderNeon:
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
@@ -152,6 +152,10 @@ type (
|
||||
RenderConnectorSettings struct {
|
||||
OwnerID string `json:"owner_id"`
|
||||
}
|
||||
|
||||
NeonConnectorSettings struct {
|
||||
OrganizationID string `json:"organization_id"`
|
||||
}
|
||||
)
|
||||
|
||||
// GrantType returns the OAuth2 grant type recorded on the connector's
|
||||
|
||||
15
pkg/coredata/migrations/20260610T992854Z.sql
Normal file
15
pkg/coredata/migrations/20260610T992854Z.sql
Normal file
@@ -0,0 +1,15 @@
|
||||
-- Copyright (c) 2026 Probo Inc <hello@probo.com>.
|
||||
--
|
||||
-- Permission to use, copy, modify, and/or distribute this software for any
|
||||
-- purpose with or without fee is hereby granted, provided that the above
|
||||
-- copyright notice and this permission notice appear in all copies.
|
||||
--
|
||||
-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
-- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
-- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
-- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
-- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
-- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
-- PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
ALTER TYPE connector_provider ADD VALUE IF NOT EXISTS 'NEON';
|
||||
Reference in New Issue
Block a user