Beheerde identiteiten configureren in Batch-groepen
Beheerde identiteiten voor Azure-resources elimineren gecompliceerd identiteits- en referentiebeheer door een identiteit op te geven voor de Azure-resource in Microsoft Entra ID (Azure AD ID). Deze identiteit wordt gebruikt om Microsoft Entra-tokens te verkrijgen voor verificatie met doelbronnen in Azure.
In dit onderwerp wordt uitgelegd hoe u door de gebruiker toegewezen beheerde identiteiten kunt inschakelen in Batch-pools en hoe u beheerde identiteiten binnen de knooppunten gebruikt.
Belangrijk
Het maken van pools met beheerde identiteiten kan alleen worden uitgevoerd met de Batch Management Plane-API's of SDK's met behulp van Entra-verificatie. Het is niet mogelijk om pools met beheerde identiteiten te maken met behulp van de Batch Service-API's of SDK's. Zie de overzichtsdocumentatie voor Batch-API's en hulpprogramma's voor meer informatie.
Een door de gebruiker toegewezen beheerde identiteit maken
Maak eerst uw door de gebruiker toegewezen beheerde identiteit in dezelfde tenant als uw Batch-account. U kunt de identiteit maken met behulp van Azure Portal, de Azure-opdrachtregelinterface (Azure CLI), PowerShell, Azure Resource Manager of de Azure REST API. Deze beheerde identiteit hoeft zich niet in dezelfde resourcegroep of zelfs in hetzelfde abonnement te bevinden.
Tip
Een door het systeem toegewezen beheerde identiteit die is gemaakt voor een Batch-account voor versleuteling van klantgegevens kan niet worden gebruikt als een door de gebruiker toegewezen beheerde identiteit in een Batch-pool, zoals beschreven in dit document. Als u dezelfde beheerde identiteit wilt gebruiken voor zowel het Batch-account als de Batch-pool, gebruikt u in plaats daarvan een algemene door de gebruiker toegewezen beheerde identiteit.
Een Batch-pool maken met door de gebruiker toegewezen beheerde identiteiten
Nadat u een of meer door de gebruiker toegewezen beheerde identiteiten hebt gemaakt, kunt u een Batch-pool met die identiteit of die identiteiten maken. U kunt:
- De Azure-portal gebruiken om de Batch-pool te maken
- De Batch .NET-beheerbibliotheek gebruiken om de Batch-pool te maken
Waarschuwing
In-place updates van door pool beheerde identiteiten worden niet ondersteund terwijl de pool actieve knooppunten heeft. Bestaande rekenknooppunten worden niet bijgewerkt met wijzigingen. Het is raadzaam om de pool omlaag te schalen naar nul rekenknooppunten voordat u de identiteitsverzameling wijzigt om ervoor te zorgen dat aan alle VM's dezelfde set identiteiten is toegewezen.
Batch-pool maken in Azure Portal
Een Batch-pool maken met een door de gebruiker toegewezen beheerde identiteit via Azure Portal:
- Meld u aan bij het Azure-portaal.
- Typ en selecteer Batch-accounts in de zoekbalk.
- Selecteer op de pagina Batch-accounts het Batch-account waar u een Batch-pool wilt maken.
- Selecteer Pools in het menu voor het Batch-account onder Functies.
- Selecteer Toevoegen in het menu Pools om een nieuwe Batch-pool toe te voegen.
- Voer voor pool-id een id in voor uw pool.
- Wijzig voor Identiteit de instelling in Door de gebruiker toegewezen.
- Selecteer Toevoegen onder Door de gebruiker toegewezen beheerde identiteit.
- Selecteer de door de gebruiker toegewezen beheerde identiteit of identiteiten die u wilt gebruiken. Selecteer vervolgens Toevoegen.
- Selecteer onder Besturingssysteem de uitgever, aanbieding en SKU die u wilt gebruiken.
- Schakel desgewenst de beheerde identiteit in het containerregister in:
- Voor containerconfiguratie wijzigt u de instelling in Aangepast. Selecteer vervolgens uw aangepaste configuratie.
- Selecteer Ingeschakeld voor starttaak. Selecteer vervolgens Resourcebestanden en voeg uw opslagcontainergegevens toe.
- Containerinstellingen inschakelen.
- Containerregister wijzigen in Aangepast
- Als identiteitsreferentie selecteert u de opslagcontainer.
Batch-pool maken met .NET
Als u een Batch-pool wilt maken met een door de gebruiker toegewezen beheerde identiteit met de Batch .NET-beheerbibliotheek, gebruikt u de volgende voorbeeldcode:
var credential = new DefaultAzureCredential();
ArmClient _armClient = new ArmClient(credential);
var batchAccountIdentifier = ResourceIdentifier.Parse("your-batch-account-resource-id");
BatchAccountResource batchAccount = _armClient.GetBatchAccountResource(batchAccountIdentifier);
var poolName = "HelloWorldPool";
var imageReference = new BatchImageReference()
{
Publisher = "canonical",
Offer = "0001-com-ubuntu-server-jammy",
Sku = "22_04-lts",
Version = "latest"
};
string nodeAgentSku = "batch.node.ubuntu 22.04";
var batchAccountPoolData = new BatchAccountPoolData()
{
VmSize = "Standard_DS1_v2",
DeploymentConfiguration = new BatchDeploymentConfiguration()
{
VmConfiguration = new BatchVmConfiguration(imageReference, nodeAgentSku)
},
ScaleSettings = new BatchAccountPoolScaleSettings()
{
FixedScale = new BatchAccountFixedScaleSettings()
{
TargetDedicatedNodes = 1
}
}
};
ArmOperation<BatchAccountPoolResource> armOperation = batchAccount.GetBatchAccountPools().CreateOrUpdate(
WaitUntil.Completed, poolName, batchAccountPoolData);
BatchAccountPoolResource pool = armOperation.Value;
Door de gebruiker toegewezen beheerde identiteiten gebruiken in Batch-knooppunten
Veel Azure Batch-functies die rechtstreeks toegang hebben tot andere Azure-resources op de rekenknooppunten, zoals Azure Storage of Azure Container Registry, ondersteunen beheerde identiteiten. Zie de volgende koppelingen voor meer informatie over het gebruik van beheerde identiteiten met Azure Batch:
- Resourcebestanden
- Uitvoerbestanden
- Azure Container Registry
- Bestandssysteem van Azure Blob-container
U kunt uw taken ook handmatig configureren, zodat de beheerde identiteiten rechtstreeks toegang hebben tot Azure-resources die beheerde identiteiten ondersteunen.
Binnen de Batch-knooppunten kunt u tokens voor beheerde identiteiten ophalen en deze gebruiken om te verifiëren via Microsoft Entra-verificatie via de Azure Instance Metadata Service.
Voor Windows is het PowerShell-script voor het ophalen van een toegangstoken voor verificatie:
$Response = Invoke-RestMethod -Uri 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource={Resource App Id Url}' -Method GET -Headers @{Metadata="true"}
Voor Linux is het Bash-script:
curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource={Resource App Id Url}' -H Metadata:true
Zie Beheerde identiteiten gebruiken voor Azure-resources op een Azure-VM om een toegangstoken te verkrijgen voor meer informatie.
Volgende stappen
- Meer informatie over beheerde identiteiten voor Azure-resources.
- Meer informatie over het gebruik van door de klant beheerde sleutels met door de gebruiker beheerde identiteiten.
- Meer informatie over het inschakelen van automatische certificaatrotatie in een Batch-pool.