Aller au contenu principal

IAMProvider

Disponible

Fonctionnalité déployée et prise en charge. Les champs et commandes décrits ici sont stables au sein de la version v1alpha1.

apiVersioniam.stackngo.io/v1alpha1
kindIAMProvider
Appliqué parsng apply, ou la section Authentification → Fournisseurs de la console
Commandes liéessng template gen IAMProvider, sng kind get IAMProvider, sng kind delete IAMProvider, sng iam provider list · describe

À quoi ça sert​

Un IAMProvider déclare un moyen de connexion proposé sur la page de connexion des utilisateurs de vos applications : un lien envoyé par e-mail (Email) ou un compte chez un tiers (Google, GitHub, GitLab, Microsoft, LinkedIn, ou tout fournisseur OpenID Connect). Il n'y a pas de mot de passe. Le guide Fournisseurs de connexion détaille les parcours.

Exemple minimal​

email.yml
apiVersion: iam.stackngo.io/v1alpha1
kind: IAMProvider
metadata:
name: email
spec:
category: OAuth
type: Email
sng apply email.yml
sng iam provider list

Exemple avec identifiants​

google.yml
apiVersion: iam.stackngo.io/v1alpha1
kind: IAMProvider
metadata:
name: google
spec:
category: OAuth
type: Google
credentialsSecretRef:
name: google-oauth # secret avec les clés client-id et client-secret

Champs​

Règles de validation croisées​

  • type: Email n'admet ni credentialsSecretRef, ni baseURL, ni issuer, ni azureTenant, ni scopes.
  • Les autres types exigent credentialsSecretRef.
  • issuer est obligatoire pour OIDC et refusé pour les autres types ; displayName est alors obligatoire (40 caractères).
  • baseURL est réservé à GitLab, azureTenant à Microsoft.

IAMProvider​

ChampDescriptionDéfautValidation
apiVersion stringiam.stackngo.io/v1alpha1
kind stringIAMProvider
metadata ObjectMetaSeul metadata.name est à renseigner (nom de la ressource dans votre tenant).
spec IAMProviderSpec
status IAMProviderStatus

IAMProviderSpec​

ChampDescriptionDéfautValidation
category stringCatégorie du fournisseur : OAuth (seule admise ; ni mot de passe ni SAML).
type stringEmail, Google, GitHub, GitLab, LinkedIn, Microsoft ou OIDC.Enum
displayName stringLibellé du bouton de connexion (40 caractères au plus). Obligatoire pour OIDC.Optional: {}
credentialsSecretRef SecretReferenceSecret contenant client-id et client-secret chez le fournisseur. Obligatoire, sauf pour Email qui le refuse.Optional: {}
baseURL stringGitLab auto-hébergé (ex. https://git.example.com) ; vide = gitlab.com. Type GitLab seulement.MaxLength: 2048
Pattern: ^https://
Optional: {}
issuer stringÉmetteur d'un fournisseur OpenID Connect générique. Obligatoire pour OIDC, refusé ailleurs.MaxLength: 2048
Pattern: ^https://
Optional: {}
azureTenant stringAnnuaire Microsoft : common, organizations, consumers ou un identifiant d'annuaire ; vide = common. Type Microsoft seulement.Optional: {}
scopes string arrayScopes demandés au fournisseur en plus de openid, profile et email (16 au plus).MaxItems: 16
Optional: {}
deletionPolicy DeletionPolicySort du fournisseur quand le manifeste est supprimé : Block (défaut), Orphan ou Delete.BlockEnum: [Block Orphan Delete]

Statut et conditions​

Ready=True quand le moyen de connexion est actif sur la page de connexion. status.conditions indique sinon la cause (validation refusée, secret d'identifiants absent, service momentanément injoignable : réessai automatique).

Ce qui se passe quand vous supprimez​

sng kind delete IAMProvider <nom>. Avec deletionPolicy: Block (défaut), la suppression attend que le fournisseur ne soit plus utilisé, puis aboutit ; Orphan conserve le moyen de connexion ; Delete le supprime sans vérification. Les comptes déjà créés ne sont jamais supprimés avec un fournisseur : leurs utilisateurs gardent leurs autres moyens de connexion.

Voir aussi​