Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Обзор
В этом руководстве описывается функция приватного канала 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 рекомендуемые привилегии роли будут обновлены.
Настройка приватного канала с помощью API AOSM
Перед безопасной отправкой ресурсов следующая последовательность операций устанавливает подключение 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\"}] }'