You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Document Version: 0.1 - Privatelink feature for edge artifact store
14
+
This guide describes the Azure Operator Service Manager (AOSM) private link (PL) feature for artifact stores hosted on Azure Operator Nexus. As part of the AOSM edge registry initiative, PL uses Azure private endpoints, and Azure private link service, to securely backhaul Nexus on-premise artifact store traffic. This traffic is never exposed to the internet, instead it exclusively traverses Microsoft's private network.
15
15
16
16
## Introduction
17
-
The purpose of this document is to provide a quick start guide to enable ATT ADO development using AOSM Publisher APIs to enable private link feature for AOSM artifact store. The contents of this document will be updated into the azure public docs for AOSM service. We will notify ATT when the public documentation is ready for this feature.
17
+
This document provides a quick start guide to enable private link feature for AOSM artifact store using AOSM Publisher APIs.
18
18
19
-
##Permissions for linking AOSM Artifact Store resource to NFC
20
-
In addition to the appropriate permissions on the AOSM resourcs, the role that is linking the AOSM artifact store to NFC should have the below permission.
19
+
### Required permissions
20
+
Linking the AOSM artifact store resource to a Nexus fabric controller (NFC) requires the common AOSM resource permissions in addition to the following role privilege.
> A more fine-grained permission for NFC is in the works and will be rolled out in the next two weeks that replaces the privileged permission above
27
+
> As more fine-grained NFC permissions are introduced, the recommended role privilege will be updated.
28
28
29
-
## AOSM APIs for setting up privatelink to artifact store
30
-
Below is the sequence of operations to be done for Private Link enablement when uploading artifacts.
29
+
## Use AOSM APIs to setup private link
30
+
Before resources can be uploaded securely, the following sequence of operations establshes a PL connection to the artifact store.
31
31
32
-
### Create Publisher and AS with Public Access disabled.
33
-
* The publisher resource must be created with identity type set to 'SystemAssigned'. If the publisher was created without this property, the publisher can be updated by performing a reput on the publisher.
34
-
* To disable the public access on the ACR backed by the artifact store, the new property “backingResourcePublicNetworkAcccess” is used. The property is added in the 2024-04-15 version. 2024-04-15 API version is backwards compatible. Existing ArtifactResource can be used by doing a reput with the new property and API version.
32
+
### Create publisher and artifact store
33
+
* Create a new publisher resource with identity type set to 'SystemAssigned'.
34
+
- If the publisher was already created without this property, use a reput operation to update.
35
+
* Use the new propery 'backingResourcePublicNetworkAcccess' to disable artifact store public access.
36
+
- The property is first added in the 2024-04-15 version.
37
+
- If the ArtifactResource was already created without this property, use a reput operation to update.
The APIs below allow the user to upload the images to artifact store using a private link. In the upload workflow, the vnet is managed by the customer. When the user creates the private endpoint to connect the ACR managed by Artifact Store to the vnet, the private endpoint will be in the pending state as the user doesn’t have permissions to the ACR. The APIs below expose a way by which the user can approve/reject and list these
71
-
connections.
74
+
## Manual endpoint operations
75
+
The following operations enable manual management of an artifact store once the PL is established.
76
+
77
+
### Manage private endpoint access
78
+
By default, when the artifact store is connected to the vnet, the user won't have permissions to the ACR, and the private endpoint will be in the pending state. The following Azure rest commands and payload enable a user to approve, reject and/or list these endpoint.
72
79
80
+
> [!NOTE]
81
+
> In this workflow, the vnet is managed by the customer.
82
+
>
83
+
84
+
#### Sample JSON payload:
73
85
```
74
-
Sample JSON body:
75
86
{
76
87
"manualPrivateEndPointConnections": [
77
88
{
@@ -81,29 +92,33 @@ Sample JSON body:
81
92
}
82
93
```
83
94
84
-
Sample command using az rest:
85
-
95
+
#### Sample private endpoint commands
86
96
```
87
97
# approve private endpoints
88
98
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\" } ] }'
89
-
99
+
```
100
+
```
90
101
# remove private endpoints
91
102
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\" } ] }'
92
-
103
+
```
104
+
```
93
105
# list private endpoints
94
106
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 '{}'
95
107
```
96
108
97
-
### Add Private Link to NFC
98
-
The APIs below allow the user to create/remove/list the private endpoint to ACR to the appropriate Nexus managed vnets. Depending on the NC version (provided offline at the subscription scope), the API will perform the actions on the correct Nexus vnet.
109
+
### Add private endpoints to NFC
110
+
The following Azure rest commands enable a user to create, remove, and/or list the association between private endpoint, ACR, and the Nexus managed vnets.
99
111
112
+
#### Sample private endpoint commands
100
113
```
101
114
# add nfc private endpoints
102
115
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\"}] }'
103
-
116
+
```
117
+
```
104
118
# list nfc private endpoints
105
119
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 '{}'
106
-
120
+
```
121
+
```
107
122
# delete nfc private endpoints
108
123
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\"}] }'
0 commit comments