Spoke common settings (common.tf)¶
Instellingen die voor elke spoke gelijk zijn, worden één keer gedefinieerd en niet in elk spoke-bestand. De spoke-JSON bevat dan alleen wat specifiek is voor één workload. Deze pagina somt die common settings op, wat ze doen en waar ze staan.
Waar de common settings staan
In de aparte spoke canvas-deployment (eigen repository en pipeline) zijn de common settings een Terraform-bestand met de naam
common.tf met een locals-blok. In de huidige platformindeling maakt het deel dat over tenant en gedeelde services gaat deel uit
van mcp.json onder SpokeCommon (mcp.json). De namen van de instellingen zijn gelijk.
Controleer in de codeversie die je pint welke van de onderstaande instellingen jouw indeling leest, en waar. De
upgradehandleidingen voor de spoke canvas tonen de oudere common.tf-vorm.
Overzicht¶
| Blok | Doel | Verplicht |
|---|---|---|
tenantinfo |
Tenant, administrative unit, voorvoegsel van groepsnamen en secret-rotatie | ja |
networking |
Hub-subscription en de IPAM-pools waaruit spokes mogen toewijzen | ja (ipam_pools is optioneel) |
regioninfo |
Per regio: namen, DNS-server, virtual hub, centrale Log Analytics workspace | ja |
pim_configurations |
Benoemde PIM-profielen waarnaar PIMGroupConfig verwijst |
ja, vanaf spoke canvas 2.10 |
override_defaults.pim_assignments |
Overschrijvingen per rol van de ingebouwde RBAC-rolmap | nee |
ghinfo |
GitHub-organisatie, basis-URL en OIDC-issuer voor de GitHub-extensie | alleen met de GitHub-extensie |
tenantinfo¶
| Instelling | Beschrijving |
|---|---|
TenantId |
ID van de tenant waarin groepen worden aangemaakt. Moet de tenant zijn die de spoke-subscriptions bevat. |
AdministrativeUnitId |
Object-ID van de administrative unit die de spoke-groepen bevat (Identiteit voorbereiden). |
GroupnamePrefix |
Voorvoegsel van elke groep die de deployment aanmaakt, bijvoorbeeld SG_SPOKE_. |
SPNSecretrotationPeriod |
Geldigheid van het secret van elke spoke service principal, in dagen. |
NewSubscriptionDefaultManagementGroupId |
Standaard management group voor nieuwe subscriptions. Aanwezig in het voorbeeldbestand; controleer hoe jouw versie het gebruikt. |
De rotatieperiode wijzigen
Het wijzigen van SPNSecretrotationPeriod forceert bij de volgende run nieuwe secrets voor alle service principals die de
spoke-deployment beheert. Plan het als een wijziging met een onderhoudsvenster, en zorg dat afnemers van de secrets
(bijvoorbeeld service connections) de nieuwe waarde oppakken (Spoke wijzigen).
networking¶
| Instelling | Beschrijving |
|---|---|
virtualhubsubscriptionid |
ID van de subscription die de virtual hubs bevat waarmee spoke-netwerken verbinden. |
ipam_pools |
Optionele map van Azure Virtual Network Manager IPAM-pools waaruit spokes adresruimte mogen toewijzen. Key: de naam die een spoke-bestand in ipamPool gebruikt. Waarde: de volledige resource-ID van de pool. |
De resource-ID's van de pools worden gerapporteerd door de foundation-deployment van het platform als output
network_manager_ipam_environment_pool_ids (zie Feature flags voor deploy_network_manager).
- IPAM-pools zijn regionaal. Neem de regio op in de key als meer dan één regio een pool heeft, bijvoorbeeld
dev-weu. - Alleen pools in deze map kunnen worden gebruikt. Een spoke die een onbekende pool noemt, laat het plan falen, en de foutmelding toont de namen die beschikbaar zijn.
- Laat je de map weg, dan blijft elke spoke op hardgecodeerde adresprefixes. Dat blijft volledig ondersteund.
Hoe een spoke een pool gebruikt: Spoke JSON-naslag.
regioninfo¶
Eén item per regio. De key van het item is de korte regionaam die spoke-bestanden gebruiken (targetRegions,
network[].region). Het is geen eigenschap. Keys moeten uniek zijn.
| Instelling | Beschrijving |
|---|---|
azregionname |
Azure-naam van de regio, bijvoorbeeld westeurope. |
regionfriendlyname |
Weergavenaam, bijvoorbeeld West Europe. |
dnsserver |
IP-adres van de DNS-server voor spoke-netwerken in de regio. Normaal het interne adres van de hub-firewall in die regio (de DNS proxy). Een spoke kan dit overschrijven met dnsServerOverwrite. |
virtualhub_resourceid |
Volledige resource-ID van de virtual hub in de regio waarmee spoke-netwerken verbinden. |
centrallaw_resourceid |
Volledige resource-ID van de centrale Log Analytics workspace waar spoke-resources naartoe loggen, bijvoorbeeld het doorsturen van de activity log. |
pim_configurations¶
Een map van benoemde PIM-profielen. Elk profiel stelt een toewijzingstype in (active of eligible). Bij eligible profielen stelt het ook
het activatiebeleid in en, indien nodig, goedkeurders. Een spoke verwijst met de naam naar een profiel, zodat het volledige beleid niet
in elk spoke-bestand wordt herhaald. De instelling notifications wordt geaccepteerd maar op dit moment niet gebruikt.
De standaardprofielen zijn nopim, self-approve en approval. Hun definitie staat in de
upgradehandleiding. Details over hoe profielen en
rollen samenhangen: RBAC en PIM voor spokes.
override_defaults.pim_assignments¶
Optioneel. Wijzigt de ingebouwde RBAC-rolmap voor alle spokes. Zie RBAC en PIM voor spokes.
ghinfo¶
Alleen nodig als spokes de GitHub-extensie gebruiken. De waarden zijn de default voor
elke spoke; een spoke kan organization en oidc_issuer overschrijven.
| Instelling | Beschrijving |
|---|---|
OrganizationName |
GitHub-organisatie waarin repositories worden aangemaakt. |
OidcIssuer |
OIDC-issuer-URL die de federated credentials vertrouwen. |
BaseUrl |
Basis-URL van de GitHub-instance. |
| Instance | OidcIssuer |
BaseUrl |
|---|---|---|
| GitHub.com | https://token.actions.githubusercontent.com |
https://github.com/ |
| GitHub Enterprise Server | https://<github host>/_services/token |
https://<github host>/ |
Bereid eerst de GitHub-kant voor: Spoke-integraties voorbereiden.
Voorbeeld¶
Een ingekort voorbeeld met placeholders. Een echt bestand heeft een item per regio.
locals {
tenantinfo = {
TenantId = "<tenant-id>"
AdministrativeUnitId = "<administrative-unit-object-id>"
GroupnamePrefix = "SG_SPOKE_"
SPNSecretrotationPeriod = 90
}
networking = {
virtualhubsubscriptionid = "<hub-subscription-id>"
ipam_pools = {
dev-weu = "<resource id of the IPAM pool for dev in West Europe>"
prd-weu = "<resource id of the IPAM pool for prd in West Europe>"
}
}
regioninfo = {
weu = {
azregionname = "westeurope"
regionfriendlyname = "West Europe"
dnsserver = "<firewall private IP in the region>"
virtualhub_resourceid = "<resource id of the virtual hub>"
centrallaw_resourceid = "<resource id of the central Log Analytics workspace>"
}
}
# pim_configurations: see the upgrade guide
# override_defaults, ghinfo: only when you need them
}