Ga naar inhoud

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

  1. Maak de subscription aan via je billingproces. Noteer de subscription-ID.
  2. Voeg hem toe aan de sandbox management group. Voeg in <env-folder>/<primary region>/foundation.auto.tfvars de 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
    ]
  },
  # ...
}
  1. Draai hub en lees het foundation plan voor de primaire regio. Verwacht één toegevoegde azurerm_management_group_subscription_association.
  2. 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.
  3. 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 aan subscription_id worden 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 sandbox te 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

  1. Verplaats hem naar de management group decommissioned:
  2. handmatig, of
  3. door zijn ID achteraan toe te voegen aan decommissioned.subscription_ids, met dezelfde kanttekeningen als hierboven.
  4. Zeg hem op via je billingproces.