IAMProvider
Fonctionnalité déployée et prise en charge. Les champs et commandes décrits ici sont stables au sein de la version v1alpha1.
apiVersion | iam.stackngo.io/v1alpha1 |
kind | IAMProvider |
| Appliqué par | sng apply, ou la section Authentification → Fournisseurs de la console |
| Commandes liées | sng 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
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
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: Emailn'admet nicredentialsSecretRef, nibaseURL, niissuer, niazureTenant, niscopes.- Les autres types exigent
credentialsSecretRef. issuerest obligatoire pourOIDCet refusé pour les autres types ;displayNameest alors obligatoire (40 caractères).baseURLest réservé àGitLab,azureTenantàMicrosoft.
IAMProvider
| Champ | Description | Défaut | Validation |
|---|---|---|---|
apiVersion string | iam.stackngo.io/v1alpha1 | ||
kind string | IAMProvider | ||
metadata ObjectMeta | Seul metadata.name est à renseigner (nom de la ressource dans votre tenant). | ||
spec IAMProviderSpec | |||
status IAMProviderStatus |
IAMProviderSpec
| Champ | Description | Défaut | Validation |
|---|---|---|---|
category string | Catégorie du fournisseur : OAuth (seule admise ; ni mot de passe ni SAML). | ||
type string | Email, Google, GitHub, GitLab, LinkedIn, Microsoft ou OIDC. | Enum | |
displayName string | Libellé du bouton de connexion (40 caractères au plus). Obligatoire pour OIDC. | Optional: {} | |
credentialsSecretRef SecretReference | Secret contenant client-id et client-secret chez le fournisseur. Obligatoire, sauf pour Email qui le refuse. | Optional: {} | |
baseURL string | GitLab 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 string | Annuaire Microsoft : common, organizations, consumers ou un identifiant d'annuaire ; vide = common. Type Microsoft seulement. | Optional: {} | |
scopes string array | Scopes demandés au fournisseur en plus de openid, profile et email (16 au plus). | MaxItems: 16 Optional: {} | |
deletionPolicy DeletionPolicy | Sort du fournisseur quand le manifeste est supprimé : Block (défaut), Orphan ou Delete. | Block | Enum: [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
- Guides : Fournisseurs de connexion, Page de connexion
- CLI :
sng iam provider - Autres kinds : IAMApplication