Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions api/proto/teleport/legacy/types/types.proto
Original file line number Diff line number Diff line change
Expand Up @@ -5984,6 +5984,10 @@ message PluginEntraIDSettings {

// SyncSettings controls the user and access list sync settings for EntraID.
PluginEntraIDSyncSettings sync_settings = 1;

// AccessGraphSettings controls settings for syncing access graph specific data.
// When this is null, Entra ID integration with Access Graph is disabled.
PluginEntraIDAccessGraphSettings access_graph_settings = 2;
Comment thread
tigrato marked this conversation as resolved.
}

// Defines settings for syncing users and access lists from Entra ID.
Expand All @@ -5994,6 +5998,30 @@ message PluginEntraIDSyncSettings {
repeated string default_owners = 1;
}

// AccessGraphSettings controls settings for syncing access graph specific data.
message PluginEntraIDAccessGraphSettings {
option (gogoproto.equal) = true;

// AppSsoSettingsCache is an array of single sign-on settings for Entra enterprise applications.
//
// This data is stored here because it is not available through traditional methods (MS Graph API).
// Instead, it is fetched once during the plugin's set up using the user's credentials to connect to Azure's private API.
repeated PluginEntraIDAppSSOSettings app_sso_settings_cache = 1;
}

// PluginEntraIDAppSSOSettings is a container for a single Entra ID enterprise application's
// cached SSO settings.
// As this data is only parsed by TAG, each value is stored as an opaque JSON blob.
message PluginEntraIDAppSSOSettings {
option (gogoproto.equal) = true;

// AppID is the `AppID` property of Entra application.
string app_id = 1;

// FederatedSSOV2 contains the cached, gzip-compressed payload from the /ApplicationSso/{servicePrincipalId}/FederatedSSOV2 endpoint.
bytes federated_sso_v2 = 2;
}

// PluginSCIMSettings defines the settings for a SCIM integration plugin
message PluginSCIMSettings {
option (gogoproto.equal) = true;
Expand Down
16 changes: 16 additions & 0 deletions api/types/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -987,6 +987,22 @@ const (

// PluginGenerationLabel is the label for the current generation of the plugin.
PluginGenerationLabel = TeleportInternalLabelPrefix + "plugin-generation"

// EntraTenantIDLabel is the label for the Entra tenant ID.
EntraTenantIDLabel = TeleportInternalLabelPrefix + "entra-tenant"

// EntraUniqueIDLabel is the label for the unique identifier of the object in the Entra ID directory.
EntraUniqueIDLabel = TeleportInternalLabelPrefix + "entra-unique-id"

// EntraUPNLabel is the label for the user principal name in Entra ID.
EntraUPNLabel = TeleportInternalLabelPrefix + "entra-upn"

// EntraDisplayNameLabel is the label for the display name of the object in the Entra ID directory.
// The display name may not be unique.
EntraDisplayNameLabel = TeleportInternalLabelPrefix + "entra-display-name"

// EntraSAMAccountNameLabel is the label for user's on-premises sAMAccountName.
EntraSAMAccountNameLabel = TeleportInternalLabelPrefix + "entra-sam-account-name"
)

const (
Expand Down
3,946 changes: 2,244 additions & 1,702 deletions api/types/types.pb.go

Large diffs are not rendered by default.

629 changes: 418 additions & 211 deletions gen/proto/go/accessgraph/v1alpha/access_graph_service.pb.go

Large diffs are not rendered by default.

71 changes: 71 additions & 0 deletions gen/proto/go/accessgraph/v1alpha/access_graph_service_grpc.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading