identityprovider.v1

Top

arista/identityprovider.v1/identityprovider.proto

OAuthConfig

OAuthConfig holds the configuration for an OAuth provider.

Field NameTypeDescription
keyOAuthKey

key is the ID of the OAuth provider.

endpointgoogle.protobuf.StringValue

endpoint is the URL that identifies an OAuth authorization server.

This endpoint is used to interact with the provider. It must be a

URI [RFC3986] with a scheme component that must be https, a host component,

and optionally, port and path components, but no query or fragment components.

client_idgoogle.protobuf.StringValue

client_id is the ID that the OAuth authorization server issues to the

registered client.

client_secretgoogle.protobuf.StringValue

client_secret is the secret that the OAuth authorization server issues

to the registered client.

algorithmsfmp.RepeatedString

algorithms is the set of signing algorithms. This is an optional field.

If specified, only this set of algorithms may be used to sign the JWT.

Otherwise, this defaults to the set of algorithms that the provider supports.

link_to_shared_providergoogle.protobuf.BoolValue

link_to_shared_provider indicates whether or not use the provider as a shared

provider. This is an optional field and set to false by default.

jwks_urigoogle.protobuf.StringValue

jwks_uri is where signing keys are downloaded. This is an optional field.

Only needed if the default construction from endpoint would be incorrect.

permitted_email_domainsfmp.RepeatedString

permitted_email_domains are domains of emails that users are allowed to use.

This is an optional field. If not set, all domains are accepted by default.

roles_scope_namegoogle.protobuf.StringValue

roles_scope_name is the name for a scope tied to a claim that holds

CloudVision roles in ID Token. CloudVision uses scope values to specify

what access privileges are being requested for id token. CloudVision

appends this value to scope query parameter in the authorization request URL.

This is an optional field. If not set, CloudVision determines that

mapping roles from the provider is disabled. If it’s set, roles_claim_name

also needs to be set.

bearer_token_introspection_endpointgoogle.protobuf.StringValue

bearer_token_introspection_endpoint is the provider instrospection endpoint used

in Bearer Token based login support for CloudVision. This is an optional field.

If specified, this endpoint will be used to verify bearer tokens generated via

the provider to log in automated user accounts.

roles_claim_namegoogle.protobuf.StringValue

roles_claim_name is the name for a claim that holds CloudVision roles in ID Token.

CloudVision uses this value to look up roles in the ID Token.

This is an optional field. If not set, CloudVision determines that

mapping roles from the provider is disabled. If it’s set, roles_scope_name

also needs to be set.

OAuthKey

OAuthKey contains OAuth provider ID.

Field NameTypeDescription
provider_idgoogle.protobuf.StringValue

provider_id is the ID of the OAuth provider.

SAMLConfig

SAMLConfig holds the configuration for a SAML provider.

Field NameTypeDescription
keySAMLKey

key is the ID of the SAML provider.

idp_issuergoogle.protobuf.StringValue

idp_issuer identifies the SAML provider. There is no restriction on its format

other than a string to carry the issuer’s name.

idp_metadata_urlgoogle.protobuf.StringValue

idp_metadata_url is the URL that CloudVision uses to fetch the

SAML provider metadata.

authreq_bindingProtocolBinding

authreq_binding specifies the ProtocolBinding used to send SAML authentication

request to the SAML provider.

email_attrnamegoogle.protobuf.StringValue

email_attrname specifies the Attribute name for email ID in Assertion of SAMLResponse

from the SAML provider.

link_to_shared_providergoogle.protobuf.BoolValue

link_to_shared_provider indicates whether or not use the provider as a shared

provider. This is an optional field and set to false by default.

permitted_email_domainsfmp.RepeatedString

permitted_email_domains are domains of emails that users are allowed to use.

This is an optional field. If not set, all domains are accepted by default.

force_saml_authngoogle.protobuf.BoolValue

force_saml_authn indicates wether or not enable force authentication in SAML login.

This is an optional field. If not set, it defaults to false.

roles_attrnamegoogle.protobuf.StringValue

roles_attrname specifies the Attribute name for CloudVision roles in the Assertion

of SAMLResponse. This is an optional field. If not set, CloudVision determines that

mapping roles from the provider is disabled.

org_attrnamegoogle.protobuf.StringValue

org_attrname specifies the Attribute name for CloudVision organization/tenant in

the Assertion of SAMLResponse. This is an optional field. CloudVision supports use

of certain shared SAML Identity Providers for authenticating users across multiple

CloudVision organizations/tenants. In case a given organization uses a shared provider,

then, CloudVision needs this attribute to determine if the organization that

the shared SAML Identity Provider is sending the assertion for is the same as the

one the user requested to be logged into. For an existing user on CloudVision,

the user’s email is used to determine which organization the user belongs to do

the same verification but in case a dynamic user creation is needed and the given

user doesn’t exist on CloudVision currently then the matching organization attribute

from the shared Identity Privder becomes necessary. Dynamic user creation is

disabled for a given organization using shared Identity Provider if this attribute

is not specified.

username_attrnamegoogle.protobuf.StringValue

username_attrname specifies Attribute name for CloudVision users’ username in the

Assertion of SAMLResponse. This is an optional field as long as mapping roles from

provider is not enabled. Once enabled, this field becomes mandatory.

SAMLKey

SAMLKey contains SAML Provider ID.

Field NameTypeDescription
provider_idgoogle.protobuf.StringValue

provider_id is the ID of the SAML provider.

ProtocolBinding

ProtocolBinding indicates SAML protocol binding to be used.

NameNumberDescription
PROTOCOL_BINDING_UNSPECIFIED0

PROTOCOL_BINDING_UNSPECIFIED indicates that a protocol binding is unspecified.

PROTOCOL_BINDING_HTTP_POST1

PROTOCOL_BINDING_HTTP_POST indicates HTTP-POST SAML protocol binding.

PROTOCOL_BINDING_HTTP_REDIRECT2

PROTOCOL_BINDING_HTTP_REDIRECT indicates HTTP-Redirect SAML protocol binding.

Top

arista/identityprovider.v1/services.gen.proto

MetaResponse

Field NameTypeDescription
timegoogle.protobuf.Timestamp

Time holds the timestamp of the last item included in the metadata calculation.

typearista.subscriptions.Operation

Operation indicates how the value in this response should be considered.

Under non-subscribe requests, this value should always be INITIAL. In a subscription,

once all initial data is streamed and the client begins to receive modification updates,

you should not see INITIAL again.

countgoogle.protobuf.UInt32Value

Count is the number of items present under the conditions of the request.

OAuthConfigDeleteAllRequest

Field NameTypeDescription
partial_eq_filterOAuthConfig[…]

PartialEqFilter provides a way to server-side filter a DeleteAll.

This requires all provided fields to be equal to the response.

A filtered DeleteAll will use GetAll with filter to find things to delete.

OAuthConfigDeleteAllResponse

Field NameTypeDescription
typefmp.DeleteError

This describes the class of delete error.

A DeleteAllResponse is only sent when there is an error.

errorgoogle.protobuf.StringValue

This indicates the error message from the delete failure.

keyOAuthKey

This is the key of the OAuthConfig instance that failed to be deleted.

timegoogle.protobuf.Timestamp

Time indicates the (UTC) timestamp when the key was being deleted.

OAuthConfigDeleteRequest

Field NameTypeDescription
keyOAuthKey

Key indicates which OAuthConfig instance to remove.

This field must always be set.

OAuthConfigDeleteResponse

Field NameTypeDescription
keyOAuthKey

Key echoes back the key of the deleted OAuthConfig instance.

timegoogle.protobuf.Timestamp

Time indicates the (UTC) timestamp at which the system recognizes the

deletion. The only guarantees made about this timestamp are:

- it is after the time the request was received

- a time-ranged query with StartTime==DeletedAt will not include this instance.

OAuthConfigDeleteSomeRequest

Field NameTypeDescription
keysOAuthKey[…]

key contains a list of OAuthConfig keys to delete

OAuthConfigDeleteSomeResponse

OAuthConfigDeleteSomeResponse is only sent when there is an error.

Field NameTypeDescription
keyOAuthKey

errorstring

OAuthConfigRequest

Field NameTypeDescription
keyOAuthKey

Key uniquely identifies a OAuthConfig instance to retrieve.

This value must be populated.

timegoogle.protobuf.Timestamp

Time indicates the time for which you are interested in the data.

If no time is given, the server will use the time at which it makes the request.

OAuthConfigResponse

Field NameTypeDescription
valueOAuthConfig

Value is the value requested.

This structure will be fully-populated as it exists in the datastore. If

optional fields were not given at creation, these fields will be empty or

set to default values.

timegoogle.protobuf.Timestamp

Time carries the (UTC) timestamp of the last-modification of the

OAuthConfig instance in this response.

OAuthConfigSetRequest

Field NameTypeDescription
valueOAuthConfig

OAuthConfig carries the value to set into the datastore.

See the documentation on the OAuthConfig struct for which fields are required.

OAuthConfigSetResponse

Field NameTypeDescription
valueOAuthConfig

Value carries all the values given in the OAuthConfigSetRequest as well

as any server-generated values.

timegoogle.protobuf.Timestamp

Time indicates the (UTC) timestamp at which the system recognizes the

creation. The only guarantees made about this timestamp are:

- it is after the time the request was received

- a time-ranged query with StartTime==CreatedAt will include this instance.

OAuthConfigSetSomeRequest

Field NameTypeDescription
valuesOAuthConfig[…]

value contains a list of OAuthConfig values to write.

It is possible to provide more values than can fit within either:

- the maxiumum send size of the client

- the maximum receive size of the server

If this error occurs you must reduce the number of values sent.

See gRPC “maximum message size” documentation for more information.

OAuthConfigSetSomeResponse

Field NameTypeDescription
keyOAuthKey

errorstring

OAuthConfigSomeRequest

Field NameTypeDescription
keysOAuthKey[…]

timegoogle.protobuf.Timestamp

Time indicates the time for which you are interested in the data.

If no time is given, the server will use the time at which it makes the request.

OAuthConfigSomeResponse

Field NameTypeDescription
valueOAuthConfig

Value is the value requested.

This structure will be fully-populated as it exists in the datastore. If

optional fields were not given at creation, these fields will be empty or

set to default values.

errorgoogle.protobuf.StringValue

Error is an optional field.

It should be filled when there is an error in the GetSome process.

timegoogle.protobuf.Timestamp

OAuthConfigStreamRequest

Field NameTypeDescription
partial_eq_filterOAuthConfig[…]

PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

This requires all provided fields to be equal to the response.

While transparent to users, this field also allows services to optimize internal

subscriptions if filter(s) are sufficiently specific.

timearista.time.TimeBounds

TimeRange allows limiting response data to within a specified time window.

If this field is populated, at least one of the two time fields are required.

For GetAll, the fields start and end can be used as follows:

* end: Returns the state of each OAuthConfig at end.

* Each OAuthConfig response is fully-specified (all fields set).

* start: Returns the state of each OAuthConfig at start, followed by updates until now.

* Each OAuthConfig response at start is fully-specified, but updates may be partial.

* start and end: Returns the state of each OAuthConfig at start, followed by updates

until end.

* Each OAuthConfig response at start is fully-specified, but updates until end may

be partial.

This field is not allowed in the Subscribe RPC.

OAuthConfigStreamResponse

Field NameTypeDescription
valueOAuthConfig

Value is a value deemed relevant to the initiating request.

This structure will always have its key-field populated. Which other fields are

populated, and why, depends on the value of Operation and what triggered this notification.

timegoogle.protobuf.Timestamp

Time holds the timestamp of this OAuthConfig’s last modification.

typearista.subscriptions.Operation

Operation indicates how the OAuthConfig value in this response should be considered.

Under non-subscribe requests, this value should always be INITIAL. In a subscription,

once all initial data is streamed and the client begins to receive modification updates,

you should not see INITIAL again.

SAMLConfigDeleteAllRequest

Field NameTypeDescription
partial_eq_filterSAMLConfig[…]

PartialEqFilter provides a way to server-side filter a DeleteAll.

This requires all provided fields to be equal to the response.

A filtered DeleteAll will use GetAll with filter to find things to delete.

SAMLConfigDeleteAllResponse

Field NameTypeDescription
typefmp.DeleteError

This describes the class of delete error.

A DeleteAllResponse is only sent when there is an error.

errorgoogle.protobuf.StringValue

This indicates the error message from the delete failure.

keySAMLKey

This is the key of the SAMLConfig instance that failed to be deleted.

timegoogle.protobuf.Timestamp

Time indicates the (UTC) timestamp when the key was being deleted.

SAMLConfigDeleteRequest

Field NameTypeDescription
keySAMLKey

Key indicates which SAMLConfig instance to remove.

This field must always be set.

SAMLConfigDeleteResponse

Field NameTypeDescription
keySAMLKey

Key echoes back the key of the deleted SAMLConfig instance.

timegoogle.protobuf.Timestamp

Time indicates the (UTC) timestamp at which the system recognizes the

deletion. The only guarantees made about this timestamp are:

- it is after the time the request was received

- a time-ranged query with StartTime==DeletedAt will not include this instance.

SAMLConfigDeleteSomeRequest

Field NameTypeDescription
keysSAMLKey[…]

key contains a list of SAMLConfig keys to delete

SAMLConfigDeleteSomeResponse

SAMLConfigDeleteSomeResponse is only sent when there is an error.

Field NameTypeDescription
keySAMLKey

errorstring

SAMLConfigRequest

Field NameTypeDescription
keySAMLKey

Key uniquely identifies a SAMLConfig instance to retrieve.

This value must be populated.

timegoogle.protobuf.Timestamp

Time indicates the time for which you are interested in the data.

If no time is given, the server will use the time at which it makes the request.

SAMLConfigResponse

Field NameTypeDescription
valueSAMLConfig

Value is the value requested.

This structure will be fully-populated as it exists in the datastore. If

optional fields were not given at creation, these fields will be empty or

set to default values.

timegoogle.protobuf.Timestamp

Time carries the (UTC) timestamp of the last-modification of the

SAMLConfig instance in this response.

SAMLConfigSetRequest

Field NameTypeDescription
valueSAMLConfig

SAMLConfig carries the value to set into the datastore.

See the documentation on the SAMLConfig struct for which fields are required.

SAMLConfigSetResponse

Field NameTypeDescription
valueSAMLConfig

Value carries all the values given in the SAMLConfigSetRequest as well

as any server-generated values.

timegoogle.protobuf.Timestamp

Time indicates the (UTC) timestamp at which the system recognizes the

creation. The only guarantees made about this timestamp are:

- it is after the time the request was received

- a time-ranged query with StartTime==CreatedAt will include this instance.

SAMLConfigSetSomeRequest

Field NameTypeDescription
valuesSAMLConfig[…]

value contains a list of SAMLConfig values to write.

It is possible to provide more values than can fit within either:

- the maxiumum send size of the client

- the maximum receive size of the server

If this error occurs you must reduce the number of values sent.

See gRPC “maximum message size” documentation for more information.

SAMLConfigSetSomeResponse

Field NameTypeDescription
keySAMLKey

errorstring

SAMLConfigSomeRequest

Field NameTypeDescription
keysSAMLKey[…]

timegoogle.protobuf.Timestamp

Time indicates the time for which you are interested in the data.

If no time is given, the server will use the time at which it makes the request.

SAMLConfigSomeResponse

Field NameTypeDescription
valueSAMLConfig

Value is the value requested.

This structure will be fully-populated as it exists in the datastore. If

optional fields were not given at creation, these fields will be empty or

set to default values.

errorgoogle.protobuf.StringValue

Error is an optional field.

It should be filled when there is an error in the GetSome process.

timegoogle.protobuf.Timestamp

SAMLConfigStreamRequest

Field NameTypeDescription
partial_eq_filterSAMLConfig[…]

PartialEqFilter provides a way to server-side filter a GetAll/Subscribe.

This requires all provided fields to be equal to the response.

While transparent to users, this field also allows services to optimize internal

subscriptions if filter(s) are sufficiently specific.

timearista.time.TimeBounds

TimeRange allows limiting response data to within a specified time window.

If this field is populated, at least one of the two time fields are required.

For GetAll, the fields start and end can be used as follows:

* end: Returns the state of each SAMLConfig at end.

* Each SAMLConfig response is fully-specified (all fields set).

* start: Returns the state of each SAMLConfig at start, followed by updates until now.

* Each SAMLConfig response at start is fully-specified, but updates may be partial.

* start and end: Returns the state of each SAMLConfig at start, followed by updates

until end.

* Each SAMLConfig response at start is fully-specified, but updates until end may

be partial.

This field is not allowed in the Subscribe RPC.

SAMLConfigStreamResponse

Field NameTypeDescription
valueSAMLConfig

Value is a value deemed relevant to the initiating request.

This structure will always have its key-field populated. Which other fields are

populated, and why, depends on the value of Operation and what triggered this notification.

timegoogle.protobuf.Timestamp

Time holds the timestamp of this SAMLConfig’s last modification.

typearista.subscriptions.Operation

Operation indicates how the SAMLConfig value in this response should be considered.

Under non-subscribe requests, this value should always be INITIAL. In a subscription,

once all initial data is streamed and the client begins to receive modification updates,

you should not see INITIAL again.

OAuthConfigService

Method NameRequest TypeResponse TypeDescription
GetOneOAuthConfigRequestOAuthConfigResponse

GetSomeOAuthConfigSomeRequestOAuthConfigSomeResponse stream

GetAllOAuthConfigStreamRequestOAuthConfigStreamResponse stream

SubscribeOAuthConfigStreamRequestOAuthConfigStreamResponse stream

GetMetaOAuthConfigStreamRequestMetaResponse

SubscribeMetaOAuthConfigStreamRequestMetaResponse stream

SetOAuthConfigSetRequestOAuthConfigSetResponse

SetSomeOAuthConfigSetSomeRequestOAuthConfigSetSomeResponse stream

DeleteOAuthConfigDeleteRequestOAuthConfigDeleteResponse

DeleteSomeOAuthConfigDeleteSomeRequestOAuthConfigDeleteSomeResponse stream

DeleteAllOAuthConfigDeleteAllRequestOAuthConfigDeleteAllResponse stream

SAMLConfigService

Method NameRequest TypeResponse TypeDescription
GetOneSAMLConfigRequestSAMLConfigResponse

GetSomeSAMLConfigSomeRequestSAMLConfigSomeResponse stream

GetAllSAMLConfigStreamRequestSAMLConfigStreamResponse stream

SubscribeSAMLConfigStreamRequestSAMLConfigStreamResponse stream

GetMetaSAMLConfigStreamRequestMetaResponse

SubscribeMetaSAMLConfigStreamRequestMetaResponse stream

SetSAMLConfigSetRequestSAMLConfigSetResponse

SetSomeSAMLConfigSetSomeRequestSAMLConfigSetSomeResponse stream

DeleteSAMLConfigDeleteRequestSAMLConfigDeleteResponse

DeleteSomeSAMLConfigDeleteSomeRequestSAMLConfigDeleteSomeResponse stream

DeleteAllSAMLConfigDeleteAllRequestSAMLConfigDeleteAllResponse stream