Начало работы с приватным каналом

Обзор

В этом руководстве описывается функция приватного канала Azure Operator Service Manager (AOSM) для хранилищ артефактов, размещенных в Операторе Azure Nexus. В рамках инициативы пограничного реестра AOSM PL использует частные конечные точки Azure и службу приватного канала Azure для безопасного восстановления трафика локального хранилища артефактов Nexus. Этот трафик никогда не предоставляется в Интернете, а не исключительно через частную сеть Майкрософт.

Введение

В этом документе содержится краткое руководство по включению функции приватного канала для хранилища артефактов AOSM с помощью API издателя AOSM.

Необходимые разрешения

Операции, необходимые для связывания частной конечной точки с контроллером структуры Nexus (NFC) и управления ими, требуются следующие недефесультные привилегии роли.

Разрешения для связывания частной конечной точки вручную и управления ими

Удаление частной конечной точки

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

Утверждение частной конечной точки

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

Разрешения для связывания частной конечной точки и управления ими с ПОМОЩЬЮ NFC

Добавление частных конечных точек NFC

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

Вывод списка частных конечных точек NFC

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

Удаление частных конечных точек NFC

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

Примечание.

По мере внедрения новых разрешений NFC рекомендуемые привилегии роли будут обновлены.

Перед безопасной отправкой ресурсов следующая последовательность операций устанавливает подключение PL к хранилищу артефактов.

Создание издателя и хранилища артефактов

  • Создайте ресурс издателя с типом удостоверения, равным SystemAssigned.
    • Если издатель уже создан без этого свойства, используйте операцию повторного использования для обновления.
  • Используйте новое свойство backingResourcePublicNetworkAccess, чтобы отключить общедоступный доступ к хранилищу артефактов.
    • Свойство сначала добавляется в версию 2024-04-15.
    • Если объект ArtifactResource уже создан без этого свойства, используйте операцию повторного использования для обновления.

Пример скрипта bicep издателя

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

Операции ручной конечной точки

Следующие операции позволяют вручную управлять хранилищем артефактов после установки PL.

Управление доступом к частной конечной точке

По умолчанию, когда хранилище артефактов подключено к виртуальной сети, пользователь не имеет разрешений на ACR, поэтому частная конечная точка завершается в ожидании. Следующие команды и полезные данные Azure позволяют пользователю утверждать, отклонять и(или) перечислять эти конечные точки.

Примечание.

В этом рабочем процессе виртуальная сеть управляется клиентом.

Пример полезных данных JSON:

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

Примеры команд частной конечной точки

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

Добавление частных конечных точек в NFC

Следующие команды rest Azure позволяют пользователю создавать, удалять и/или перечислять связь между частной конечной точкой, ACR и управляемыми виртуальными сетями Nexus.

Примеры команд частной конечной точки

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