iam.gdc.goog/v1
Contains API Schema definitions for the identity API group.
Package v1 contains API Schema definitions for the iam.gdc.goog v1 API group
ClientAuthConfig
ClientAuthConfig determines the way AIS authenticates itself to the Identity Provider.
Appears in: - OIDCProviderConfig
| Field | Description |
|---|---|
method string |
Type of the ClientAuthentication method. Default method is client_secret_post that sends client_secret in the Token API. Other method supported is private_key_jwt that sends a signed jwt in the Token API. private_key_jwt method requires SigningKey configuration to be valid. |
signatureAlg string |
Signature Algorithm used to compute the JWT. Only supported algorithm at this point is RS256. |
signingKey ClientAuthSigningKeySecret |
SigningKey denotes the parameters required to retrieve the key used to sign the JWT. Key is stored as a kubernetes secret. |
ClientAuthSigningKeySecret
ClientAuthSigningKeySecret contains the details of the signing key.
Appears in: - ClientAuthConfig
| Field | Description |
|---|---|
name string |
Name of the secret which stores the SigningKey. |
namespace string |
Namespace of the secret which stores the SigningKey. |
kid string |
kid is the unique identifier that represents the signing key. Identity Provider looks up public key corresponding to the kid in order to verify payload. |
CustomRole
Represents a template for a zonal CustomRole Custom roles provide fine-grained control over user permissions, unlike predefined roles. This allows organizations to tailor access rights to their specific needs, balancing operational efficiency with security. By adhering to the principle of least privilege, custom roles significantly enhance security and protect sensitive data.
Appears in: - CustomRoleList
| Field | Description |
|---|---|
apiVersion string |
iam.gdc.goog/v1 |
kind string |
CustomRole |
metadata ObjectMeta |
Refer to Kubernetes API documentation for fields of metadata. |
spec CustomRoleSpec |
|
status CustomRoleStatus |
CustomRoleList
Contains a list of CustomRole resource
| Field | Description |
|---|---|
apiVersion string |
iam.gdc.goog/v1 |
kind string |
CustomRoleList |
metadata ListMeta |
Refer to Kubernetes API documentation for fields of metadata. |
items CustomRole array |
CustomRoleMetadata
Represents the data necessary to create a Custom Role
Appears in: - CustomRoleSpec
| Field | Description |
|---|---|
scope CustomRoleScopeType |
scope of the custom role created which can either be organization or project |
roleNamespaces string array |
namespace of the role (optional) only required for role deployment if: case 1: when scope is project then it denotes the project namespaces case 2: when scope is project and roleNamespaces contain ['*'] then it denotes all project namespaces case 3: when scope is organization and deployment roleType is role not clusterRole then it denotes literal namespaces |
title string |
title is a friendly title for the role, such as "My Company Admin". |
description string |
description is a short description of the role, such as "My custom role description". |
id string |
id is the name of the role, such as "my-company-admin". |
stage StageType |
stage indicates the stage of a role in the launch lifecycle which can either be [ALPHA, BETA, GA, DISABLED] |
CustomRoleSpec
Defines the CustomRole data in the ClusterRoleTemplate resource
Appears in: - CustomRole
| Field | Description |
|---|---|
metadata CustomRoleMetadata |
Refer to Kubernetes API documentation for fields of metadata. |
zonalRules PolicyRule array |
|
globalRules PolicyRule array |
CustomRoleStatus
Provides a status of CustomRole
Appears in: - CustomRole
| Field | Description |
|---|---|
conditions Condition array |
Conditions represents the observations of this Custom role overall state |
propagationInfo PropagationInfo |
propagation information of converted template for zonal role template conversion |
DecryptionKeysSecret
DecryptionKeysSecret specifies the namespace, and name of a kubernetes secret that holds the decryption keys for decrypting the encrypted tokens. kid is the unique key identifier for a decryption key that's used by the Provider to let the token recipient know which decryption key needs to be used for decrypting the token(s).
Appears in: - EncryptedTokensConfig
| Field | Description |
|---|---|
name string |
Kubernetes Name of the secret. |
namespace string |
Kubernetes NameSpace of the secret. |
kid string |
kid is the unique key identifier that represents a decryption key. |
EncryptedAssertionConfig
EncryptedAssertionConfig provides configuration for the SAML assertion encryption feature.
Appears in: - SAMLProviderConfig
| Field | Description |
|---|---|
enabled boolean |
Specifies if SAML assertions must be decrypted before being parsed. The assertion decryption feature is only enabled when this is set to true. |
decryptionKeys KubernetesSecretConfig array |
Kubernetes secret where the Assertion encryption certificate, and the assertion decryption key are stored. This secret needs to be of type TLS. (see: https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets). |
EncryptedTokensConfig
EncryptedTokensConfig provides configuration for the OIDC token encryption feature.
Appears in: - OIDCProviderConfig
| Field | Description |
|---|---|
enabled boolean |
Specifies if OIDC token(s) must be decrypted before being parsed. The token decryption feature is only enabled when this field is set to true. |
decryptionKeys DecryptionKeysSecret array |
Kubernetes secret where the token decryption key(s) is/are stored. |
IdentityProviderConfig
Represents a configuration for an identity provider that supports OIDC or SAML.
Appears in: - IdentityProviderConfigList
| Field | Description |
|---|---|
apiVersion string |
iam.gdc.goog/v1 |
kind string |
IdentityProviderConfig |
metadata ObjectMeta |
Refer to Kubernetes API documentation for fields of metadata. |
spec IdentityProviderConfigSpec |
|
status IdentityProviderConfigStatus |
IdentityProviderConfigList
Contains a list of IdentityProviderConfig resources.
| Field | Description |
|---|---|
apiVersion string |
iam.gdc.goog/v1 |
kind string |
IdentityProviderConfigList |
metadata ListMeta |
Refer to Kubernetes API documentation for fields of metadata. |
items IdentityProviderConfig array |
IdentityProviderConfigSpec
Provides the specification, or desired state, of an IdentityProviderConfig resource.
Either OIDCConfig or SAMLConfig has to be provided but not both.
Appears in: - IdentityProviderConfig
| Field | Description |
|---|---|
oidc OIDCProviderConfig |
OIDC specific configuration. |
saml SAMLProviderConfig |
SAML specific configuration. |
IdentityProviderConfigStatus
Provides the status of an IdentityProviderConfig resource.
Appears in: - IdentityProviderConfig
| Field | Description |
|---|---|
conditions Condition array |
|
errorStatus ErrorStatus |
The most recent errors with the observed times included. |
KubernetesSecretConfig
KubernetesSecretConfig specifies the namespace, and name of a kubernetes secret.
Appears in: - EncryptedAssertionConfig - SignedRequestConfig
| Field | Description |
|---|---|
name string |
Kubernetes Name of the secret. |
namespace string |
Kubernetes NameSpace of the secret. |
OIDCProviderConfig
OIDCProviderConfig contains parameters needed for OIDC Authentication flow.
Appears in: - IdentityProviderConfigSpec
| Field | Description |
|---|---|
clientID string |
ClientID is an ID for OIDC client application. |
clientSecret string |
ClientSecret is the shared secret between OIDC client application and OIDC provider. |
certificateAuthorityData string |
CertificateAuthorityData contains a standard Base64 encoded, PEM formatted certificate authority certificate for OIDC provider. |
issuerURI string |
URI for the OIDC provider. This URI is the prefix of "/.well-known/openid-configuration". For example, if the IDP's well-known configuration endpoint is "https://{oauth-provider-hostname}/.well-known/openid-configuration", then the Issuer URI is "https://{oauth-provider-hostname}". |
kubectlRedirectURI string |
KubectlRedirectURI is the URI to redirect users authenticating to an OIDC provider with the kubectl plugin. |
cloudConsoleRedirectURI string |
CloudConsoleRedirectURI is the URI to redirect users going through the OAuth flow using cloud console. |
scopes string |
Comma-separated list of identifiers used to specify what access privileges are being requested in addition to "openid" scope. |
extraParams string |
Comma-separated list of key-value pairs that will be query-encoded and sent with the authentication endpoint request. |
enableAccessToken boolean |
Flag that denotes if the access-token should be included in the request as part of the bearer token by gcloud anthos auth login and kubectl oidc login. Defaults to false. |
userClaim string |
Name of the claim in the OIDC ID Token that holds the username. If this is missing from the ID Token, authentication will fail. |
userPrefix string |
Prefix to prepend to the user name. |
groupsClaim string |
Name of the claim in the OIDC ID Token that holds the user's groups information. |
groupPrefix string |
Prefix to prepend to the group name. |
deployCloudConsoleProxy boolean |
Flag to denote if HTTP reverse proxy is used for connecting to authentication provider. This should be set to true when authentication provider is not reachable by Google Cloud Console. |
attributeMapping object (keys:string, values:string) |
Optional Common Expression Language (CEL) for mapping user attributes from the identity provider to the web application. |
clientAuthParams ClientAuthConfig |
Optional ClientAuth params define the way AIS authenticates itself while sending the Token API. Currently used during authorization code flow. |
encryptedTokens EncryptedTokensConfig |
Optional configuration for the OIDC encrypted token feature. |
PropagationInfo
Provides the information of converted role template
Appears in: - CustomRoleStatus
| Field | Description |
|---|---|
roleName string |
name of the role |
roleType RoleType |
type of the role, it can be [role, clusterRole, projectRole, organizationRole] |
namespaces string array |
namespaces of the role where role deployment will occur |
SAMLProviderConfig
SAMLProviderConfig contains parameters needed for SAML Authentication flow.
Appears in: - IdentityProviderConfigSpec
| Field | Description |
|---|---|
idpEntityID string |
The SAML entity ID for the SAML provider, specified in a URI format. For example: https://www.idp.com/saml. |
idpSingleSignOnURI string |
The URI to the SAML provider's SSO endpoint. For example: https://www.idp.com/saml/sso. |
idpCertificateDataList string array |
The IDP certificates that will be used to verify the SAML response. These certificates should be standard Base64 encoded, and PEM formatted. Only a maximum of 2 certificates are supported to facilitate IDP certificate rotation. |
userAttribute string |
Name of the attribute in the SAML response that holds the username. If this attribute is missing from the SAML response, authentication will fail. |
userPrefix string |
Optional prefix to prepend to the user name. |
groupsAttribute string |
Name of the attribute in the SAML response that holds the user's groups. |
groupPrefix string |
Optional prefix to prepend to each group name. |
attributeMapping object (keys:string, values:string) |
Optional Common Expression Language (CEL) for mapping user attributes from the identity provider to the web application. |
encryptedAssertions EncryptedAssertionConfig |
Optional configuration for the SAML encrypted assertion feature. |
signedRequests SignedRequestConfig |
Optional configuration for the SAML authentication request signing feature. |
SignedRequestConfig
SignedRequestConfig provides configuration for the SAML authentication request signing feature.
Appears in: - SAMLProviderConfig
| Field | Description |
|---|---|
enabled boolean |
Specifies if SAML authentication request must be signed. The signed request feature is only enabled when this is set to true. |
signingKey KubernetesSecretConfig |
Kubernetes secret where the SAML request signing certificate key pair is stored. This secret needs to be of type TLS. (see: https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets). |
StandardClusterRole
Represents a project resource that propagates the ClusterRole
configuration to all vanilla clusters under the project.
The namespace of the StandardClusterRole resource corresponds
to the project.
Appears in: - StandardClusterRoleList
| Field | Description |
|---|---|
apiVersion string |
iam.gdc.goog/v1 |
kind string |
StandardClusterRole |
metadata ObjectMeta |
Refer to Kubernetes API documentation for fields of metadata. |
spec StandardClusterRoleSpec |
|
status StandardClusterRoleStatus |
StandardClusterRoleBinding
Represents a project resource that propagates the ClusterRoleBinding
resource configuration to all vanilla clusters in the same project.
The namespace for the StandardClusterRoleBinding resource
corresponds to the project.
Appears in: - StandardClusterRoleBindingList
| Field | Description |
|---|---|
apiVersion string |
iam.gdc.goog/v1 |
kind string |
StandardClusterRoleBinding |
metadata ObjectMeta |
Refer to Kubernetes API documentation for fields of metadata. |
spec StandardClusterRoleBindingSpec |
|
status StandardClusterRoleBindingStatus |
StandardClusterRoleBindingList
Contains a list of StandardClusterRoleBinding resources.
| Field | Description |
|---|---|
apiVersion string |
iam.gdc.goog/v1 |
kind string |
StandardClusterRoleBindingList |
metadata ListMeta |
Refer to Kubernetes API documentation for fields of metadata. |
items StandardClusterRoleBinding array |
StandardClusterRoleBindingSpec
Defines the specification of the StandardClusterRoleBinding resource.
It is the same definition as a native ClusterRoleBinding definition.
Appears in: - StandardClusterRoleBinding
| Field | Description |
|---|---|
subjects Subject array |
The subjects of the RoleBinding resource created in the cluster. |
roleRef RoleRef |
The RoleRef resource of the RoleBinding object to create in the cluster. |
StandardClusterRoleBindingStatus
Defines the observed state of the StandardClusterRoleBinding
resource.
Appears in: - StandardClusterRoleBinding
| Field | Description |
|---|---|
conditions Condition array |
|
clusters ClusterStatus array |
The list of propagation statuses for the clusters. |
propagatedName string |
The name of the propagated ClusterRoleBinding resource realized in the vanilla clusters. |
errorStatus ErrorStatus |
The most recent errors with the observed times included. |
StandardClusterRoleList
Contains a list of StandardClusterRole resources.
| Field | Description |
|---|---|
apiVersion string |
iam.gdc.goog/v1 |
kind string |
StandardClusterRoleList |
metadata ListMeta |
Refer to Kubernetes API documentation for fields of metadata. |
items StandardClusterRole array |
StandardClusterRoleSpec
Defines the rules of a StandardClusterRole resource.
It is the same definition as a native Kubernetes ClusterRole.
Appears in: - StandardClusterRole
| Field | Description |
|---|---|
rules PolicyRule array |
StandardClusterRoleStatus
Defines the observed state of a StandardClusterRole resource.
Appears in: - StandardClusterRole
| Field | Description |
|---|---|
conditions Condition array |
|
clusters ClusterStatus array |
The list of propagation statuses on the clusters. |
propagatedName string |
The name of the propagated ClusterRole resource realized in the vanilla clusters. |
errorStatus ErrorStatus |
The most recent errors with the observed times included. |