Nonaktifkan ekspor artefak dari registri kontainer Azure

Untuk mencegah pengguna registri dalam organisasi dari artefak yang bocor secara disengaja atau tidak sengaja di luar jaringan virtual, Anda dapat mengonfigurasi kebijakan ekspor registri untuk menonaktifkan ekspor.

Kebijakan ekspor adalah properti yang diperkenalkan dalam API versi 2021-06-01-preview untuk pendaftar kontainer Premium. Properti exportPolicy, ketika statusnya diatur ke disabled, blok ekspor artefak dari registri jaringan-terbatas ketika pengguna mencoba untuk:

  • Mengimpor artefak registri ke registri kontainer Azure lainnya
  • Membuat jalur ekspor registri untuk mentransfer artefak ke registri kontainer lain

Catatan

Menonaktifkan ekspor artefak tidak mencegah akses pengguna yang berwenang ke registri dalam jaringan virtual untuk menarik artefak atau melakukan operasi bidang data lainnya. Untuk mengaudit penggunaan ini, kami menyarankan Anda mengonfigurasi pengaturan diagnostik untuk memantau operasi registri.

Prasyarat

Persyaratan lain untuk menonaktifkan ekspor

  • Nonaktifkan akses jaringan publik - Untuk menonaktifkan ekspor artefak, akses publik ke registri juga harus dinonaktifkan (properti registri publicNetworkAccess harus diatur ke disabled). Anda dapat menonaktifkan akses jaringan publik ke registri sebelum menonaktifkan ekspor atau menonaktifkannya secara bersamaan.

    Dengan menonaktifkan akses ke titik akhir publik registri, Anda memastikan bahwa operasi registri hanya diizinkan dalam jaringan virtual. Akses publik ke registri untuk menarik artefak dan melakukan operasi lain dilarang.

  • Hapus jaringan saluran ekspor - Sebelum menyetel status registri exportPolicy ke disabled, hapus jaringan saluran ekspor yang ada yang dikonfigurasi pada registri. Jika jaringan saluran dikonfigurasi, Anda tidak dapat mengubah status exportPolicy.

Nonaktifkan exportPolicy untuk registri yang sudah ada

Saat Anda membuat registri, status exportPolicy diatur ke enabled secara default, yang memungkinkan artefak untuk diekspor. Anda dapat memperbarui status disabled menggunakan templat ARM atau perintah az resource update.

Templat ARM

Sertakan JSON berikut untuk memperbarui status exportPolicy dan mengatur properti publicNetworkAccess ke disabled. Pelajari selengkapnya tentang menyebarkan sumber daya dengan templat ARM.

{
[...]
"resources": [
    {
    "type": "Microsoft.ContainerRegistry/registries",
    "apiVersion": "2021-06-01-preview",
    "name": "myregistry",
    [...]
    "properties": {
      "publicNetworkAccess": "disabled",
      "policies": {
        "exportPolicy": {
          "status": "disabled"
         }
      }
      }
    }
]
[...]
}

Azure CLI

Jalankan pembaruan sumber daya az untuk mengatur status exportPolicy di registri yang ada ke disabled. Ganti nama registri dan grup sumber daya Anda.

Seperti yang ditunjukkan dalam contoh ini, saat menonaktifkan properti exportPolicy, setel juga properti publicNetworkAccess ke disabled.

az resource update --resource-group myResourceGroup \
    --name myregistry \
    --resource-type "Microsoft.ContainerRegistry/registries" \
    --api-version "2021-06-01-preview" \
    --set "properties.policies.exportPolicy.status=disabled" \
    --set "properties.publicNetworkAccess=disabled"  

Output menunjukkan bahwa status kebijakan ekspor dinonaktifkan.

{
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myregistry",
  "identity": null,
  "kind": null,
  "location": "centralus",
  "managedBy": null,
  "name": "myregistry",
  "plan": null,
  "properties": {
    [...]
    "policies": {
      "exportPolicy": {
        "status": "disabled"
      },
      "quarantinePolicy": {
        "status": "disabled"
      },
      "retentionPolicy": {
        "days": 7,
        "lastUpdatedTime": "2021-07-20T23:20:30.9985256+00:00",
        "status": "disabled"
      },
      "trustPolicy": {
        "status": "disabled",
        "type": "Notary"
      },
    "privateEndpointConnections": [],
    "provisioningState": "Succeeded",
    "publicNetworkAccess": "Disabled",
    "zoneRedundancy": "Disabled"
[...]
}

Mengaktifkan eksporPolicy

Setelah menonaktifkan status exportPolicy di registri, Anda dapat mengaktifkannya kembali kapan saja menggunakan templat ARM atau perintah az resource update.

Templat ARM

Sertakan JSON berikut untuk memperbarui status exportPolicy menjadi enabled. Pelajari selengkapnya tentang menyebarkan sumber daya dengan templat ARM

{
[...]
"resources": [
    {
    "type": "Microsoft.ContainerRegistry/registries",
    "apiVersion": "2021-06-01-preview",
    "name": "myregistry",
    [...]
    "properties": {
     "policies": {
        "exportPolicy": {
          "status": "enabled"
         }
      }
      }
    }
]
[...]
}

Azure CLI

Jalankan pembaruan sumber daya az untuk mengatur status exportPolicy ke enabled. Ganti nama registri dan grup sumber daya Anda.

az resource update --resource-group myResourceGroup \
    --name myregistry \
    --resource-type "Microsoft.ContainerRegistry/registries" \
    --api-version "2021-06-01-preview" \
    --set "properties.policies.exportPolicy.status=enabled"

Langkah berikutnya