Memberikan akses ke setiap port Cloud Workstations

Anda dapat menggunakan IAM Conditions untuk memberikan akses ke setiap port workstation. Hal ini berguna untuk membagikan akses terbatas ke port workstation individual. Misalnya, Anda dapat menggunakan IAM Conditions untuk memberikan akses ke server demo yang berjalan di port workstation.

Cloud Workstations mendukung atribut Kondisi IAM destination.port.

Untuk mengetahui informasi selengkapnya tentang IAM Conditions, lihat artikel berikut:

Sebelum memulai

Sebelum dapat memberikan akses ke setiap port workstation, Anda harus memiliki peran Admin Kebijakan Cloud Workstations (roles/workstations.policyAdmin) di workstation.

Memeriksa peran IAM di workstation

Pastikan Anda memiliki peran Cloud Workstations User (roles/workstations.user) dan Cloud Workstations Policy Admin (roles/workstations.policyAdmin) di workstation. Jika tidak, minta Admin Cloud Workstations organisasi Anda untuk memberi Anda peran tersebut di workstation.

Mulai server demo di workstation

Mulai dan hubungkan ke workstation Anda menggunakan panduan Meluncurkan workstation. Jalankan perintah berikut di workstation untuk memulai server demo di port workstation.

python3 -m http.server WORKSTATIONS_PORT

Ganti kode berikut:

  • WORKSTATIONS_PORT: port tempat server demo akan memproses permintaan. Misalnya, gunakan 8081.

Memperbarui kebijakan IAM bersyarat workstation

Untuk memberikan akses ke port workstation, Anda dapat menggunakan perintah Google Cloud console atau gcloud CLI iam policies.

Konsol

Untuk memberikan akses bersyarat ke workstation:

  1. Di konsol Google Cloud , buka halaman Cloud Workstations > Workstations.

    Buka Workstations

  2. Temukan workstation Anda, lalu klik menu opsimore_vertLainnya, dan pilih Tambahkan Pengguna.

    Menambahkan pengguna dan mengedit izin dari halaman **Workstation**

  3. Untuk memberikan akses bersyarat, masukkan email untuk kepala sekolah. Misalnya, 222larabrown@gmail.com.

  4. Pastikan Cloud Workstations User dipilih sebagai Peran.

  5. Perbarui kondisi IAM untuk memberikan akses khusus port:

    1. Klik Tambahkan Kondisi IAM.

    2. Tentukan judul seperti Port WORKSTATIONS_PORT.

    3. Di tab Editor Kondisi, masukkan kondisi berikut:

    destination.port == WORKSTATIONS_PORT
    

    Editor kondisi IAM dengan kondisi port tujuan 8081

    1. Klik Simpan untuk menyelesaikan pemberian akses bersyarat ke port tertentu untuk akun utama.

gcloud

  1. Dapatkan kebijakan IAM workstation menggunakan perintah gcloud CLI workstations get-iam-policy. Perintah ini akan menghasilkan kebijakan ke file: /tmp/WORKSTATIONS_NAME.yaml. Jika file ada, file tersebut akan ditimpa.

    gcloud workstations get-iam-policy WORKSTATIONS_NAME \
      --cluster=WORKSTATIONS_CLUSTER_NAME \
      --config=WORKSTATIONS_CONFIG_NAME \
      --region=LOCATION \
      --project=WORKSTATIONS_PROJECT_ID \
      > /tmp/WORKSTATIONS_NAME.yaml
    

    Ganti kode berikut:

    • WORKSTATIONS_NAME: nama workstation.
    • WORKSTATIONS_CONFIG_NAME: nama konfigurasi workstation.
    • WORKSTATIONS_CLUSTER_NAME: nama cluster workstation.
    • LOCATION: nama region untuk cluster workstation Anda.
    • WORKSTATIONS_PROJECT_ID: ID project Cloud Workstations yang berisi workstation Anda.

    Format YAML kebijakan didownload ke /tmp/WORKSTATIONS_NAME.yaml:

    bindings:
    - members:
      - user:222larabrown@gmail.com
      role: roles/workstations.user
    etag: BwYdnV9Eg7Y=
    version: 1
    
  2. Untuk memberikan akses bersyarat kepada akun utama, tambahkan ekspresi kondisi yang ditandai berikut ke file kebijakan yang Anda download pada langkah sebelumnya.

    Jangan ubah etag. Pastikan versi ditentukan sebagai 3, karena kebijakan ini mencakup kolom condition.

    Contoh:

    bindings:
    - members:
      - user:YOUR_ID
      role: roles/workstations.user
    - condition:
        expression: destination.port == WORKSTATIONS_PORT
        title: Port WORKSTATIONS_PORT
      members:
      - user:PRINCIPAL
      role: roles/workstations.user
    etag: BwYlui8uSXo=
    version: 3
    

    Ganti kode berikut:

    • YOUR_ID: ID login Anda sendiri. Contoh, 222larabrown@gmail.com.
    • PRINCIPAL: akun utama yang ingin Anda beri akses ke port WORKSTATIONS_PORT dari workstation. Misalnya, baklavainthebalkans@gmail.com.
    • WORKSTATIONS_PORT: port workstation tempat server demo memproses.
  3. Tetapkan kebijakan IAM workstation menggunakan perintah gcloud CLI workstations set-iam-policy.

    gcloud workstations set-iam-policy WORKSTATIONS_NAME \
      --cluster=WORKSTATIONS_CLUSTER_NAME \
      --config=WORKSTATIONS_CONFIG_NAME \
      --region=LOCATION \
      --project=WORKSTATIONS_PROJECT_ID \
      /tmp/WORKSTATIONS_NAME.yaml
    

    Ganti kode berikut:

    • WORKSTATIONS_NAME: nama workstation.
    • WORKSTATIONS_CONFIG_NAME: nama konfigurasi workstation.
    • WORKSTATIONS_CLUSTER_NAME: nama cluster workstation.
    • LOCATION: nama region untuk cluster workstation Anda.
    • WORKSTATIONS_PROJECT_ID: ID project Cloud Workstations yang berisi workstation Anda.

Setelah kebijakan IAM workstation diperbarui, principal akan dapat mengakses port workstation yang ditentukan.

Membagikan URL workstation

Principal akan dapat mengakses port yang ditentukan dengan URL workstation berikut:

https://WORKSTATIONS_PORT-WORKSTATIONS_NAME.WORKSTATIONS_CLUSTER_NAME.cloudworkstations.dev

Placeholder mewakili hal berikut:

  • WORKSTATIONS_PORT: port tempat server demo memproses permintaan.
  • WORKSTATIONS_NAME: nama workstation.
  • WORKSTATIONS_CLUSTER_NAME: ID cluster yang dibuat secara acak.
  • cloudworkstations.dev: nama domain default untuk workstation.

Akun utama tidak akan dapat mengakses port lain dari workstation yang tidak dapat diaksesnya.