次の方法で共有


プライベート リンクの概要

概要

このガイドでは、Azure Operator Nexus でホストされている成果物ストア用の Azure Operator Service Manager (AOSM) プライベート リンク (PL) 機能について説明します。 AOSM エッジ レジストリ イニシアチブの一環として、PL は Azure プライベート エンドポイントと Azure プライベート リンク サービスを使用して、Nexus オンプレミス成果物ストア トラフィックを安全にバックホールします。 このトラフィックはインターネットに公開されることはなく、代わりに Microsoft のプライベート ネットワークのみを通過します。

はじめに

このドキュメントでは、AOSM Publisher 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"

Note

新しい NFC アクセス許可が導入されると、推奨されるロール特権が更新されます。

リソースを安全にアップロードできるようにするには、以下の一連の操作で成果物ストアへの PL 接続を確立します。

発行元と成果物ストアを作成する

  • ID の種類が 'SystemAssigned' に設定された新しい発行元リソースを作成します。
    • 発行元がこのプロパティなしで既に作成されている場合は、reput 操作を使用して更新します。
  • 新しいプロパティ 'backingResourcePublicNetworkAcccess' を使用して、成果物ストアのパブリック アクセスを無効にします。
    • このプロパティは、2024-04-15 バージョンで最初に追加されています。
    • ArtifactResource がこのプロパティなしで既に作成されている場合は、reput 操作を使用して更新します。

サンプルの発行元 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 が確立されたら、以下の操作で成果物ストアの手動管理を有効にできます。

プライベート エンドポイント アクセスを管理する

既定では、成果物ストアが VNet に接続されていても、ユーザーは ACR に対するアクセス許可を持たないため、プライベート エンドポイントは保留状態になります。 以下の Azure rest コマンドとペイロードを使用すると、ユーザーはこれらのエンドポイントの承認、拒否、一覧表示を行うことができます。

Note

このワークフローでは、VNet は顧客によって管理されます。

サンプル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/<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 '{}'

NFC にプライベート エンドポイントを追加する

以下の Azure rest コマンドを使用すると、ユーザーはプライベート エンドポイント、ACR、Nexus マネージド VNet の間の関連付けの作成、削除、一覧表示を行うことができます。

サンプルのプライベート エンドポイント コマンド

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