Merotasi kredensial keamanan

Topik ini menjelaskan cara merotasi kredensial keamanan untuk GKE Anda pada layanan pengelolaan 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 pada AWS Anda.

Sertifikat layanan pengelolaan

Bagian ini menjelaskan cara merotasi sertifikat untuk layanan pengelolaan Anda.

Manajemen certificate authority

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

CA root server API Pengelolaan

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

  1. Beralihlah ke direktori yang memiliki konfigurasi GKE on AWS. Anda membuat direktori ini saat Menginstal layanan pengelolaan.
    cd anthos-aws
  2. Buka anthos-gke.status.yaml di editor teks.
  3. Hapus semua nilai pada kunci certificateAuthority. Ini mencakup encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value, dan encryptedPrivateKey.certificate.
  4. Jalankan anthos-gke aws management init untuk mengupdate 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 mengalihkan konteks ke layanan pengelolaan Anda.
    cd anthos-aws
    anthos-gke aws management get-credentials

CA pengelolaan lainnya

Bagian ini menjelaskan cara merotasi semua CA berikut:

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

Anda dapat merotasi CA ini dengan salah satu metode berikut:

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

    1. Beralihlah ke direktori yang memiliki konfigurasi GKE on AWS. Anda membuat direktori ini saat Menginstal layanan pengelolaan.
      cd anthos-aws
    2. Buka anthos-gke.status.yaml di editor teks.
    3. Hapus semua nilai pada kunci certificateAuthority. Ini mencakup encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value, dan encryptedPrivateKey.certificate.
    4. Jalankan anthos-gke aws management init untuk mengupdate 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 GKE baru di versi AWS tersedia, upgrade GKE Anda pada layanan pengelolaan AWS.

  • 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 mencakup ID layanan pengelolaan Anda. Dalam contoh di bawah ini, ID-nya adalah gke-12345abc.
      terraform output cluster_id
      gke-12345abc
      
    2. Buka Konsol AWS EC2.
    3. Klik Instance
    4. Temukan instance bernama cluster-id-management-0.
    5. Pilih Tindakan -> Status instance -> hentikan untuk menghapus instance. EC2 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 mencakup ID layanan pengelolaan Anda. Dalam contoh di bawah ini, ID-nya adalah gke-12345abc.
    terraform output cluster_id
    gke-12345abc
    
  2. Buka Konsol AWS EC2.
  3. Klik Instance
  4. Temukan instance bernama cluster-id-management-0.
  5. Pilih Tindakan -> Status instance -> hentikan untuk menghapus instance. EC2 otomatis membuat instance baru dengan volume EBS yang sama.

Akun layanan Google Cloud

Akun layanan pengelolaan

Guna merotasi akun layanan Google Cloud 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. Beralihlah ke direktori yang memiliki konfigurasi GKE on 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 mengupdate 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 tersebut.

Sertifikat cluster pengguna

Bagian ini menjelaskan cara merotasi sertifikat untuk cluster pengguna Anda.

CA cluster pengguna dan kunci SSH

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
  • etcd CA
  • CA penanda tangan akun layanan Kubernetes
  • Bidang kontrol ke pasangan kunci SSH node

CA webhook autentikasi cluster pengguna

Untuk merotasi CA webhook autentikasi cluster pengguna, edit file anthos-gke.status.yaml dan terapkan perubahannya.

  1. Beralihlah ke direktori yang memiliki konfigurasi GKE on AWS. Anda membuat direktori ini saat Menginstal layanan pengelolaan.
    cd anthos-aws
  2. Buka anthos-gke.status.yaml di editor teks.
  3. Hapus semua nilai pada kunci certificateAuthority. Ini mencakup encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value, dan encryptedPrivateKey.certificate.
  4. Jalankan anthos-gke aws management init untuk mengupdate 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 menghasilkan pasangan kunci dan sertifikat TLS saat membuat instance. Untuk merotasi pasangan ini, buat ulang instance dengan melakukan langkah-langkah berikut untuk bidang kontrol dan kumpulan node.

Bidang kontrol

  1. Dari direktori anthos-aws, gunakan anthos-gke untuk mengalihkan 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"}'
    

    Outputnya mencakup nama grup target EC2 bidang kontrol Anda. Contoh, gke-123456a7-controlplane

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

  4. Klik kotak penelusuran dan cari grup target. Klik Name grup target, lalu klik Targets. Daftar instance bidang kontrol akan muncul.

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

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

    2. Klik Instance ID.

    3. Pilih Tindakan -> Status instance -> hentikan untuk menghapus instance. EC2 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 pada halaman, temukan kolom Status. Setiap instance Anda harus memiliki Status Responsif. Jika salah satu instance responsif, tunggu beberapa menit lalu klik ikon Refresh ().

  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 mengalihkan konteks ke layanan pengelolaan Anda.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Gunakan kubectl untuk mendapatkan grup target AWS EC2 kumpulan node dari AWSNodePool Anda.

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

    Outputnya mencakup nama grup target EC2 kumpulan node Anda. Contoh, gke-123456a7-nodepool-abc123

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

  4. Klik kotak penelusuran dan cari grup target. Klik Name grup target, lalu klik Targets. Daftar instance bidang kontrol akan muncul.

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

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

    2. Klik Instance ID.

    3. Pilih Tindakan -> Status instance -> hentikan untuk menghapus instance. EC2 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 pada halaman, temukan kolom Status. Setiap instance Anda harus memiliki Status Responsif. Jika salah satu instance responsif, tunggu beberapa menit lalu klik ikon Refresh ().

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