Merotasi kredensial keamanan

Topik ini menjelaskan cara mengganti kredensial keamanan untuk layanan pengelolaan GKE di AWS dan cluster pengguna. Untuk mengetahui informasi selengkapnya tentang fitur keamanan GKE di AWS, lihat Keamanan.

Sebelum memulai

Untuk menyelesaikan langkah-langkah di halaman ini, Anda harus memiliki akses ke direktori dengan konfigurasi GKE di AWS.

Sertifikat layanan pengelolaan

Bagian ini menjelaskan cara mengganti sertifikat untuk layanan pengelolaan Anda.

Mengelola certificate authority

Bagian ini menjelaskan cara merotasi sertifikat penandatanganan Certificate Authority (CA) untuk komponen GKE di AWS.

CA root server Management API

Untuk merotasi CA root server API, lakukan langkah-langkah berikut:

  1. Beralih ke direktori dengan konfigurasi GKE di AWS. Anda membuat direktori ini saat Menginstal layanan pengelolaan.
    cd anthos-aws
  2. Buka anthos-gke.status.yaml di editor teks.
  3. Menghapus semua nilai di bawah kunci certificateAuthority. Ini termasuk encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value, dan encryptedPrivateKey.certificate.
  4. Jalankan anthos-gke aws management init untuk memperbarui file anthos-gke.status.yaml.

     anthos-gke aws management init
    
  5. Jalankan anthos-gke aws management apply untuk mengupdate layanan pengelolaan.

     anthos-gke aws management apply
    

  1. Dari direktori anthos-aws, gunakan anthos-gke untuk mengganti konteks ke layanan pengelolaan Anda.
    cd anthos-aws
    anthos-gke aws management get-credentials

CA pengelolaan lainnya

Bagian ini menjelaskan cara Anda dapat mengganti semua CA berikut:

  • CA webhook autentikasi
  • CA Etcd
  • CA Penanda Tangan Akun Layanan

Anda dapat mengganti CA ini dengan salah satu metode berikut:

  • Hapus bagian certificateAuthority dari anthos-gke.status.yaml Anda.

    1. Beralih ke direktori dengan konfigurasi GKE di AWS. Anda membuat direktori ini saat Menginstal layanan pengelolaan.
      cd anthos-aws
    2. Buka anthos-gke.status.yaml di editor teks.
    3. Menghapus semua nilai di bawah kunci certificateAuthority. Ini termasuk encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value, dan encryptedPrivateKey.certificate.
    4. Jalankan anthos-gke aws management init untuk memperbarui file anthos-gke.status.yaml.

       anthos-gke aws management init
      
    5. Jalankan anthos-gke aws management apply untuk mengupdate layanan pengelolaan.

       anthos-gke aws management apply
      

  • Jika versi GKE on AWS baru tersedia, upgrade layanan pengelolaan GKE on AWS Anda.

  • Buat ulang instance EC2 layanan pengelolaan.

    1. Dari direktori anthos-aws, gunakan terraform untuk mendapatkan ID layanan pengelolaan Anda.
      cd anthos-aws
      terraform output cluster_id
      Output-nya mencakup ID layanan pengelolaan Anda. Pada contoh di bawah, ID-nya adalah gke-12345abc.
      terraform output cluster_id
      gke-12345abc
      
    2. Buka AWS EC2 Console.
    3. Klik Instance
    4. Temukan instance bernama cluster-id-management-0.
    5. Pilih Actions -> Instance state -> terminate untuk menghapus instance. EC2 akan otomatis membuat instance baru dengan volume EBS yang sama.

Mengelola kunci dan sertifikat Klien / Server TLS

Untuk merotasi kunci dan sertifikat klien / server TLS untuk layanan pengelolaan, Anda harus membuat ulang instance layanan pengelolaan. Untuk membuat ulang instance, lakukan langkah-langkah berikut:

  1. Dari direktori anthos-aws, gunakan terraform untuk mendapatkan ID layanan pengelolaan Anda.
    cd anthos-aws
    terraform output cluster_id
    Output-nya mencakup ID layanan pengelolaan Anda. Pada contoh di bawah, ID-nya adalah gke-12345abc.
    terraform output cluster_id
    gke-12345abc
    
  2. Buka AWS EC2 Console.
  3. Klik Instance
  4. Temukan instance bernama cluster-id-management-0.
  5. Pilih Actions -> Instance state -> terminate untuk menghapus instance. EC2 akan otomatis membuat instance baru dengan volume EBS yang sama.

Google Cloud akun layanan

Akun layanan layanan pengelolaan

Untuk merotasi Google Cloud akun layanan untuk layanan pengelolaan Anda, lakukan langkah-langkah berikut.

  1. Buat akun layanan baru dan download kunci akun layanan dengan mengikuti langkah-langkah di Prasyarat
  2. Beralih ke direktori dengan konfigurasi GKE di AWS. Anda membuat direktori ini saat Menginstal layanan pengelolaan.
    cd anthos-aws
  3. Jika Anda mendownload kunci ke jalur yang berbeda, buka file anthos-gke.yaml di editor teks. Ubah nilai .spec.googleCloud.serviceAccountKeys.managementService, .status.googleCloud.serviceAccountKeys.connectAgent, dan .spec.googleCloud.serviceAccountKeys.node ke jalur baru.

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSManagementService
    metadata:
     name: management
    spec:
     googleCloud:
       serviceAccountKeys:
         managementService: MANAGEMENT_KEY_PATH
         connectAgent: CONNECT_KEY_PATH
         node: NODE_KEY_PATH
     ...
    
  4. Jalankan anthos-gke aws management init untuk memperbarui file anthos-gke.status.yaml.

    anthos-gke aws management init
    
  5. Jalankan anthos-gke aws management apply untuk mengupdate layanan pengelolaan.

    anthos-gke aws management apply
    

Akun layanan cluster pengguna

Untuk menerapkan akun layanan ini di AWSClusters dan AWSNodePools, Anda harus mengupgrade atau menghapus, lalu membuat ulang akun layanan tersebut.

Sertifikat cluster pengguna

Bagian ini menjelaskan cara mengganti sertifikat untuk cluster pengguna Anda.

Kunci SSH dan CA cluster pengguna

Sebagian besar CA untuk cluster pengguna Anda dibuat saat cluster dibuat.

Saat Anda menghapus cluster pengguna, GKE di AWS akan merotasi sertifikat berikut:

  • CA root server API
  • CA proxy depan API
  • CA etcd
  • CA penanda tangan akun layanan Kubernetes
  • Pasangan kunci SSH bidang kontrol ke node

CA webhook autentikasi cluster pengguna

Untuk merotasi CA webhook autentikasi cluster pengguna, Anda mengedit file anthos-gke.status.yaml dan menerapkan perubahan.

  1. Beralih ke direktori dengan konfigurasi GKE di AWS. Anda membuat direktori ini saat Menginstal layanan pengelolaan.
    cd anthos-aws
  2. Buka anthos-gke.status.yaml di editor teks.
  3. Menghapus semua nilai di bawah kunci certificateAuthority. Ini termasuk encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value, dan encryptedPrivateKey.certificate.
  4. Jalankan anthos-gke aws management init untuk memperbarui file anthos-gke.status.yaml.

     anthos-gke aws management init
    
  5. Jalankan anthos-gke aws management apply untuk mengupdate layanan pengelolaan.

     anthos-gke aws management apply
    

Pasangan kunci dan sertifikat TLS cluster pengguna

GKE di AWS membuat pasangan kunci dan sertifikat TLS saat membuat instance. Untuk merotasi pasangan ini, buat ulang instance dengan melakukan langkah-langkah berikut untuk bidang kontrol dan node pool Anda.

Bidang kontrol

  1. Dari direktori anthos-aws, gunakan anthos-gke untuk mengganti konteks ke layanan pengelolaan Anda.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Gunakan kubectl untuk mendapatkan grup target AWS EC2 bidang kontrol dari AWSCluster Anda.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get awscluster cluster-name \
      -o jsonpath='{.status.targetGroupName}{"\n"}'
    

    Output menyertakan nama grup target EC2 bidang kontrol Anda. Contoh, gke-123456a7-controlplane

  3. Buka AWS EC2 Console. Pilih Target Groups dari panel kiri.

  4. Klik kotak penelusuran dan temukan grup target Anda. Klik Nama grup target Anda, lalu klik Target. Daftar instance control plane Anda akan muncul.

  5. Untuk setiap instance dalam grup target, lakukan langkah-langkah berikut:

    1. Klik ID Instance instance. Konsol AWS EC2 Instances akan muncul.

    2. Klik ID Instance.

    3. Pilih Actions -> Instance state -> terminate untuk menghapus instance. EC2 akan otomatis membuat instance baru dengan volume EBS yang sama.

    4. Kembali ke halaman Target Groups.

  6. Setelah Anda menghentikan semua instance dalam grup, kembali ke halaman Target Groups.

  7. Di bagian Target Terdaftar di halaman, temukan kolom Status. Setiap instance Anda harus memiliki Status Sehat. Jika ada instance yang responsif, tunggu beberapa menit, lalu klik ikon Muat Ulang ().

  8. Setelah semua instance dalam grup target responsif, lanjutkan ke langkah berikutnya.

Kumpulan node

Untuk merotasi sertifikat TLS kumpulan node:

  1. Dari direktori anthos-aws, gunakan anthos-gke untuk mengganti konteks ke layanan pengelolaan Anda.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Gunakan kubectl untuk mendapatkan grup target AWS EC2 node pool dari AWSNodePool Anda.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get awsnodepool -o jsonpath='{.items[*].status.autoScalingGroupName}{"\n"}'
    

    Output menyertakan nama grup target EC2 node pool Anda. Contoh, gke-123456a7-nodepool-abc123

  3. Buka AWS EC2 Console. Pilih Target Groups dari panel kiri.

  4. Klik kotak penelusuran dan temukan grup target Anda. Klik Nama grup target Anda, lalu klik Target. Daftar instance control plane Anda akan muncul.

  5. Untuk setiap instance dalam grup target, lakukan langkah-langkah berikut:

    1. Klik ID Instance instance. Konsol AWS EC2 Instances akan muncul.

    2. Klik ID Instance.

    3. Pilih Actions -> Instance state -> terminate untuk menghapus instance. EC2 akan otomatis membuat instance baru dengan volume EBS yang sama.

    4. Kembali ke halaman Target Groups.

  6. Setelah Anda menghentikan semua instance dalam grup, kembali ke halaman Target Groups.

  7. Di bagian Target Terdaftar di halaman, temukan kolom Status. Setiap instance Anda harus memiliki Status Sehat. Jika ada instance yang responsif, tunggu beberapa menit, lalu klik ikon Muat Ulang ().

  8. Setelah semua instance dalam grup target responsif, lanjutkan ke langkah berikutnya.