Ga naar inhoud

Toegang tot de bibliotheek instellen (XMT Ambassador)

De bibliotheek wordt in je eigen omgeving geleverd: Terraform-modules in een read-only repository in Azure DevOps, Bicep-modules in een container registry. Deze pagina is voor de XMT Ambassador: de persoon aan de kant van de afnemer die de eenmalige inrichting regelt, de toegang voor mensen en pipelines beheert en het eerste aanspreekpunt is voor vragen over de bibliotheek. Onder een managed-service-contract levert het onderhoudende team (XMMS) de modules aan wat je hier inricht. Bij zelfbeheer is het onderhoudende team een team van je eigen organisatie en geldt dezelfde inrichting (Beheermodellen).

Deel Managed Templates gebruiken met je teams zodra de inrichting klaar is. Het onderhoudende team doet zijn deel in Een afnemer onboarden.

Referentieopzet, jouw omgeving kan afwijken

De groepsnamen en de permissies hieronder zijn die van de referentieopzet. Gebruik de namen die je organisatie verkiest, en behoud de bedoeling: mensen krijgen leestoegang via een groep, en alleen de identity van het onderhoudende team kan schrijven.

Eenmalige inrichting

Doe deze stappen één keer voor je organisatie.

Maak de repository aan

  1. Gebruik in Azure DevOps een bestaand project of maak er een aan.
  2. Voeg een nieuwe privé-repository toe voor de bibliotheek.
  3. Open de securityinstellingen van de repository en zet inheritance uit.
  4. Zet voor alle groepen en gebruikers deze permissies op Not Set: manage advanced security settings, bypass policies when completing pull requests, bypass policies when pushing, contribute, contribute to pull requests, create branch, create tag, delete or disable repository en force push.

Maak een container registry aan (alleen Bicep)

Maak een Azure Container Registry aan in de Premium-tier. De Premium-tier is nodig om de platformadressen toe te staan die de Bicep-modules publiceren. Sla deze stap over als je alleen Terraform gebruikt.

Maak de service principal voor synchronisatie aan

Met de service principal kan het onderhoudende team de modules synchroniseren naar je repository en registry.

  1. Maak een service principal aan in Entra ID.
  2. Geef hem de rol Reader op subscriptionniveau (de subscription met de registry, of een willekeurige subscription als je geen registry gebruikt). Dit is nodig om een service connection aan te maken. Geef hem AcrPush op de registry.
  3. Voeg de service principal toe aan de Azure DevOps-organisatie met toegangsniveau Basic, aan het project van de repository en aan de groep Project Readers.
  4. Zet in de securityinstellingen van de repository deze permissies op Allow voor de service principal: bypass policies when pushing, contribute, contribute to pull requests, create tag, force push en read.
  5. Stuur het volgende naar het onderhoudende team: de application (client) ID, de directory (tenant) ID, de subscription-ID en -naam waar Reader is toegewezen, de link naar de repository en, optioneel, de naam van de registry.

Het onderhoudende team richt daarna de connectie en de synchronisatie in (Een afnemer onboarden).

Maak de toegangsgroepen aan

Twee groepen geven je één plek om de toegang te beheren.

  1. Maak een security group aan in Entra ID voor de readers (de referentieopzet noemt die XMT_readers).
  2. Geef deze groep de rol Reader op de registry.
  3. Voeg in Azure DevOps een groepsregel toe voor de groep: toegangsniveau Basic, het project van de repository en de groep Project Readers.
  4. Maak een Azure DevOps-groep aan voor pipelines (de referentieopzet noemt die XMT_access) en geef die Read op de repository.

Controleer de netwerktoegang

Voor Bicep hebben mensen en pipeline-agents netwerktoegang tot de registry nodig op poort 443.

  • Voorkeur: laat het verkeer over ExpressRoute of een VPN lopen.
  • Alternatief: sta toegang toe vanaf internet of vanaf specifieke IP-adressen, bijvoorbeeld het publieke adres van een kantoor.

Doorlopend toegangsbeheer

Gebruikerstoegang verlenen

Voeg de persoon toe aan de readersgroep in Entra ID. Meer is niet nodig. De persoon kan dan de repository lezen (Terraform) en modules uit de registry ophalen (Bicep).

Pipelinetoegang verlenen

Terraform-pipelines

  1. Voeg de build identity van de pipeline toe aan de pipelinetoegangsgroep. Welke identity dat is, hangt af van de organisatie-instelling Limit job authorization scope to current project for non-release pipelines:

    • instelling uit: Project Collection Build Service (<organisation>)
    • instelling aan: <project> Build Service (<organisation>)

    De instelling op organisatieniveau gaat voor op die op projectniveau. 2. Vraag het team de bibliotheek in de pipeline als repository resource te declareren en terraform init (en de andere Terraform-stappen) te omringen met de git-authenticatiestappen. De IaC Accelerator bevat beide, en ze staan in Optie 2. 3. Zet Protect access to repositories in YAML pipelines uit voor het project.

Bicep-pipelines

Voeg de service connection die de Bicep-deploymentjob gebruikt toe aan de readersgroep in Entra ID. De pipeline kan dan de modules uit de registry ophalen.