update file
Some checks failed
Terraform Apply / Terraform Apply (push) Failing after 7s

This commit is contained in:
2025-11-24 19:55:28 +01:00
parent 8c5c2102ae
commit 471024e022
3 changed files with 63 additions and 21 deletions

View File

@@ -1,5 +1,5 @@
# =============================================================================
# CLOUDFLARE : Access Controls : Applications
# CLOUDFLARE : Access Controls : Applications > Infrastructure
# =============================================================================
# ======================================================

View File

@@ -1,12 +1,17 @@
# =============================================================================
# CLOUDFLARE : Access Controls : Applications
# CLOUDFLARE : Access Controls : Applications > RDP
# =============================================================================
#======================================================
# SELF-HOSTED APP: Domain Controller
# APPLICATION SELF-HOSTED : Contrôleur de Domaine (AWS)
#======================================================
# Creating the Target
# ------------------------------------------------------
# Création de la cible RDP côté AWS
# Cette ressource déclare un "infrastructure target" Cloudflare Zero Trust,
# permettant de définir une machine interne comme destination d'un accès RDP.
# Le nom dhôte et ladresse IP interne de la VM Windows sont fournis via les variables Terraform.
# ------------------------------------------------------
resource "cloudflare_zero_trust_access_infrastructure_target" "aws_rdp_target" {
account_id = local.cloudflare_account_id
@@ -18,23 +23,41 @@ resource "cloudflare_zero_trust_access_infrastructure_target" "aws_rdp_target" {
}
}
# Domain Controller Browser-Rendered RDP Application
# ------------------------------------------------------
# Application RDP rendue dans le navigateur pour le Contrôleur de Domaine AWS
# Cette ressource crée l'application Zero Trust permettant laccès RDP via Cloudflare,
# directement dans le navigateur, sans client local. Elle sappuie sur la cible déclarée ci-dessus.
# ------------------------------------------------------
resource "cloudflare_zero_trust_access_application" "cloudflare_aws_app_rdp_domain" {
account_id = local.cloudflare_account_id
# Type dapplication (RDP, SSH, VNC, etc.)
type = "rdp"
# Nom daffichage de lapplication dans le launcher Cloudflare
name = var.cloudflare_aws_browser_rdp_app_name
# Afficher lapplication dans lApp Launcher Cloudflare
app_launcher_visible = true
# Icône personnalisée visible par les utilisateurs
logo_url = "https://www.kevinsubileau.fr/wp-content/uploads/2016/05/RDP_icon.png"
# Attribution dun tag pour organiser les applications (ex: équipe dingénieurs)
tags = [cloudflare_zero_trust_access_tag.tags["engineers"].name]
# Durée de session (0s = durée illimitée tant que lauthentification reste valide)
session_duration = "0s"
# URL personnalisée affichée en cas de refus daccès
custom_deny_url = "https://denied.tips-of-mine.org/"
custom_non_identity_deny_url = "https://denied.tips-of-mine.org/"
# Public hostname for browser rendering
# Nom de domaine public utilisé pour rendre linterface RDP accessible via navigateur
domain = var.cloudflare_aws_subdomain_rdp
# Target criteria - references the existing gcp_rdp_target
# Critères de correspondance pour relier cette application à la cible RDP AWS
# Indique quel protocole et port utiliser, ainsi que la cible.
target_criteria = [{
port = 3389
protocol = "RDP"
@@ -43,7 +66,8 @@ resource "cloudflare_zero_trust_access_application" "cloudflare_aws_app_rdp_doma
}
}]
# Identity provider settings
# Paramètres relatifs au fournisseur d'identité (IdP)
# Ici, Authentik via un connecteur OIDC.
allowed_idps = [
cloudflare_zero_trust_access_identity_provider.authentik_oidc.id,
]
@@ -52,22 +76,23 @@ resource "cloudflare_zero_trust_access_application" "cloudflare_aws_app_rdp_doma
http_only_cookie_attribute = false
options_preflight_bypass = false
# Reference the policy from cloudflare-app-policies.tf
# Référence à la politique daccès définie dans Access_Controls-Policies-Reusable_Policies.tf
policies = [{
id = cloudflare_zero_trust_access_policy.policies["domain_controller"].id
}]
# Depends on the existing target
# Déclare explicitement que la création dépend de la cible RDP
depends_on = [
cloudflare_zero_trust_access_infrastructure_target.aws_rdp_target
]
}
#======================================================
# SELF-HOSTED APP: Domain Controller
# APPLICATION SELF-HOSTED : Contrôleur de Domaine (GCP)
#======================================================
# Creating the Target
# Création de la cible RDP côté GCP
# Identique au bloc AWS mais appliqué à une VM Windows hébergée dans GCP.
resource "cloudflare_zero_trust_access_infrastructure_target" "gcp_rdp_target" {
account_id = local.cloudflare_account_id
@@ -79,23 +104,38 @@ resource "cloudflare_zero_trust_access_infrastructure_target" "gcp_rdp_target" {
}
}
# Domain Controller Browser-Rendered RDP Application
# Application RDP rendue dans le navigateur pour le Contrôleur de Domaine GCP
# Permet l'accès RDP navigateur via Cloudflare Zero Trust pour la VM Windows dans GCP.
resource "cloudflare_zero_trust_access_application" "cloudflare_gcp_app_rdp_domain" {
account_id = local.cloudflare_account_id
# Type dapplication (RDP, SSH, VNC, etc.)
type = "rdp"
# Nom daffichage de lapplication dans le launcher Cloudflare
name = var.cloudflare_gcp_browser_rdp_app_name
# Afficher lapplication dans lApp Launcher Cloudflare
app_launcher_visible = true
# Icône personnalisée visible par les utilisateurs
logo_url = "https://www.kevinsubileau.fr/wp-content/uploads/2016/05/RDP_icon.png"
# Attribution dun tag pour organiser les applications (ex: équipe dingénieurs)
tags = [cloudflare_zero_trust_access_tag.tags["engineers"].name]
# Durée de session (0s = durée illimitée tant que lauthentification reste valide)
session_duration = "0s"
# URL personnalisée affichée en cas de refus daccès
custom_deny_url = "https://denied.tips-of-mine.org/"
custom_non_identity_deny_url = "https://denied.tips-of-mine.org/"
# Public hostname for browser rendering
# Nom de domaine public utilisé pour rendre linterface RDP accessible via navigateur
domain = var.cloudflare_gcp_subdomain_rdp
# Target criteria - references the existing gcp_rdp_target
# Critères de correspondance pour relier cette application à la cible RDP AWS
# Indique quel protocole et port utiliser, ainsi que la cible.
target_criteria = [{
port = 3389
protocol = "RDP"
@@ -104,7 +144,8 @@ resource "cloudflare_zero_trust_access_application" "cloudflare_gcp_app_rdp_doma
}
}]
# Identity provider settings
# Paramètres relatifs au fournisseur d'identité (IdP)
# Ici, Authentik via un connecteur OIDC.
allowed_idps = [
cloudflare_zero_trust_access_identity_provider.authentik_oidc.id,
]
@@ -113,12 +154,12 @@ resource "cloudflare_zero_trust_access_application" "cloudflare_gcp_app_rdp_doma
http_only_cookie_attribute = false
options_preflight_bypass = false
# Reference the policy from cloudflare-app-policies.tf
# Référence à la politique daccès définie dans Access_Controls-Policies-Reusable_Policies.tf
policies = [{
id = cloudflare_zero_trust_access_policy.policies["domain_controller"].id
}]
# Depends on the existing target
# Déclare explicitement que la création dépend de la cible RDP
depends_on = [
cloudflare_zero_trust_access_infrastructure_target.gcp_rdp_target
]

View File

@@ -1,11 +1,12 @@
# =============================================================================
# CLOUDFLARE : Access Controls : Applications
# CLOUDFLARE : Access Controls : Applications > self_hosted
# =============================================================================
#======================================================
# INFRASTRUCTURE Application: Test Home Network Access
#======================================================
~
#
resource "cloudflare_zero_trust_access_application" "zero_trust_access_application" {
account_id = local.cloudflare_account_id
@@ -15,13 +16,13 @@ resource "cloudflare_zero_trust_access_application" "zero_trust_access_applicati
session_duration = "24h"
skip_interstitial = true
tags = [cloudflare_zero_trust_access_tag.tags["engineers"].name]
# tags = [for tag in cloudflare_zero_trust_access_tag.tags : tag.name]
depends_on = [
cloudflare_zero_trust_access_tag.tags
]
}
#
data "cloudflare_zero_trust_access_application" "zero_trust_access_application" {
account_id = local.cloudflare_account_id