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 role bersifat global.

Halaman ini ditujukan bagi audiens dalam grup administrator platform yang mengelola izin dalam organisasi mereka. Untuk mengetahui informasi selengkapnya, lihat Audiens untuk dokumentasi GDC dengan air gap.

Sebelum memulai

Sebelum mengelola binding peran atau mencabut akses, Anda harus meminta izin yang diperlukan dan menyiapkan lingkungan Anda. Peran spesifik yang diperlukan bergantung pada apakah Anda mengelola binding peran atau mencabut akses pengguna.

Meminta peran IAM

Hubungi Admin IAM Organisasi Anda untuk meminta peran berdasarkan tugas yang perlu Anda lakukan:

  • Admin IAM Organisasi (organization-iam-admin): membuat, memperbarui, dan menghapus binding peran di tingkat organisasi dan project.
  • Admin Sesi Org. (org-session-admin): mencabut sesi aktif dan akses pengguna dalam zona tertentu.

Menyiapkan lingkungan Anda

Untuk menggunakan alat command line guna mengelola binding peran atau mencabut akses, selesaikan penyiapan berikut.

Menyiapkan binding peran

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

Menetapkan peran kepada anggota yang diberi otorisasi:

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 Penyedia identitas, 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 Organization Viewer di tingkat organisasi atau Project Creator 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 konfigurasi pengikatan perannya Anda lakukan.
      • 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. Ekspor variabel lingkungan untuk binding peran:

    export GLOBAL_API_SERVER_KUBECONFIG=GLOBAL_API_SERVER_KUBECONFIG
    export USERNAME=IDP_PREFIX-USERNAME
    export ROLE_NAME=ROLE_NAME
    export BINDING_NAMESPACE=BINDING_NAMESPACE
    export USER_EMAIL=IDP_PREFIX-USER_EMAIL
    

    Ganti kode berikut:

    • GLOBAL_API_SERVER_KUBECONFIG: jalur ke file kubeconfig untuk server API global.
    • IDP_PREFIX: awalan penyedia identitas.
    • USERNAME: bagian nama pengguna dari alamat email pengguna sebelum simbol @ (seperti paul dari paul@example.com).
    • ROLE_NAME: nama peran yang dibutuhkan pengguna (seperti project-creator). Lihat Definisi peran untuk mengetahui daftar peran dan cakupannya.
    • BINDING_NAMESPACE: platform untuk peran cakupan organisasi, atau nama namespace project target untuk peran cakupan project.
    • USER_EMAIL: alamat email akun pengguna yang ingin Anda tetapkan perannya (seperti paul@example.com).
  2. 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: ${USER_EMAIL}
    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. Menghapus 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.

kubectl

Hapus IAMRoleBinding untuk mencabut izin yang diberikan ke akun PA:

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

Ganti kode berikut:

  • GLOBAL_API_SERVER_KUBECONFIG: jalur ke file kubeconfig untuk server API global.
  • IDP_PREFIX: awalan penyedia identitas.
  • USERNAME: bagian nama pengguna dari alamat email pengguna sebelum simbol @ (seperti paul dari 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 batalkan. 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 Mengakses zona dengan alat Anda.

  2. 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.

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

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