Aan de slag met private link
Overzicht
In deze handleiding wordt de private link-functie (AOSM) van Azure Operator Service Manager (PL) beschreven voor artefactarchieven die worden gehost op Azure Operator Nexus. Als onderdeel van het AOSM Edge-registerinitiatief maakt PL gebruik van privé-eindpunten van Azure, en de Azure Private Link-service, om veilig backhaul Nexus on-premises artefactopslagverkeer op te slaan. Dit verkeer wordt nooit blootgesteld aan internet, in plaats daarvan uitsluitend via het privénetwerk van Microsoft.
Inleiding
Dit document bevat een beknopte handleiding voor het inschakelen van de private link-functie voor het AOSM-artefactarchief met behulp van AOSM Publisher-API's.
Vereiste machtigingen
Voor de bewerkingen die nodig zijn om een privé-eindpunt te koppelen en te beheren met een Nexus Fabric Controller (NFC) zijn de volgende niet-standaardrolbevoegdheden vereist.
Machtigingen voor het koppelen en beheren van handmatig privé-eindpunt
Privé-eindpunt verwijderen
"Microsoft.HybridNetwork/publishers/artifactStores/removePrivateEndPoints/action"
Keur het privé-eindpunt goed
"Microsoft.HybridNetwork/publishers/artifactStores/approvePrivateEndPoints/action"
Machtigingen voor het koppelen en beheren van een privé-eindpunt met NFC
NFC-privé-eindpunten toevoegen
"Microsoft.HybridNetwork/publishers/artifactStores/addNetworkFabricControllerEndPoints/action"
"Microsoft.ManagedNetworkFabric/networkFabricControllers/joinartifactstore/action"
NFC-privé-eindpunten weergeven
"Microsoft.HybridNetwork/publishers/artifactStores/listNetworkFabricControllerPrivateEndPoints/action"
NFC-privé-eindpunten verwijderen
"Microsoft.HybridNetwork/publishers/artifactStores/deleteNetworkFabricControllerEndPoints/action"
"Microsoft.ManagedNetworkFabric/networkFabricControllers/disjoinartifactstore/action"
Notitie
Wanneer er nieuwe NFC-machtigingen worden geïntroduceerd, worden de aanbevolen rolbevoegdheden bijgewerkt.
AOSM-API's gebruiken om een privékoppeling in te stellen
Voordat resources veilig kunnen worden geüpload, brengt de volgende reeks bewerkingen een PL-verbinding tot stand met het artefactarchief.
Publisher- en artefactopslag maken
- Maak een nieuwe uitgeverresource met het identiteitstype ingesteld op SystemAssigned.
- Als de uitgever al is gemaakt zonder deze eigenschap, gebruikt u een reput-bewerking om bij te werken.
- Gebruik de nieuwe eigenschap 'backingResourcePublicNetworkAccess' om openbare toegang tot artefactopslag uit te schakelen.
- De eigenschap wordt voor het eerst toegevoegd in de versie 2024-04-15.
- Als de ArtifactResource al is gemaakt zonder deze eigenschap, gebruikt u een bronbewerking om bij te werken.
Bicep-voorbeeldscript van uitgever
param location string = resourceGroup().location
param publisherName string
param acrArtifactStoreName string
/* AOSM publisher resource creation
*/
var publisherNameWithLocation = concat(publisherName, uniqueString(resourceGroup().id))
resource publisher 'Microsoft.HybridNetwork/publishers@2023-09-01' = {
name: publisherNameWithLocation
location: location
identity: {
type: 'SystemAssigned'
}
properties: {
scope: 'Private'
}
}
/* AOSM artifact store resource creation
*/
resource acrArtifactStore 'Microsoft.HybridNetwork/publishers/artifactStores@2024-04-15' = {
parent: publisher
name: acrArtifactStoreName
location: location
properties: {
storeType: 'AzureContainerRegistry'
backingResourcePublicNetworkAccess: 'Disabled'
}
}
Handmatige eindpuntbewerkingen
Met de volgende bewerkingen kunt u handmatig beheer van een artefactarchief inschakelen zodra de PL tot stand is gebracht.
Privé-eindpunttoegang beheren
Wanneer het artefactarchief is verbonden met het vnet, heeft de gebruiker standaard geen machtigingen voor de ACR, zodat het privé-eindpunt in behandeling is. Met de volgende Azure-restopdrachten en -nettolading kan een gebruiker deze eindpunten goedkeuren, afwijzen en/of vermelden.
Notitie
In deze werkstroom wordt het vnet beheerd door de klant.
Voorbeeld van JSON-nettolading:
{
"manualPrivateEndPointConnections": [
{
"id":"/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroup>/providers/Microsoft.Network/privateEndpoints/peName"
}
]
}
Voorbeelden van privé-eindpuntopdrachten
# approve private endpoints
az rest --method post --url https://management.azure.com/subscriptions/<Subscription>/resourceGroups/<ResourceGroup>/providers/Microsoft.HybridNetwork/publishers/<Publisher>/artifactStores/<ArtifactStore>/approveprivateendpoints?api-version=2024-04-15 --body '{ \"manualPrivateEndPointConnections\" : [ { \"id\" : \"/subscriptions/<Subscription>/resourceGroups/<ResourceGroup>/providers/Microsoft.Network/privateEndpoints/peName\" } ] }'
# remove private endpoints
az rest --method post --url https://management.azure.com/subscriptions/<Subscription>/resourceGroups/<ResourceGroup>/providers/Microsoft.HybridNetwork/publishers/<Publisher>/artifactStores/<ArtifactStore>/removeprivateendpoints?api-version=2024-04-15 --body '{ \"manualPrivateEndPointConnections\" : [ { \"id\" : \"/subscriptions/<Subscription>/resourceGroups/<ResourceGroup>/providers/Microsoft.Network/privateEndpoints/peName\" } ] }'
# list private endpoints
az rest --method post --url https://management.azure.com/subscriptions/<Subscription>resourceGroups/<ResourceGroup>/providers/Microsoft.HybridNetwork/publishers/<Publisher>/artifactStores/<artifactStore>/listPrivateEndPoints?api-version=2024-04-15 --body '{}'
Privé-eindpunten toevoegen aan NFC
Met de volgende Azure-restopdrachten kan een gebruiker de koppeling tussen privé-eindpunten, ACR en de door Nexus beheerde vnet's maken, verwijderen en/of vermelden.
Voorbeelden van privé-eindpuntopdrachten
# add nfc private endpoints
az rest --method post --url https://management.azure.com/subscriptions/<Subscription>/resourceGroups/<ResourceGroup>/providers/Microsoft.HybridNetwork/publishers/<Publisher>/artifactStores/<artifactStore>/addnetworkfabriccontrollerendpoints?apiversion=2024-04-15 --body '{ \"networkFabricControllerIds\":[{\"id\": \"/subscriptions/<Subscription>/resourceGroups/op2lab-nfc-useop1/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/op2labnfc01\"}] }'
# list nfc private endpoints
az rest --method post --url https://management.azure.com/subscriptions/<Subscription>/resourceGroups/<ResourceGroup>/providers/Microsoft.HybridNetwork/publishers/<Publisher>/artifactStores/<artifactStore>/listnetworkfabriccontrollerprivateendpoints?apiversion=2024-04-15 --body '{}'
# delete nfc private endpoints
az rest --method post --url https://management.azure.com/subscriptions/<Subscription>/resourceGroups/<ResourceGroup>/providers/Microsoft.HybridNetwork/publishers/<publisher>/artifactStores/<artifactStore>/deletenetworkfabriccontrollerendpoints?api-version=2024-04-15 --body '{ \"networkFabricControllerIds\":[{\"id\": \"/subscriptions/<Subscription>/resourceGroups/op2lab-nfc-useop1/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/op2labnfc01\"}] }'