Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penting
Fitur pratinjau AKS tersedia atas dasar layanan mandiri dan pendaftaran sukarela. Pratinjau disediakan "apa adanya" dan "sebagaimana tersedia," dan pratinjau tersebut dikecualikan dari perjanjian tingkat layanan (SLA) serta garansi terbatas. Pratinjau AKS sebagian didukung oleh dukungan pelanggan berdasarkan upaya terbaik yang dapat dilakukan. Dengan demikian, fitur-fitur ini tidak dimaksudkan untuk penggunaan produksi. Untuk informasi lebih lanjut, lihat artikel dukungan berikut ini:
Azure Kubernetes Application Network mengamankan komunikasi antara layanan di kluster Azure Kubernetes Service (AKS) yang terhubung melalui mTLS (TLS mutual otomatis) dan otorisasi berbasis identitas. Ini mengeluarkan identitas beban kerja dan mengelola penerbitan sertifikat, rotasi, dan validasi untuk mengaktifkan komunikasi layanan-ke-layanan yang dienkripsi, diautentikasi, dan diotorisasi secara eksplisit tanpa konfigurasi manual, dengan enkripsi yang mematuhi FIPS saat transit.
Artikel ini memberikan gambaran umum tentang fitur keamanan di Azure Kubernetes Application Network, termasuk mTLS, identitas beban kerja, manajemen sertifikat, dan kebijakan otorisasi. Ini juga menguraikan batasan dan langkah berikutnya untuk menerapkan komunikasi yang aman di lingkungan Azure Kubernetes Application Network Anda.
Keterbatasan
- Sertifikat saat ini dikeluarkan oleh otoritas sertifikat yang dikelola Jaringan Aplikasi (CA) Azure Kubernetes dan tidak dirantai ke CA publik.
mTLS
Application Network menggunakan mTLS untuk menyediakan komunikasi terenkripsi berbasis identitas antar beban kerja. Setiap layanan dalam kluster yang terhubung dengan Jaringan Aplikasi secara otomatis menerima sertifikat yang memungkinkannya untuk membuktikan identitasnya dan membangun koneksi terpercaya dan terenkripsi dengan layanan lain di Jaringan Aplikasi yang sama. Enkripsi saat transit menggunakan kriptografi yang mematuhi FIPS.
Strategi migrasi mTLS
Jaringan Aplikasi saat ini memungkinkan lalu lintas terenkripsi dan tidak terenkripsi. Pendekatan ini memastikan bahwa beban kerja yang ada terus beroperasi secara normal sementara beban kerja baru atau yang diperbarui secara otomatis menggunakan mTLS untuk komunikasi yang aman. Ini berarti Anda dapat mengadopsi mTLS untuk komunikasi yang aman di seluruh beban kerja Anda tanpa waktu henti. Setelah migrasi selesai, Anda dapat mengubah ke mode ketat sehingga autentikasi diberlakukan.
Manfaat mTLS di Azure Kubernetes Application Network
mTLS di Azure Kubernetes Application Network membantu Anda:
- Lindungi data saat transit: Semua lalu lintas layanan ke layanan dapat dienkripsi secara otomatis (sesuai dengan FIPS).
- Verifikasi identitas layanan: Setiap beban kerja memiliki sertifikat akar dan menengah yang dikelola Jaringan Aplikasi yang unik.
- Menyederhanakan operasi: Jaringan Aplikasi menangani penerbitan sertifikat, rotasi, dan pencabutan untuk pengguna.
Manajemen sertifikat
Azure Kubernetes Application Network menyediakan manajemen sertifikat yang didukung oleh Azure Key Vault yang mengeluarkan dan memelihara sertifikat yang digunakan untuk mTLS. Layanan ini menetapkan batas kepercayaan bersama di semua kluster AKS yang terhubung ke sumber daya Jaringan Aplikasi yang sama.
Jaringan Aplikasi secara otomatis mengelola seluruh siklus hidup sertifikat untuk sertifikat akar dan menengah termasuk provisi, perpanjangan, dan rotasi. Ini memastikan bahwa identitas beban kerja tetap valid, dan komunikasi tetap aman dari waktu ke waktu. Anda tidak perlu membuat, menyimpan, atau memutar sertifikat secara manual.
Diagram berikut mengilustrasikan hierarki sertifikat di Application Network, memperlihatkan bagaimana CA akar, CA perantara, dan sertifikat beban kerja disusun untuk membangun kepercayaan di seluruh kluster yang terhubung:
Hierarki dan siklus hidup sertifikat
Ketika sumber daya Jaringan Aplikasi dibuat, CA akar disediakan untuk berfungsi sebagai jangkar kepercayaan untuk Jaringan Aplikasi. Ketika kluster AKS bergabung dengan Jaringan Aplikasi sebagai anggota, Jaringan Aplikasi mengeluarkan sertifikat perantara untuk anggota yang ditandatangani oleh OS akar Jaringan Aplikasi. Setiap kluster AKS yang terhubung menggunakan sertifikat perantara yang dikelola Jaringan Aplikasi untuk mengeluarkan sertifikat beban kerja berumur pendek ke beban kerja di kluster tersebut.
Semua sertifikat beban kerja mewarisi kepercayaan dari akar CA Jaringan Aplikasi, mempertahankan batas kepercayaan terpadu di seluruh sumber daya. Rotasi sertifikat akar dan menengah ditangani secara transparan sehingga pengguna tidak mengalami waktu henti atau gangguan lalu lintas jaringan. Hierarki terkelola ini memastikan kepercayaan yang konsisten dan dapat diverifikasi di semua kluster di Jaringan Aplikasi sambil secara otomatis mempertahankan validitas setiap sertifikat.
Dari kluster anggota mana pun, Anda bisa mendapatkan sertifikat CA akar dari peta konfigurasi istio-root-cert di bawah namespace applink-system.
Jenis sertifikat dan periode rotasi
| Jenis sertifikat | Cakupan | Periode validitas | Periode rotasi | Purpose |
|---|---|---|---|---|
| Root CA | Jaringan Aplikasi Azure Kubernetes | 12 bulan | 6 bulan | Menetapkan batas kepercayaan untuk semua kluster yang terhubung ke Azure Kubernetes Application Network |
| CA perantara | Kluster | 90 hari | 45 hari | Mengeluarkan sertifikat beban kerja untuk beban kerja dalam kluster tersebut |
| Sertifikat beban kerja | Beban Kerja | 24 jam | 12 jam | Mengautentikasi beban kerja dan mengamankan komunikasi layanan ke layanan |
Identitas dan otorisasi beban kerja
Seiring berkembangnya aplikasi, layanan sering kali perlu berkomunikasi dengan aman di berbagai namespace layanan dan lingkungan dalam penyebaran yang sama. Mengelola sertifikat dan memastikan bahwa setiap layanan dapat memverifikasi siapa yang diajak berbicara dapat dengan cepat menjadi kompleks dan rawan kesalahan. Azure Kubernetes Application Network menghilangkan overhead ini dengan secara otomatis menetapkan dan mengelola identitas beban kerja.
Dalam lingkungan yang terhubung dengan Jaringan Aplikasi, beban kerja berkomunikasi dengan aman di dalam dan melintasi namespace. Untuk memastikan setiap layanan dapat dipercaya dan diautentikasi, Application Network menetapkan setiap beban kerja identitas yang dapat diverifikasi yang mewakili namespace layanan dan akun layanannya.
Setiap beban kerja Jaringan Aplikasi secara otomatis menerima identitas unik dalam format SPIFFE , yang mencakup namespace layanan dan akun layanannya. Identitas diformat sebagai berikut:
spiffe://cluster.local/ns/<namespace>/sa/<service-account>
Identitas ini disematkan dalam sertifikat beban kerja dan digunakan untuk membuktikan identitas layanan saat berkomunikasi dengan beban kerja lain. Azure Kubernetes Application Network menggunakan model identitas berbasis SPIFFE ini dengan kebijakan otorisasi Istio sehingga Anda dapat menentukan aturan yang jelas dan konsisten untuk layanan mana yang diizinkan untuk berkomunikasi.
Menentukan kebijakan akses
Anda dapat menggunakan Istio AuthorizationPolicies untuk mengontrol beban kerja mana yang diizinkan untuk berkomunikasi dalam lingkungan Anda. Kebijakan ini memungkinkan Anda menentukan akses berdasarkan identitas beban kerja terverifikasi daripada lokasi jaringan atau alamat IP. Pendekatan ini membantu Anda menerapkan kontrol akses yang konsisten bahkan saat layanan menskalakan dan bergerak di seluruh simpul. Misalnya, Anda mungkin hanya mengizinkan gateway atau beban kerja tertentu dari namespace tepercaya untuk memanggil layanan dengan merujuk identitas SPIFFE mereka dalam daftar prinsipal kebijakan seperti yang ditunjukkan dalam contoh berikut:
apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
name: allow-gateway-to-app
namespace: default
spec:
selector:
matchLabels:
app: myApp
action: ALLOW
rules:
- from:
- source:
principals:
- cluster.local/ns/default/sa/myApp-gateway // see SPIFFE format above
Panduan desain kebijakan
Saat merancang kebijakan otorisasi, ingatlah praktik terbaik berikut:
- Selalu tentukan namespace layanan dan akun layanan untuk mencegah akses lintas namespace yang tidak diinginkan.
- Gunakan prinsipal untuk menentukan identitas beban kerja eksplisit untuk akses yang terperinci.
- Gunakan namespace untuk menentukan batas kepercayaan yang lebih luas jika sesuai.
- Hindari aturan yang cocok hanya berdasarkan nama akun layanan tanpa namespace, karena ini dapat memberikan akses ke seluruh kluster atau lingkungan.
- Gabungkan
AuthorizationPoliciesdengan KubernetesNetworkPoliciesuntuk memberlakukan isolasi berbasis identitas dan berbasis jaringan.
Nota
Otorisasi Azure Kubernetes Application Network didasarkan pada identitas beban kerja terverifikasi daripada alamat IP. Ini memastikan penerapan yang konsisten bahkan saat beban kerja meningkat atau berpindah antar simpul.
Dengan menggabungkan identitas, sertifikat, dan kontrol kebijakan yang dikelola Jaringan Aplikasi Azure Kubernetes, Anda dapat menerapkan komunikasi layanan hak istimewa terkecil berbasis identitas, memastikan lalu lintas yang diautentikasi, dienkripsi, dan diotorisasi secara eksplisit antar beban kerja di seluruh kluster.
Konten terkait
Untuk mempelajari selengkapnya tentang Azure Kubernetes Application Network, lihat artikel berikut: