Untuk mengamankan konfigurasi Network Connectivity Center (NCC), gunakan Kontrol Layanan VPC.
Kontrol Layanan VPC memberikan keamanan tambahan untuk Google API dan layanan, termasuk konfigurasi NCC Anda. Selain IAM, Kontrol Layanan VPC membatasi sistem sumber yang dapat mengubah konfigurasi NCC.
Halaman ini menjelaskan kasus penggunaan umum dan contoh konfigurasi untuk mengizinkan akses antara hub NCC dan spoke VPC yang dipisahkan oleh perimeter layanan.
Untuk dokumentasi yang komprehensif, lihat Ringkasan Kontrol Layanan VPC.
Contoh: Usulan spoke VPC lintas project di seluruh perimeter layanan
Jika konfigurasi Anda mengharuskan hub NCC dan jari-jari VPC-nya berada di project yang berbeda yang termasuk dalam perimeter Kontrol Layanan VPC terpisah, Anda harus mengonfigurasi aturan ingress dan egress di kedua perimeter. Hal ini memungkinkan administrator spoke mengusulkan spoke VPC yang mereferensikan hub, dan memungkinkan administrator hub menerima spoke yang diusulkan.
Contoh di halaman ini mengasumsikan bahwa administrator hub dan administrator spoke berasal dari organisasi yang berbeda.
Tabel berikut merangkum aturan yang diperlukan untuk contoh ini:
| Perimeter | Aturan | Tujuan |
|---|---|---|
| Perimeter spoke (project spoke) |
Aturan ingress 1 | Izinkan administrator spoke untuk memulai proposal spoke dengan membuat spoke di project spoke (jika mengelola dari luar SpokePerimeter) |
| Aturan keluar 1 | Izinkan proposal spoke keluar untuk memulai lampiran ke hub dalam project hub, yang mencakup memverifikasi jaringan VPC pendukung | |
| Perimeter hub (project hub) |
Aturan ingress 1 | Mengizinkan administrator hub mengelola hub di project hub, termasuk menyetujui atau menolak proposal spoke (jika mengelola hub dari luar HubPerimeter) |
| Aturan ingress 2 | Mengizinkan proposal spoke masuk untuk memulai lampiran ke hub | |
| Aturan keluar 1 | Mengizinkan proposal spoke inbound untuk memanggil kembali ke project spoke guna menyelesaikan penautan spoke ke hub, yang mencakup memverifikasi jaringan VPC pendukung |
Aturan perimeter spoke
Untuk mengaktifkan pembuatan dan pengelolaan spoke, administrator spoke mengonfigurasi aturan ingress dan egress berikut:
| Aturan | Detail |
|---|---|
| Aturan ingress 1: Pembuatan spoke |
Saat administrator spoke memulai proposal spoke dengan mengeluarkan
perintah pembuatan dari luar perimeter (seperti dari
workstation administrator, Cloud Shell, atau konsol Google Cloud ),
Kontrol Layanan VPC mengevaluasi panggilan sebagai permintaan ingress ke project
spoke. SpokePerimeter harus mengizinkan ingress dari identitas administrator spoke dan asal jaringan untuk NCC API.
Aturan ini tidak diperlukan jika pengelolaan spoke dilakukan secara eksklusif dari dalam jaringan VPC yang dilindungi oleh SpokePerimeter.
|
| Aturan egress 1: Verifikasi jaringan dan lampiran hub |
Saat administrator spoke mengusulkan spoke, permintaan akan memulai
lampiran ke hub dalam project hub. Sebagai bagian dari permintaan, NCC API juga memverifikasi jaringan VPC pendukung menggunakan Compute Engine API. SpokePerimeter harus
mengizinkan keluar dari administrator spoke untuk NCC
dan Compute Engine API.
|
Definisi perimeter spoke
Contoh aturan ingress dan egress di bagian berikut didasarkan pada definisi perimeter berikut.
Untuk mengetahui informasi selengkapnya tentang perimeter layanan, lihat Detail dan konfigurasi perimeter layanan.
# Spoke perimeter definition name: accessPolicies/2345678901/servicePerimeters/SpokePerimeter status: resources: - projects/222222222222 restrictedServices: - networkconnectivity.googleapis.com - compute.googleapis.com title: SpokePerimeter
Aturan ingress spoke
Bagian ini memberikan contoh yang menerapkan aturan ingress untuk perimeter spoke seperti yang dijelaskan dalam Aturan perimeter spoke.
Aturan ini hanya diperlukan jika mengelola spoke dari luar SpokePerimeter.
Untuk mengetahui detail tentang sintaksis aturan, lihat referensi aturan ingress. Untuk menerapkan aturan, lihat Mengonfigurasi kebijakan ingress dan egress.
echo """
# Rule 1: Allow the spoke administrator to initiate a spoke proposal by creating
# a spoke in the spoke project (if managing from outside SpokePerimeter)
- ingressFrom:
identities:
# Specify the principal identifier for the spoke administrator or deployment pipeline:
- serviceAccount:spoke-admin-sa@spoke-project.iam.gserviceaccount.com
# - group:spoke-admins@example.org
# - user:spoke-admin@example.org
sources:
- accessLevel: accessPolicies/2345678901/accessLevels/SpokeAdminAccessLevel
# Alternatively, specify a management project or VPC network if managing
# from a VPC network outside the perimeter:
# - resource: projects/MANAGEMENT_PROJECT_NUMBER
ingressTo:
operations:
- serviceName: networkconnectivity.googleapis.com
methodSelectors:
- method: "*"
resources:
- projects/222222222222
""" > spoke-ingress.yaml
Sebagai praktik terbaik, tentukan aturan ingress yang sespesifik mungkin:
identities: Tentukan hanya ID prinsipal yang diperlukan untuk lingkungan Anda, bukan jenis identitas yang luas. Dalam contoh ini, Aturan 1 menentukan akun layanan untuk pipeline deployment otomatis. Atau, Anda dapat menentukan grup Google untuk administrasi tim, atau akun pengguna perorangan. Untuk mengetahui detailnya, lihat Identitas yang didukung untuk aturan ingress dan egress.sources: Membatasi asal ke tingkat akses yang diketahui. Contoh ini menentukan tingkat akses dari kebijakan akses yang mengelolaSpokePerimeteruntuk mengizinkan sumber eksternal seperti workstation administrator, Cloud Shell, atau konsol Google Cloud . Atau, Anda dapat mengizinkan akses dari jaringan VPC pengelolaan di luar perimeter menggunakan atribut- resource:untuk menentukan project atau jaringan VPC. Untuk mengetahui detailnya, lihat Mengizinkan akses dari luar perimeter dan Akses kontekstual dengan aturan ingress.operations: Batasan untuknetworkconnectivity.googleapis.comditerapkan di tingkat layanan, sehingga memerlukanmethod: "*". Metode yang lebih terperinci tidak tersedia untuk layanan ini.resources: Tentukan nomor project spoke yang tepat diresources. Hindari karakter pengganti (*).
Aturan keluar spoke
Bagian ini memberikan contoh yang menerapkan aturan egress untuk perimeter spoke seperti yang dijelaskan dalam Aturan perimeter spoke.
Untuk mengetahui detail tentang sintaksis aturan, lihat referensi aturan egress.
echo """
# Rule 1: Allow the outbound spoke proposal to initiate attachment to the hub in
# the hub project, which includes verifying the backing VPC network
- egressTo:
operations:
- serviceName: networkconnectivity.googleapis.com
methodSelectors:
- method: "*"
- serviceName: compute.googleapis.com
methodSelectors:
- method: NetworksService.Get
resources:
- projects/111111111111
egressFrom:
identities:
# Specify the principal identifier for the spoke administrator or deployment pipeline:
- serviceAccount:spoke-admin-sa@spoke-project.iam.gserviceaccount.com
# - group:spoke-admins@example.org
# - user:spoke-admin@example.org
""" > spoke-egress.yaml
Sebagai praktik terbaik, tentukan aturan traffic keluar yang sespesifik mungkin:
identities: Tentukan hanya ID prinsipal yang diperlukan untuk lingkungan Anda, bukan jenis identitas yang luas. Dalam contoh ini, Aturan 1 menentukan akun layanan untuk pipeline deployment otomatis. Atau, Anda dapat menentukan grup Google untuk administrasi tim atau akun pengguna perorangan. Untuk mengetahui detailnya, lihat Identitas yang didukung untuk aturan ingress dan egress.operations: Batasan untuknetworkconnectivity.googleapis.comditerapkan di tingkat layanan, sehingga memerlukanmethod: "*". Untukcompute.googleapis.com, tentukanmethod: NetworksService.Getuntuk memberikan izin guna memverifikasi jaringan VPC pendukung saat memulai lampiran ke hub.resources: Tentukan nomor project hub yang tepat diresources. Hindari karakter pengganti (*).
Aturan perimeter hub
Untuk mengaktifkan administrasi hub dan mengizinkan proposal spoke masuk, administrator hub mengonfigurasi aturan ingress dan egress berikut:
| Aturan | Detail |
|---|---|
| Aturan ingress 1: Pengelolaan hub |
Saat administrator hub mengelola hub dari luar perimeter
(seperti dari workstation administrator, Cloud Shell, atau
konsol Google Cloud ), Kontrol Layanan VPC mengevaluasi panggilan sebagai permintaan
ingress ke project hub. Aturan ini memungkinkan administrator hub
meninjau spoke yang diusulkan dan menerimanya (mengubah spoke ke
ACTIVE) atau menolaknya (mengubah spoke ke
REJECTED). HubPerimeter harus mengizinkan
ingress dari identitas dan asal jaringan administrator hub.
Aturan ini tidak diperlukan jika pengelolaan hub dilakukan secara eksklusif dari dalam jaringan VPC yang dilindungi oleh HubPerimeter.
|
| Aturan ingress 2: Lampiran hub |
Saat administrator spoke mengusulkan spoke, permintaan akan memulai
lampiran ke hub dalam project hub.
HubPerimeter harus mengizinkan ingress dari identitas dan asal jaringan administrator spoke untuk NCC API di seluruh perimeter layanan.
|
| Aturan keluar 1: Verifikasi jaringan dan penautan spoke |
Saat administrator spoke mengusulkan spoke, permintaan akan memanggil kembali ke
project spoke untuk menyelesaikan penautan spoke ke hub dan menempatkan
spoke ke dalam status PENDING_REVIEW. Sebagai bagian dari permintaan,
NCC API juga memverifikasi jaringan VPC pendukung
menggunakan Compute Engine API.
HubPerimeter harus mengizinkan keluar dari administrator spoke
untuk NCC dan Compute Engine API.
|
Definisi perimeter hub
Contoh aturan ingress dan egress di bagian berikut didasarkan pada definisi perimeter berikut.
Untuk mengetahui informasi selengkapnya tentang perimeter layanan, lihat Detail dan konfigurasi perimeter layanan.
# Hub perimeter definition name: accessPolicies/1234567890/servicePerimeters/HubPerimeter status: resources: - projects/111111111111 restrictedServices: - networkconnectivity.googleapis.com - compute.googleapis.com title: HubPerimeter
Aturan ingress hub
Bagian ini memberikan contoh yang menerapkan aturan ingress untuk perimeter hub seperti yang dijelaskan dalam Aturan perimeter hub.
Untuk mengetahui detail tentang sintaksis aturan, lihat referensi aturan ingress. Untuk menerapkan aturan, lihat Mengonfigurasi kebijakan ingress dan egress.
echo """
# Rule 1: Allow the hub administrator to manage the hub in the hub project
# (if managing from outside HubPerimeter)
- ingressFrom:
identities:
# Specify the principal identifier for the hub administrator:
- group:hub-admins@example.com
# - user:hub-admin@example.com
# - serviceAccount:hub-admin-sa@hub-project.iam.gserviceaccount.com
sources:
- accessLevel: accessPolicies/1234567890/accessLevels/HubAdminAccessLevel
# Alternatively, specify a management project or VPC network if managing
# from a VPC network outside the perimeter:
# - resource: projects/MANAGEMENT_PROJECT_NUMBER
ingressTo:
operations:
- serviceName: networkconnectivity.googleapis.com
methodSelectors:
- method: "*"
resources:
- projects/111111111111
# Rule 2: Allow the inbound spoke proposal to initiate attachment to the hub
- ingressFrom:
identities:
# Specify the principal identifier for the spoke administrator or deployment pipeline:
- serviceAccount:spoke-admin-sa@spoke-project.iam.gserviceaccount.com
# - group:spoke-admins@example.org
# - user:spoke-admin@example.org
sources:
# Specify an access level defined in the hub organization's access policy if
# the spoke administrator manages spokes from the Google Cloud console or
# external networks:
- accessLevel: accessPolicies/1234567890/accessLevels/SpokeAdminAccessLevel
# Alternatively, specify the spoke project if the spoke administrator
# manages from a VPC network in the spoke project:
# - resource: projects/222222222222
ingressTo:
operations:
- serviceName: networkconnectivity.googleapis.com
methodSelectors:
- method: "*"
resources:
- projects/111111111111
""" > hub-ingress.yaml
Sebagai praktik terbaik, tentukan aturan ingress yang sespesifik mungkin:
identities: Tentukan hanya ID prinsipal yang diperlukan untuk lingkungan Anda, bukan jenis identitas yang luas:- Dalam Aturan 1, contoh ini menentukan grup Google administrator hub untuk administrasi tim. Atau, Anda dapat menentukan akun pengguna atau akun layanan individual. Aturan ini hanya diperlukan jika mengelola
hub dari luar
HubPerimeter. - Dalam Aturan 2, contoh ini menentukan akun layanan administrator spoke untuk pipeline deployment otomatis. Atau, Anda dapat menentukan grup Google untuk administrasi tim atau akun pengguna perorangan.
Untuk mengetahui informasi selengkapnya, lihat Identitas yang didukung untuk aturan ingress dan egress.
- Dalam Aturan 1, contoh ini menentukan grup Google administrator hub untuk administrasi tim. Atau, Anda dapat menentukan akun pengguna atau akun layanan individual. Aturan ini hanya diperlukan jika mengelola
hub dari luar
sources: Batasi asal ke tingkat akses atau project yang diketahui:- Dalam Aturan 1, contoh ini menentukan tingkat akses untuk administrator hub
dari kebijakan akses yang mengelola
HubPerimeteruntuk mengizinkan sumber eksternal seperti workstation administrator, Cloud Shell, atau konsol Google Cloud . Atau, Anda dapat mengizinkan akses dari jaringan VPC pengelolaan di luar perimeter menggunakan atribut- resource:untuk menentukan project atau jaringan VPC. Untuk mengetahui detailnya, lihat Mengizinkan akses dari luar perimeter dan Akses kontekstual dengan aturan ingress. - Dalam Aturan 2, contoh ini menentukan tingkat akses untuk administrator
spoke dari kebijakan akses yang mengelola
HubPerimeteruntuk mengizinkan sumber eksternal seperti workstation administrator, Cloud Shell, atau konsol Google Cloud . Atau, Anda dapat mengizinkan akses dari jaringan VPC di project spoke menggunakan atribut- resource:untuk menentukan nomor project spoke (seperti untuk pipeline deployment otomatis).
- Dalam Aturan 1, contoh ini menentukan tingkat akses untuk administrator hub
dari kebijakan akses yang mengelola
operations: Batasan untuknetworkconnectivity.googleapis.comditerapkan di tingkat layanan, sehingga memerlukanmethod: "*". Metode yang lebih terperinci tidak tersedia untuk layanan ini.resources: Tentukan nomor project hub yang tepat diresources. Hindari karakter pengganti (*).
Aturan keluar hub
Bagian ini memberikan contoh yang menerapkan aturan egress untuk perimeter hub seperti yang dijelaskan dalam Aturan perimeter hub.
Untuk mengetahui detail tentang sintaksis aturan, lihat referensi aturan egress.
echo """
# Rule 1: Allow the inbound spoke proposal to call back to the spoke project to
# complete linking the spoke to the hub, which includes verifying the backing
# VPC network
- egressTo:
operations:
- serviceName: networkconnectivity.googleapis.com
methodSelectors:
- method: "*"
- serviceName: compute.googleapis.com
methodSelectors:
- method: NetworksService.Get
resources:
- projects/222222222222
egressFrom:
identities:
# Specify the principal identifier for the spoke administrator or deployment pipeline:
- serviceAccount:spoke-admin-sa@spoke-project.iam.gserviceaccount.com
# - group:spoke-admins@example.org
# - user:spoke-admin@example.org
""" > hub-egress.yaml
Sebagai praktik terbaik, tentukan aturan traffic keluar yang sespesifik mungkin:
identities: Tentukan ID akun utama untuk administrator spoke (seperti akun layanan, grup, atau akun pengguna pipeline deployment). Saat administrator spoke mengusulkan spoke,HubPerimetermengevaluasi egress dengan identitas administrator spoke untuk menyelesaikan penautan spoke ke hub dalam project spoke, yang mencakup verifikasi jaringan VPC pendukung.Untuk mengetahui detailnya, lihat Identitas yang didukung untuk aturan ingress dan egress.
operations: Batasan untuknetworkconnectivity.googleapis.comditerapkan di tingkat layanan, sehingga memerlukanmethod: "*". Untukcompute.googleapis.com, tentukanmethod: NetworksService.Getuntuk memberikan izin guna memverifikasi jaringan VPC pendukung saat menyelesaikan penautan ke project spoke.resources: Tentukan nomor project spoke yang tepat diresources. Hindari karakter pengganti (*).