Nieuwe sandbox subscription¶
Work in progress. Deze runbook is algemene richtlijn. Het beoogde ontwerp is een deployment zoals een spoke, maar met alleen een subscription en zonder spoke canvas. Die flow bestaat nog niet in de codebase. Hieronder staat wat je kunt doen met de huidige code, en wat je met de hand moet doen.
Standaardwijziging: Nieuwe Azure sandbox subscription
Beoogd effect: een nieuwe subscription voor experimenten, geplaatst in de management group sandbox, met toegang voor het
aanvragende team. Er komt geen hub-verbinding, geen virtual network en geen spoke-resources.
Aanvraagvelden¶
| Veld | Gebruik |
|---|---|
| Subscription Name | Weergavenaam van de subscription |
| Onderbouwing | Wijzigingsrecord |
| Omgeving | Platformomgeving (canary / prod) waarvan de management group sandbox wordt gebruikt |
| Welk team heeft toegang nodig | Entra ID-groep die toegang krijgt |
| Opmerkingen |
Wat de huidige code ondersteunt¶
| Behoefte | Ondersteund door code? | Hoe |
|---|---|---|
| De subscription aanmaken | Nee (niet via de pipelines, zie Nieuwe spoke) | Maak hem aan via je EA/MCA/CSP-proces. |
Plaatsen in de management group sandbox |
Ja | foundation-layer: management_group_structure.sandbox.subscription_ids |
| Teamtoegang (RBAC/PIM) | Nee | Wijs rollen handmatig toe, of via je identity governance-proces. |
| Tags | Nee | Zet ze handmatig. |
| Policies en monitoring | Geërfd | Alles wat op de management group cloudplatform is toegewezen geldt, inclusief de ingebouwde compliance-initiatives en de Service Health alert initiative als die daar is ingeschakeld. Toewijzingen op landingzones gelden niet. |
Alternatief: een spoke zonder hubverbinding¶
Als het experiment de spoke-baseline nodig heeft (netwerk, groepen, Key Vault, Log Analytics) maar niet met de hub
of met andere netwerken verbonden mag zijn, maak dan een gewone spoke in een sandbox management group en zet peerHub op false op
het netwerk ervan (zie de Spoke JSON-referentie). De spoke heeft dan geen virtual hub connection en
dus geen route naar andere spokes, naar on-premises netwerken of (via de hub firewall) naar internet. Controleer het DNS-
en routinggedrag van zo'n spoke voordat je een team belooft dat het werkt.
Stappen¶
- Maak de subscription aan via je billingproces. Noteer de subscription-ID.
- Voeg hem toe aan de sandbox management group. Voeg in
<env-folder>/<primary region>/foundation.auto.tfvarsde ID achteraan toe aan de lijst:
management_group_structure = {
# ...
sandbox = {
id = "cloudplatform-sandbox"
display_name = "Sandbox"
subscription_ids = [
"11111111-1111-1111-1111-111111111111",
"22222222-2222-2222-2222-222222222222" # new
]
},
# ...
}
- Draai
huben lees het foundation plan voor de primaire regio. Verwacht één toegevoegdeazurerm_management_group_subscription_association. - Geef handmatig toegang: wijs de Entra ID-groep van het team een rol toe op de subscription, bijvoorbeeld Contributor. Gebruik PIM als je organisatie dat vereist.
- Leg de subscription, eigenaar en einddatum vast in het wijzigingsticket. Sandboxes blijven vaak langer bestaan dan hun doel.
Kanttekeningen bij subscription_ids¶
Uit infra/modules/management_groups/main.tf:
resource "azurerm_management_group_subscription_association" "this" {
count = length(var.management_group_subscription_association_subscription_ids)
subscription_id = "/subscriptions/${element(var..._subscription_ids, count.index)}"
lifecycle {
ignore_changes = [management_group_id, subscription_id]
}
}
- De associations worden aangesproken via positie in de lijst (
count.index), en wijzigingen aansubscription_idworden genegeerd. - Voeg alleen achteraan toe. Verwijder of herschik nooit items. Een item uit het midden verwijderen verschuift de posities. Terraform vernietigt dan de laatste association, waardoor die subscription uit de management group wordt verplaatst. De resterende posities houden hun oude subscription in de state.
- Om een subscription uit
sandboxte verplaatsen, verplaats je hem in Azure (portal of CLI) en laat je de lijst ongemoeid. Of plan de wijziging en lees het foundation plan heel zorgvuldig.
Een sandbox subscription verwijderen¶
- Verplaats hem naar de management group
decommissioned: - handmatig, of
- door zijn ID achteraan toe te voegen aan
decommissioned.subscription_ids, met dezelfde kanttekeningen als hierboven. - Zeg hem op via je billingproces.