Última revisão: maio de 2026
Construa os serviços da AWS do exame SC-100 com Terraform puro — um bloco de cada vez, cada um vinculado a um domínio do exame. O mesmo código funciona no OpenTofu.
Ao final deste laboratório, você terá provisionado, com Terraform puro, o arcabouço Zero Trust SC-100 — um stub de política de Acesso Condicional via provedor azuread, Microsoft Defender para Nuvem + Sentinel integrados a um único workspace do Log Analytics, uma atribuição de Política do Azure que impõe 'contas de armazenamento devem exigir HTTPS' em toda a assinatura, e um Key Vault para a camada de segredos da arquitetura. Este é o domínio SC-100 Projetar uma estratégia e arquitetura Zero Trust em cinco blocos.
Solte os trechos em um único main.tf, execute terraform init e, em seguida, terraform apply passo a passo.
>= 1.5 ou OpenTofu >= 1.6.az login).azuread Terraform para a política de Acesso Condicional.A licença Entra P1 é a mais importante — sem uma licença de locatário existente, US$ 6/usuário/mês é real. O CSPM Fundamental e os dados do Sentinel do laboratório são essencialmente gratuitos.
Abertura padrão do Azure + o provedor azuread para Acesso Condicional.
terraform {
required_version = ">= 1.5"
required_providers {
azurerm = { source = "hashicorp/azurerm", version = "~> 4.0" }
azuread = { source = "hashicorp/azuread", version = "~> 3.0" }
}
}
provider "azurerm" {
features {
key_vault {
purge_soft_delete_on_destroy = true
}
}
}
provider "azuread" {}
data "azurerm_client_config" "current" {}
data "azurerm_subscription" "current" {}
locals {
tags = {
Project = "certlabpro-sc-100"
ManagedBy = "terraform"
}
}
resource "azurerm_resource_group" "main" {
name = "certlabpro-sc-100-rg"
location = "eastus"
tags = local.tags
}Acesso Condicional é a primitiva de identidade Zero Trust do SC-100: verificar explicitamente — cada solicitação de acesso é avaliada contra o contexto (usuário, dispositivo, localização, aplicativo, risco) antes de ser concedida. Criamos uma política em modo somente relatório que diz "para todos os usuários acessando todos os aplicativos de nuvem, exigir MFA". Somente relatório significa que a política registra o que aconteceria se fosse aplicada — o caminho recomendado pelo SC-100 antes de mudar uma política de CA para habilitada.
Arquiteturas Zero Trust reais empilham muitas políticas de CA — baseadas em risco, localização, conformidade de dispositivo, controle de sessão. Este stub é a forma; o domínio Projetar uma estratégia para proteger acesso privilegiado do SC-100 testa a composição de políticas em camadas.
resource "azuread_conditional_access_policy" "require_mfa_report" {
display_name = "certlabpro-sc-100-require-mfa-report-only"
state = "enabledForReportingButNotEnforced"
conditions {
client_app_types = ["all"]
users {
included_users = ["All"]
}
applications {
included_applications = ["All"]
}
}
grant_controls {
operator = "OR"
built_in_controls = ["mfa"]
}
}O SC-100 Avaliar estratégias técnicas de Governança, Risco e Conformidade (GRC) testa o duplo propósito desses dois serviços: o Defender para Nuvem é a camada de postura (avaliação contínua de conformidade, recomendações de segurança); o Sentinel é a camada de detecção (KQL hunting, resposta a incidentes). Juntos, eles são a resposta da Microsoft para "como arquitetar a observabilidade de segurança para um ambiente Zero Trust?".
Integramos ambos em um único workspace do Log Analytics — a arquitetura de referência do SC-100 para eficiência de custos (os dados chegam uma vez, ambos os serviços leem do mesmo armazenamento).
resource "azurerm_log_analytics_workspace" "main" {
name = "log-sc100"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
sku = "PerGB2018"
retention_in_days = 30
tags = local.tags
}
resource "azurerm_security_center_subscription_pricing" "cspm" {
tier = "Free" # Foundational CSPM
resource_type = "CloudPosture"
}
resource "azurerm_sentinel_log_analytics_workspace_onboarding" "main" {
workspace_id = azurerm_log_analytics_workspace.main.id
}A Política do Azure é a primitiva Projetar uma estratégia para governança e conformidade do SC-100 — ela impõe regras em todos os recursos em um escopo. Atribuímos a política interna Secure transfer to storage accounts should be enabled no escopo da assinatura com effect = Deny, o que impede a criação de qualquer nova conta de armazenamento que permita HTTP. O exame testa essa distinção Atribuição de Negação vs Auditoria: Negar impede que a configuração incorreta aconteça; Auditar apenas a sinaliza após o fato.
O princípio Zero Trust que isso impõe é criptografar em trânsito por padrão — um dos temas recorrentes do exame SC-100. Implementações reais de Zero Trust usam Iniciativas de Política (grupos de políticas) para aplicar dezenas de controles de uma vez; esta é a menor forma demonstrável.
# Look up the built-in policy definition by name.
data "azurerm_policy_definition" "storage_https" {
display_name = "Secure transfer to storage accounts should be enabled"
}
resource "azurerm_subscription_policy_assignment" "storage_https" {
name = "certlabpro-sc-100-storage-https"
display_name = "Storage accounts must require HTTPS"
description = "Enforces secure transfer (HTTPS-only) on all storage accounts in the subscription."
policy_definition_id = data.azurerm_policy_definition.storage_https.id
subscription_id = data.azurerm_subscription.current.id
# The built-in policy defaults to Audit; force Deny for Zero Trust enforcement.
parameters = jsonencode({
effect = {
value = "Deny"
}
})
}Arquiteturas Zero Trust centralizam segredos em um vault endurecido — somente RBAC, sem atalhos de chave de administrador, soft-delete + proteção contra purga ativados. Provisionamos o vault com proteção contra purga desativada para conveniência da limpeza do laboratório; em produção, todo vault recomendado pelo SC-100 tem purge_protection_enabled = true para atender aos requisitos de conformidade padrão 'excluir de forma irrecuperável'.
Com os cinco blocos em vigor (Acesso Condicional para identidade, Defender + Sentinel para postura e detecção, Política do Azure para guardrails, Key Vault para segredos), o arcabouço Zero Trust do SC-100 está formado. Cada padrão arquitetônico SC-100 adicional (Privileged Identity Management para elevação just-in-time, Microsoft Purview para classificação de dados, Defender XDR para proteção unificada contra ameaças) se sobrepõe a esta base.
resource "azurerm_key_vault" "main" {
name = "kv-sc100-${substr(replace(uuid(), "-", ""), 0, 6)}"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
tenant_id = data.azurerm_client_config.current.tenant_id
sku_name = "standard"
enable_rbac_authorization = true
soft_delete_retention_days = 7
purge_protection_enabled = false # set true in production for compliance
tags = local.tags
lifecycle {
ignore_changes = [name]
}
}
resource "azurerm_role_assignment" "kv_admin_self" {
scope = azurerm_key_vault.main.id
role_definition_name = "Key Vault Administrator"
principal_id = data.azurerm_client_config.current.object_id
}terraform destroy derruba tudo. Observações:
https_traffic_only_enabled (a política impõe a criação; não reconfigura recursos existentes).purge_soft_delete_on_destroy = true no provedor realmente faz a purga.O SC-100 abrange uma enorme superfície arquitetônica que este laboratório não pode abranger — Privileged Identity Management (PIM), Microsoft Entra Identity Protection, a superfície de integração completa do Microsoft Defender XDR, Microsoft Purview (governança de dados + risco + gerenciador de conformidade + Risco Interno + eDiscovery + Proteção de Informações / DLP), centro de conformidade do Microsoft 365, iniciativas da Política do Azure (grupos de políticas, a resposta de produção SC-100), o nível pago CSPM-Plus do Defender para Nuvem (consultas de grafo de ativos, varredura sem agente, análise de caminho de ataque), Azure Lighthouse para gerenciamento multi-locatário e toda a experiência multi-nuvem do Defender para Nuvem (conectores AWS / GCP).
Nós nos limitamos às primitivas Acesso Condicional + Defender + Sentinel + Política do Azure + Key Vault porque elas são o substrato sobre o qual toda arquitetura SC-100 mais avançada se compõe. O PIM eleva as associações a grupos do Entra às quais o Acesso Condicional se baseia. O Defender XDR enriquece os alertas do Defender para Nuvem. O Purview classifica dados armazenados em contas de armazenamento protegidas por Key Vault. As iniciativas de política agrupam os controles que você definiu aqui em pacotes de conformidade.
Para cobertura serviço a serviço, consulte as seções Navegar, Guia e Editorial desta página de certificação.