Udostępnij za pośrednictwem


Wprowadzenie do linku prywatnego

Omówienie

W tym przewodniku opisano funkcję łącza prywatnego (PL) programu Azure Operator Service Manager (AOSM) dla magazynów artefaktów hostowanych na platformie Azure Operator Nexus. W ramach inicjatywy rejestru usługi AOSM edge pl używa prywatnych punktów końcowych platformy Azure i usługi azure private link do bezpiecznego backhaul Nexus lokalnego ruchu magazynu artefaktów. Ten ruch nigdy nie jest narażony na Internet, zamiast tego przechodzi wyłącznie przez sieć prywatną firmy Microsoft.

Wprowadzenie

Ten dokument zawiera przewodnik Szybki start dotyczący włączania funkcji łącza prywatnego dla magazynu artefaktów AOSM przy użyciu interfejsów API programu AOSM Publisher.

Wymagane uprawnienia

Operacje wymagane do łączenia prywatnego punktu końcowego i zarządzania nim za pomocą kontrolera sieci szkieletowej Nexus (NFC) wymagają następujących niezdefinicyjnych uprawnień roli.

Uprawnienia do łączenia i zarządzania ręcznym prywatnym punktem końcowym

Usuwanie prywatnego punktu końcowego

"Microsoft.HybridNetwork/publishers/artifactStores/removePrivateEndPoints/action"

Zatwierdzanie prywatnego punktu końcowego

"Microsoft.HybridNetwork/publishers/artifactStores/approvePrivateEndPoints/action"

Uprawnienia do łączenia prywatnego punktu końcowego i zarządzania nim za pomocą komunikacji NFC

Dodawanie prywatnych punktów końcowych NFC

"Microsoft.HybridNetwork/publishers/artifactStores/addNetworkFabricControllerEndPoints/action"
"Microsoft.ManagedNetworkFabric/networkFabricControllers/joinartifactstore/action"

Wyświetlanie listy prywatnych punktów końcowych NFC

"Microsoft.HybridNetwork/publishers/artifactStores/listNetworkFabricControllerPrivateEndPoints/action"

Usuwanie prywatnych punktów końcowych NFC

"Microsoft.HybridNetwork/publishers/artifactStores/deleteNetworkFabricControllerEndPoints/action"
"Microsoft.ManagedNetworkFabric/networkFabricControllers/disjoinartifactstore/action"

Uwaga

W miarę wprowadzania nowych uprawnień NFC zalecane uprawnienia roli zostaną zaktualizowane.

Przed bezpiecznym przekazaniem zasobów następująca sekwencja operacji ustanawia połączenie PL z magazynem artefaktów.

Tworzenie magazynu wydawcy i artefaktów

  • Utwórz nowy zasób wydawcy z typem tożsamości ustawionym na wartość "SystemAssigned".
    • Jeśli wydawca został już utworzony bez tej właściwości, użyj operacji reput, aby zaktualizować.
  • Użyj nowej właściwości "backingResourcePublicNetworkAcccess", aby wyłączyć publiczny dostęp do magazynu artefaktów.
    • Właściwość jest najpierw dodawana w wersji 2024-04-15.
    • Jeśli element ArtifactResource został już utworzony bez tej właściwości, użyj operacji reput, aby zaktualizować.

Przykładowy skrypt bicep wydawcy

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'
 }
 
}

Ręczne operacje punktu końcowego

Następujące operacje umożliwiają ręczne zarządzanie magazynem artefaktów po ustanowieniu pl.

Zarządzanie dostępem do prywatnego punktu końcowego

Domyślnie, gdy magazyn artefaktów jest połączony z siecią wirtualną, użytkownik nie ma uprawnień do usługi ACR, więc prywatny punkt końcowy kończy się w stanie oczekiwania. Następujące polecenia rest platformy Azure i ładunek umożliwiają użytkownikowi zatwierdzanie, odrzucanie i/lub wyświetlanie listy tych punktów końcowych.

Uwaga

W tym przepływie pracy sieć wirtualna jest zarządzana przez klienta.

Przykładowy ładunek JSON:

{
 "manualPrivateEndPointConnections": [
 {
 "id":"/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroup>/providers/Microsoft.Network/privateEndpoints/peName"
 }
 ]
 }

Przykładowe polecenia prywatnego punktu końcowego

# 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/<ReourceGroup>/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 '{}'

Dodawanie prywatnych punktów końcowych do komunikacji NFC

Następujące polecenia rest platformy Azure umożliwiają użytkownikowi tworzenie, usuwanie i/lub wyświetlanie skojarzenia między prywatnym punktem końcowym, usługą ACR i zarządzanymi sieciami wirtualnymi Nexus.

Przykładowe polecenia prywatnego punktu końcowego

# 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\"}] }'