Files
terraform-cloudflare-tunnel…/Team_Resources-Devices-Enrollment_Permissions.tf
hcornet ea5135230d
Terraform Apply / Terraform Apply (push) Failing after 2m22s
fix : 2 fichiers
2026-07-31 10:06:12 +02:00

59 lines
2.4 KiB
Terraform

# =============================================================================
# CLOUDFLARE : Team & Resources : Devices : Enrollment permissions
# =============================================================================
# BRIQUE AGENT WARP (1/2) : qui a le droit d'enrôler son poste ?
#
# L'"agent" Cloudflare installé sur les postes est le client WARP. Avant de
# pouvoir rejoindre l'organisation Zero Trust (var.cloudflare_team_name),
# l'utilisateur doit s'authentifier : cette application spéciale de type
# "warp" définit les règles d'enrôlement.
#
# Parcours utilisateur :
# 1. Installer le client WARP (https://one.one.one.one ou MDM)
# 2. Préférences > Compte > "Login with Cloudflare Zero Trust"
# 3. Saisir le nom d'équipe : var.cloudflare_team_name
# 4. Authentification via Authentik (ou Azure si la brique est activée)
# 5. Le poste applique alors le profil WARP correspondant
# (Team_Resources-Devices-Device_profiles.tf) et les vérifications de
# posture (Team_Resources-Devices-Device_posture.tf)
# =============================================================================
resource "cloudflare_zero_trust_access_application" "warp_device_enrollment" {
account_id = local.cloudflare_account_id
# NOTE : pas de app_launcher_visible ici — cet attribut n'est autorisé que
# pour les types self_hosted/ssh/vnc/rdp/saas/bookmark ; une app de type
# "warp" n'apparaît de toute façon jamais dans l'App Launcher.
type = "warp"
name = "Warp device enrollment"
session_duration = "24h"
# Les deux briques IdP peuvent servir à l'enrôlement :
# Authentik toujours, Azure Entra ID si la brique est activée.
allowed_idps = concat(
[cloudflare_zero_trust_access_identity_provider.authentik_oidc.id],
var.azure_idp_enabled ? [cloudflare_zero_trust_access_identity_provider.azure_entra_id[0].id] : []
)
auto_redirect_to_identity = false
policies = [{
name = "Device enrollment policy"
decision = "allow"
# Seuls les membres du domaine mail de l'organisation peuvent enrôler
# un poste. Durcir avec un rule group si besoin (ex : admins seulement).
include = [{
email_domain = {
domain = var.cloudflare_email_domain
}
}]
# MFA exigée au moment de l'enrôlement
require = [{
auth_method = {
auth_method = "mfa"
}
}]
}]
}