Memberikan dan mencabut akses

Setiap subjek - pengguna atau grup - mengikuti proses dua langkah untuk mendapatkan akses ke server API global. Memberi subjek izin di server API global menggunakan IAMRoleBinding ke IAMRole yang telah ditentukan sebelumnya. Semua binding peran dan peran bersifat global.

Persona (IO, PA, AO) bukan peran, tetapi kumpulan peran pengguna yang dipetakan ke izin tertentu dan ditetapkan kepada setiap pengguna.

Menyiapkan binding peran

Anda dapat menyiapkan binding peran yang memberi anggota tim akses ke resource di level organisasi atau project.

Untuk mendapatkan izin yang diperlukan untuk menyiapkan binding peran, minta Admin IAM Organisasi Anda untuk memberi Anda peran Admin IAM Organisasi.

Untuk menetapkan peran kepada anggota yang diberi otorisasi, ikuti langkah-langkah berikut:

Konsol

  1. Login ke konsol GDC.
  2. Pilih organisasi atau project dari pemilih cakupan.
    • Untuk menyiapkan binding peran bagi organisasi, pilih organisasi.
    • Untuk menyiapkan binding peran untuk project, pilih project.
  3. Di menu navigasi, klik Identity and Access > Access.
  4. Klik Tambahkan Anggota.
  5. Pilih apakah Anda ingin menambahkan pengguna atau grup satu per satu.
  6. Di daftar Identity provider, pilih penyedia identitas.
  7. Di kolom Nama pengguna atau alias grup, masukkan nama pengguna, alamat email, atau alias.
  8. Dalam daftar Peran, pilih peran yang ingin Anda tetapkan kepada pengguna atau grup, seperti Pelihat Organisasi di tingkat organisasi atau Pembuat Project di tingkat project.
  9. Klik Tambahkan.

Anggota akan muncul dalam daftar Anggota yang diizinkan.

gdcloud

  1. Pastikan Anda telah menginstal gdcloud CLI.

  2. Login menggunakan perintah gdcloud auth login untuk melakukan autentikasi dengan penyedia identitas Anda. Untuk mengetahui informasi selengkapnya, lihat autentikasi gdcloud CLI.

  3. Siapkan binding peran.

    • Menyiapkan binding peran untuk organisasi:

      gdcloud organizations add-iam-policy-binding ORGANIZATION \
        --member=USER_ACCOUNT \
        --role= ROLE
      

      Ganti variabel berikut:

      • ORGANIZATION: nama organisasi tempat Anda menyiapkan binding peran.
      • USER_ACCOUNT: akun pengguna yang ingin Anda beri peran. Flag ini menerima alamat email pengguna dengan awalan penyedia identitas (user:idpprefix-user@example.com) atau nama akun layanan dengan project akun layanan (serviceAccount:projectName:serviceAccountName).
      • ROLE: nama peran bawaan atau kustom yang ingin Anda tetapkan kepada pengguna.
    • Siapkan binding peran untuk project:

      gdcloud projects add-iam-policy-binding PROJECT \
        --member=USER_ACCOUNT \
        --role= ROLE
      

      Ganti variabel berikut:

      • PROJECT: nama project yang penetapan perannya Anda siapkan.
      • USER_ACCOUNT: akun pengguna yang ingin Anda beri peran. Flag ini menerima alamat email pengguna dengan awalan penyedia identitas (user:idpprefix-user@example.com) atau nama akun layanan dengan project akun layanan (serviceAccount:projectName:serviceAccountName).
      • ROLE: nama peran bawaan atau kustom yang ingin Anda tetapkan kepada pengguna.

API

  1. Mengekspor kredensial pengguna yang Anda gunakan:

    export GLOBAL_API_SERVER_KUBECONFIG=GLOBAL_API_SERVER_KUBECONFIG
    
  2. Ekspor akun pengguna yang ingin Anda tetapkan perannya, termasuk awalan penyedia identitas (seperti idpprefix-paul@example.com):

    export USERNAME=IDP_PREFIX-USER_EMAIL
    
  3. Ekspor nama peran yang dibutuhkan pengguna, seperti project-creator. Lihat Definisi peran untuk menemukan peran yang sesuai.

    export ROLE_NAME=ROLE_NAME
    
  4. Ekspor namespace tempat binding harus dibuat:

    export BINDING_NAMESPACE=BINDING_NAMESPACE
    

    Ganti BINDING_NAMESPACE dengan platform untuk peran cakupan organisasi, atau nama namespace project target untuk peran cakupan project.

    Lihat Definisi peran untuk mengetahui daftar peran dan cakupannya.

  5. Buat dan terapkan resource kustom IAMRoleBinding:

    cat <<EOF | kubectl --kubeconfig ${GLOBAL_API_SERVER_KUBECONFIG} apply -f -
    apiVersion: iam.global.gdc.goog/v1
    kind: IAMRoleBinding
    metadata:
      name: ${USERNAME}-${ROLE_NAME}-binding
      namespace: ${BINDING_NAMESPACE}
    spec:
      roleRef:
        apiGroup: iam.global.gdc.goog
        kind: IAMRole
        name: ${ROLE_NAME}
      subjects:
      - apiGroup: rbac.authorization.k8s.io
        kind: User
        name: ${USERNAME}
    EOF
    

Menghapus binding peran

Jika akses tidak lagi diperlukan, hapus anggota dan peran, izin, serta akses terkaitnya.

Untuk menghapus anggota, ikuti langkah-langkah berikut:

Konsol

  1. Login ke konsol GDC.
  2. Di menu navigasi, klik Identity and Access > Access.
  3. Dalam daftar Anggota yang diberi otorisasi, pilih anggota.
  4. Klik Hapus anggota.
  5. Saat diminta, klik Hapus anggota untuk mengonfirmasi.

gdcloud

  1. Pastikan Anda telah menginstal gdcloud CLI.

  2. Login menggunakan perintah gdcloud auth login untuk melakukan autentikasi dengan penyedia identitas Anda. Untuk mengetahui informasi selengkapnya, lihat autentikasi gdcloud CLI.

  3. Hapus binding peran.

    • Menghapus binding peran untuk organisasi:

      gdcloud organizations remove-iam-policy-binding ORGANIZATION \
        --member=USER_ACCOUNT \
        --role= ROLE
      

      Ganti variabel berikut:

      • ORGANIZATION: nama organisasi tempat Anda menghapus binding peran.
      • USER_ACCOUNT: akun pengguna yang perannya ingin Anda hapus. Flag ini menerima alamat email pengguna dengan awalan penyedia identitas (user:idpprefix-user@example.com) atau nama akun layanan dengan project akun layanan (serviceAccount:projectName:serviceAccountName).
      • ROLE: nama peran bawaan atau kustom yang ingin Anda hapus dari akun pengguna.
    • Menghapus binding peran untuk project:

      gdcloud projects remove-iam-policy-binding PROJECT \
        --member=USER_ACCOUNT \
        --role= ROLE
      

      Ganti variabel berikut:

      • PROJECT: nama project tempat Anda menghapus binding peran.
      • USER_ACCOUNT: akun pengguna yang perannya ingin Anda hapus. Flag ini menerima alamat email pengguna dengan awalan penyedia identitas (user:idpprefix-user@example.com) atau nama akun layanan dengan project akun layanan (serviceAccount:projectName:serviceAccountName).
      • ROLE: nama peran bawaan atau kustom yang ingin Anda hapus dari akun pengguna.

API

Hapus IAMRoleBinding untuk mencabut izin yang diberikan ke akun PA:

kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG \
delete iamrolebinding USERNAME-ROLE_NAME-binding -n BINDING_NAMESPACE

Ganti kode berikut:

  • GLOBAL_API_SERVER_KUBECONFIG: jalur ke file kubeconfig untuk mengakses server Global API.
  • USERNAME: akun pengguna yang perannya ingin Anda hapus, termasuk awalan penyedia identitas (seperti idpprefix-paul@example.com).
  • ROLE_NAME: nama peran yang ingin Anda hapus, seperti project-creator.
  • BINDING_NAMESPACE: ganti dengan platform untuk peran cakupan organisasi, atau nama namespace project target untuk peran cakupan project.

Mencabut akses pengguna

Jika anggota keluar dari organisasi atau tim Anda, Anda dapat mencabut aksesnya ke Google Distributed Cloud (GDC) yang terisolasi dari internet. Mencabut akses pengguna akan membuat pengguna logout dari Distributed Cloud dan menghapus peran serta izinnya. Anda juga dapat mencantumkan aktivitas dan sesi pengguna dari waktu mulai dan berakhirnya.

Untuk mencabut akses pengguna di seluruh semesta GDC, Anda harus mencabut akses untuk setiap zona satu per satu. Selesaikan langkah-langkah berikut untuk setiap zona:

  1. Pastikan Anda login ke zona yang aksesnya ingin Anda cabut. Misalnya, tetapkan konfigurasi URL zonal untuk gcloud CLI, lalu login:

    gdcloud config set organization_console_url ZONE_URL
    gdcloud auth login
    

    Ganti ZONE_URL dengan URL konsol GDC untuk zona tempat akses pengguna akan dicabut, yang menyerupai https://console.ORG_NAME.ZONE_NAME.ORG_SUFFIX.

    Untuk mengetahui informasi selengkapnya tentang cara mengganti konteks zona, lihat Mengelola resource di seluruh zona.

  2. Dapatkan izin yang Anda perlukan untuk mencabut akses pengguna. Minta Admin IAM Organisasi Anda untuk memberi Anda peran Org Session Admin (org-session-admin).

  3. Mencabut akses pengguna untuk zona:

    gdcloud admin auth revoke --accounts USER_EMAIL
    

    Ganti USER_EMAIL dengan email pengguna yang aksesnya akan dicabut.

    Setelah menjalankan perintah, Anda akan melihat output yang mirip dengan berikut ini. Contoh ini mencabut akses dari pengguna ariel@example.com:

    Success: NUMBER of sessions revoked for user ariel@example.com
    

    Dalam contoh ini, variabel NUMBER merujuk pada jumlah sesi aktif yang dimiliki pengguna.

  4. Konfirmasi bahwa Anda telah mencabut akses pengguna dengan menjalankan kembali perintah gdcloud admin auth revoke. Jika berhasil, Anda akan melihat berikut ini:

    No sessions found for account: ariel@example.com
    
  5. Ulangi langkah-langkah sebelumnya untuk setiap zona di semesta Anda.