Mengelola identitas dan akses untuk project

Halaman ini menjelaskan praktik pengelolaan identitas dan akses (IAM) untuk Operator Aplikasi (AO) di perangkat air-gapped Google Distributed Cloud (GDC).

Penyedia identitas (IdP) adalah entitas sistem yang membuat, memelihara, dan mengelola informasi identitas untuk prinsipal. IdP juga menyediakan layanan autentikasi untuk aplikasi dalam federasi atau jaringan terdistribusi.

Login

Bagian ini menjelaskan cara mengakses beban kerja Anda melalui antarmuka pengguna (UI) web atau antarmuka command line (CLI).

Login ke UI web

Halaman ini membahas cara mengakses dan mengelola workload dan resource Anda dalam perlengkapan dengan air gap Google Distributed Cloud (GDC). Dokumen ini menjelaskan cara mengautentikasi, membuat file kubeconfig untuk server Management API dan cluster Kubernetes, serta mengelola tidak adanya aktivitas sesi. Memahami proses ini akan memastikan akses yang aman dan andal ke project dan workload Anda.

Akses beban kerja Anda melalui konsol GDC atau gdcloud CLI.

Login

Untuk login ke konsol GDC atau cluster, ikuti langkah-langkah berikut:

Konsol

Buka URL berikut di tab browser baru untuk mengakses antarmuka pengguna (UI) appliance GDC yang terisolasi dari internet:

https://GDC_URL

Ganti GDC_URL dengan nama domain yang Anda gunakan untuk mengakses GDC yang disediakan oleh Operator Infrastruktur (IO). Saat membuka URL apa pun untuk pertama kalinya, GDC akan mengalihkan Anda ke halaman login penyedia identitas jika Operator Infrastruktur (IO) mengonfigurasi halaman tersebut.

Misalnya, halaman berikut ditampilkan setelah login ke Konsol untuk organisasi bernama `org-1: Konsol menampilkan layar selamat datang untuk project org-1.

CLI

Anda dapat login ke cluster mana pun yang izin aksesnya Anda miliki. Proses login CLI untuk semua cluster sama. Anda hanya boleh memberikan nama cluster dan file kubeconfig terkait, serta login secara terpisah ke setiap cluster.

Sebelum Anda login, pastikan Anda melakukan hal berikut:

  • Download biner gdcloud CLI dan instal di sistem Anda. Untuk mengetahui informasi selengkapnya, lihat Mendownload gdcloud CLI.
  • Siapkan dan lakukan inisialisasi konfigurasi default gdcloud CLI. Pastikan untuk menyetel URL organisasi yang benar, yang digunakan untuk mengambil endpoint konfigurasi login. Untuk mengetahui informasi selengkapnya, lihat penginstalan gdcloud CLI.
  • Instal plugin autentikasi gdcloud-k8s-auth-plugin. Untuk mengetahui informasi selengkapnya, lihat autentikasi gcloud CLI.

Untuk login ke cluster, selesaikan langkah-langkah berikut:

  1. Lakukan autentikasi instance gdcloud CLI Anda untuk login. Ada dua cara untuk melakukan autentikasi:

    • Login browser standar: Gunakan alur autentikasi ini saat login dari browser.

      gdcloud auth login
      
    • Login perangkat sekunder: Gunakan alur autentikasi ini jika perangkat utama Anda tidak memiliki browser. Alur ini memulai login di perangkat utama tanpa akses browser dan melanjutkan login dengan perangkat sekunder yang memiliki akses browser.

      1. Mulai login di perangkat utama Anda tanpa browser:

        gdcloud auth login --no-browser
        

        Perintah di perangkat utama mencetak perintah gdcloud lain yang harus Anda jalankan di perangkat sekunder pada langkah c.

      2. Ulangi langkah 1 Login ke cluster untuk mendownload sertifikat di perangkat sekunder.

      3. Selesaikan login di perangkat sekunder dengan memasukkan perintah yang dicetak di perangkat utama pada langkah a.

    Tindakan ini akan membuka browser untuk login ke penyedia identitas (IdP) yang dikonfigurasi. Berikan pengguna dan sandi yang Anda tetapkan selama penyiapan gdcloud CLI awal untuk login.

  2. Ekspor file identitas pengguna kubeconfig sebagai variabel:

    export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
    
  3. Buat file kubeconfig dengan identitas pengguna Anda:

    gdcloud clusters get-credentials CLUSTER_NAME
    

    File kubeconfig dibuat dengan identitas pengguna Anda. File YAML berikut menunjukkan contoh:

    apiVersion: v1
    clusters:
    - cluster:
        certificate-authority-data: <REDACTED>
        server: https://10.200.0.32:443
      name: cluster-name
    contexts:
    - context:
        cluster: cluster-name
        user: cluster-name-anthos-default-user
      name: cluster-name-cluster-name-anthos-default-user
    current-context: cluster-name-cluster-name-anthos-default-user
    kind: Config
    preferences: {}
    users:
    - name: cluster-name-anthos-default-user
      user:
        exec:
            apiVersion: client.authentication.k8s.io/v1
            args:
            - --audience=root-admin
            command: gdcloud-k8s-auth-plugin
            env: null
            installHint: Run 'gdcloud components install gdcloud-k8s-auth-plugin' to use plugin
            interactiveMode: Never
            provideClusterInfo: false
    
  4. Untuk memverifikasi bahwa Anda dapat mengakses cluster, login dengan file kubeconfig yang dibuat dengan identitas pengguna:

    kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
    

Logout

Untuk logout dari konsol GDC, lakukan hal berikut:

Konsol

Klik Logout di panel menu.

CLI

Logout dari CLI:

gdcloud auth revoke

Membuat file kubeconfig secara manual

Jika Anda mengelola resource dengan kubectl CLI dengan memanggil KRM API secara langsung, Anda harus membuat file kubeconfig untuk cluster yang menghosting resource, bergantung pada jenis resource yang Anda kelola. Buka dokumentasi resource untuk menentukan file kubeconfig yang Anda butuhkan.

Selesaikan penyiapan yang berlaku berdasarkan jenis resource Anda.

Resource server Management API

Selesaikan langkah-langkah berikut untuk membuat file kubeconfig Anda untuk server Management API:

  1. Tetapkan variabel lingkungan MANAGEMENT_API_SERVER:

    export MANAGEMENT_API_SERVER="root-admin"
    
  2. Buat file kubeconfig server Management API, dan validasi kredensial:

    export KUBECONFIG=${HOME}/${MANAGEMENT_API_SERVER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${MANAGEMENT_API_SERVER:?}
    [[ $(kubectl config current-context) == *${MANAGEMENT_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    Perintah rm ${KUBECONFIG:?} menghapus file kubeconfig yang ada di direktori beranda. Saat Anda membuat file kubeconfig baru, file tersebut akan menggantikan file yang ada. Jika Anda tidak ingin menimpa atau menghapus file yang ada, buat cadangannya di lokasi aman lain.

Resource cluster Kubernetes

Selesaikan langkah-langkah berikut untuk membuat file kubeconfig Anda untuk cluster Kubernetes bare metal:

  1. Tetapkan variabel lingkungan KUBERNETES_CLUSTER:

    export KUBERNETES_CLUSTER="root-infra"
    
  2. Buat file kubeconfig cluster Kubernetes, dan validasi kredensial:

    export KUBECONFIG=${HOME}/${KUBERNETES_CLUSTER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${KUBERNETES_CLUSTER:?}
    [[ $(kubectl config current-context) == *${KUBERNETES_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
    

    Perintah rm ${KUBECONFIG:?} menghapus file kubeconfig yang ada di direktori beranda. Saat Anda membuat file kubeconfig baru, file tersebut akan menggantikan file yang ada. Jika Anda tidak ingin menimpa atau menghapus file yang ada, buat cadangannya di lokasi aman lain.

Logout karena tidak ada aktivitas sesi

Setelah tidak ada aktivitas selama lima belas menit atau lebih dalam sesi, konsol GDC dan gdcloud CLI akan mengeluarkan Anda. GDC menganggap tidak adanya aktivitas sesi sebagai periode selama sesi terbuka tanpa adanya engagement aktif dari Anda, seperti tidak ada pergerakan kursor atau keyboard. Sesi aktif berlangsung hingga dua belas jam dengan aktivitas pengguna.

Konsol

Jika tidak ada aktivitas sesi, konsol GDC akan membuat Anda logout. Dua menit sebelum konsol GDC mengeluarkan Anda karena tidak ada aktivitas, Anda akan menerima dialog yang memperingatkan Anda tentang logout:

UI Konsol yang menampilkan dialog dengan timer 99 detik sebelum mengeluarkan pengguna karena tidak aktif.

Setelah logout karena tidak ada aktivitas, Anda akan melihat layar berikut:

UI Konsol menampilkan layar login dengan banner yang berisi teks tentang logout sesi: &#39;Anda telah logout dari sistem karena sesi Anda tidak aktif terlalu lama. Login lagi atau hubungi administrator Anda untuk mendapatkan bantuan.&#39;

Untuk login kembali ke konsol GDC, pilih penyedia identitas Anda dan tambahkan kredensial login Anda. Jika Anda menggunakan layanan, seperti dasbor pemantauan, dan konsol GDC mengeluarkan Anda karena tidak ada aktivitas, login kembali untuk mendapatkan akses.

CLI

Untuk sesi tidak aktif, gdcloud CLI akan membuat Anda logout. Setelah gdcloud CLI mengeluarkan Anda, dan Anda mencoba menjalankan perintah, Anda akan menerima error otorisasi:

Error: error when creating kube client: unable to create k8sclient: Unauthorized

Untuk login kembali ke gdcloud CLI, ikuti langkah-langkah CLI di Login.

kubectl

gdcloud CLI akan menghentikan masa berlaku file kubeconfig Anda setelah sesi tidak aktif. Jika Anda mencoba menjalankan perintah kubectl setelah tidak ada aktivitas, Anda akan menerima error otorisasi:

error: You must be logged in to the server (Unauthorized)

Untuk login kembali dan menggunakan file kubeconfig, ikuti langkah-langkah CLI di bagian Login. Untuk setiap waktu tunggu sesi, Anda harus membuat ulang file kubeconfig.

Menetapkan kebijakan izin IAM

Deskripsi peran bawaan

Operator Aplikasi (AO) adalah anggota tim pengembangan dalam organisasi Administrator Platform (PA). AOs berinteraksi dengan resource tingkat project. Anda dapat menetapkan peran bawaan berikut kepada anggota tim:

  • Admin IAM Project: Mengelola kebijakan izinkan IAM project.
  • Developer OCR AI: Mengakses layanan Pengenalan Karakter Optik untuk mendeteksi teks dalam gambar.
  • Developer AI Speech: Akses layanan Speech-to-Text untuk mengenali ucapan dan mentranskripsikan audio.
  • Developer Terjemahan AI: Mengakses layanan Vertex AI Translation untuk menerjemahkan teks.
  • Admin Pengelolaan Artefak: Memiliki akses admin ke resource di semua project Harbor dalam namespace project.
  • Editor Pengelolaan Artefak: Memiliki akses baca dan tulis ke resource di semua project Harbor dalam namespace project.
  • Admin Certificate Authority Service: Memiliki akses untuk mengelola Certificate Authority dan permintaan sertifikat di projectnya.
  • Admin Layanan Sertifikat: Memiliki akses untuk mengelola sertifikat dan penerbit sertifikat dalam projectnya.
  • Editor Dasbor: Memiliki akses baca dan tulis pada resource kustom Dashboard.
  • Pelihat Dasbor: Memiliki akses hanya baca pada resource kustom Dashboard.
  • Admin Instance Harbor: Memiliki akses penuh untuk mengelola instance Harbor dalam project.
  • Harbor Instance Viewer: Memiliki akses hanya baca untuk melihat instance Harbor dalam project.
  • Pembuat Project Harbor: Memiliki akses untuk mengelola project instance Harbor.
  • Admin Kebijakan Jaringan K8s: Mengelola kebijakan jaringan di cluster Kubernetes.
  • Pembuat LoggingRule: Membuat resource kustom LoggingRule di namespace project.
  • Editor LoggingRule: Mengedit resource kustom LoggingRule di namespace project.
  • LoggingRule Viewer: Melihat resource kustom LoggingRule di namespace project.
  • Pembuat LoggingTarget: Membuat resource kustom LoggingTarget di namespace project.
  • Editor LoggingTarget: Mengedit resource kustom LoggingTarget di namespace project.
  • Pelihat LoggingTarget: Melihat resource kustom LoggingTarget di namespace project.
  • Admin Load Balancer: memiliki izin baca dan tulis pada semua resource load balancer di namespace project.
  • Editor MonitoringRule: Memiliki akses baca dan tulis ke resource MonitoringRule.
  • MonitoringRule Viewer: Memiliki akses hanya baca ke MonitoringRule resource kustom.
  • Editor MonitoringTarget: Memiliki akses baca dan tulis ke resource kustom MonitoringTarget.
  • Pelihat MonitoringTarget: Memiliki akses hanya baca ke MonitoringTarget resource kustom.
  • NAT Viewer: Memiliki akses hanya baca ke deployment di cluster Kubernetes.
  • Admin Namespace: Mengelola semua resource dalam namespace project.
  • Editor ObservabilityPipeline: Memiliki akses baca dan tulis pada ObservabilityPipeine resource kustom.
  • ObservabilityPipeline Viewer: Memiliki akses hanya baca pada resource kustom ObservabilityPipeline.
  • Project Bucket Admin: Mengelola bucket penyimpanan dan objek dalam bucket.
  • Admin Objek Bucket Project: Memiliki akses hanya baca pada bucket dalam project, dan akses baca-tulis pada objek di bucket tersebut.
  • Project Bucket Object Viewer: Memiliki akses hanya baca pada bucket dalam project dan objek di bucket tersebut.
  • Project Cortex Alertmanager Editor: Memberikan izin untuk mengedit instance Cortex Alertmanager di namespace project.
  • Project Cortex Alertmanager Viewer: Memberikan izin untuk mengakses instance Cortex Alertmanager di namespace project.
  • Project Cortex Prometheus Viewer: Memberikan izin untuk mengakses instance Cortex Prometheus di namespace project.
  • Project Grafana Viewer: Mengakses instance Grafana di namespace project cluster admin fleet.
  • Admin NetworkPolicy Project: Mengelola kebijakan jaringan project di namespace project.
  • Pelihat Project: Memiliki akses hanya baca ke semua resource dalam namespace project.
  • Project VirtualMachine Admin: Mengelola VM di namespace project.
  • Project VirtualMachine Image Admin: Mengelola image VM di namespace project.
  • Admin Secret: Mengelola secret Kubernetes dalam project.
  • Secret Viewer: Melihat secret Kubernetes dalam project.
  • Admin Konfigurasi Layanan: Memiliki akses baca dan tulis ke konfigurasi layanan dalam namespace project.
  • Pelihat Konfigurasi Layanan: Memiliki akses baca ke konfigurasi layanan dalam namespace project.
  • Admin Replikasi Volume: Mengelola resource replikasi volume.
  • Admin Notebook Workbench: Mendapatkan akses baca dan tulis ke semua resource notebook dalam namespace project.
  • Pelihat Notebook Workbench: Mendapatkan akses hanya baca ke semua resource notebook dalam namespace project dan melihat antarmuka pengguna Vertex AI Workbench.
  • Pelihat Workload: Memiliki akses baca ke workload dalam project.

Peran umum

Peran umum standar berikut berlaku untuk semua pengguna terautentikasi:

  • AI Platform Viewer: Memberikan izin untuk melihat layanan terlatih.
  • DNS Suffix Viewer: Mengakses peta konfigurasi akhiran domain name service (DNS).
  • Admin Log Alur: Memiliki akses baca dan tulis ke semua resource Log Alur.
  • Flow Log Viewer: Memiliki akses hanya baca ke semua resource Flow Log.
  • Project Discovery Viewer: Memiliki akses baca untuk semua pengguna yang diautentikasi ke tampilan project.
  • Public Image Viewer: Memiliki akses baca untuk semua pengguna yang diautentikasi pada image VM publik di namespace vm-images.
  • Monitor secret anthos-creds System Artifact Registry: Memiliki akses hanya baca ke secret di namespace anthos-creds.
  • Monitor secret gpc-system Artifact Registry Sistem: Memiliki akses hanya baca ke secret di namespace gpc-system.
  • Monitor secret harbor-system Artifact Registry Sistem: Memiliki akses hanya baca ke secret di namespace harbor-system.
  • Pelihat Jenis Virtual Machine: Memiliki akses baca ke jenis virtual machine cakupan cluster.
  • VM Type Viewer: Memiliki akses baca ke jenis virtual machine yang telah ditentukan sebelumnya di cluster admin.

Definisi peran

Tabel di bagian ini menjelaskan berbagai peran standar dan izinnya. Tabel berisi kolom berikut:

  • Nama: Nama peran yang ditampilkan di antarmuka pengguna (UI).
  • Nama resource Kubernetes: Nama resource kustom Kubernetes yang sesuai.
  • Level: Spesifikasi apakah peran ini dicakup oleh organisasi atau project.
  • Jenis: Jenis peran ini. Misalnya, beberapa kemungkinan nilai adalah Role, ProjectRole, ClusterRole, atau ProjectClusterRole.
  • Jenis binding: Jenis binding yang harus Anda terapkan pada peran ini.
  • Izin server Management API atau cluster Kubernetes: Izin yang dimiliki peran ini untuk server Management API atau cluster Kubernetes. Misalnya, beberapa kemungkinan nilai adalah baca, tulis, baca dan tulis, atau tidak berlaku (T/A).
  • Naikkan ke: Spesifikasi apakah peran ini dinaikkan ke peran lain atau tidak.

Persona AO, identitas bawaan, dan peran akses

Persona AO
Nama Nama resource Kubernetes Admin awal Level Jenis
Project IAM Admin project-iam-admin Benar Project Role
Developer OCR AI ai-ocr-developer Salah Project Role
AI Platform Viewer ai-platform-viewer Salah Project Role
Developer Speech AI ai-speech-developer Salah Project Role
Developer Terjemahan AI ai-translation-developer Salah Project Role
Admin Pengelolaan Artefak artifact-management-admin Salah Project Role
Editor Pengelolaan Artefak artifact-management-editor Salah Project Role
Admin Certificate Authority Service certificate-authority-service-admin Salah Project Role
Certificate Service Admin certificate-service-admin Salah Project Role
Editor Dasbor dashboard-editor Salah Project Role
Pelihat Dasbor dashboard-viewer Salah Project Role
Admin Instance Harbor harbor-instance-admin Salah Project Role
Harbor Instance Viewer harbor-instance-viewer Salah Project Role
Harbor Project Creator harbor-project-creator Salah Project Role
Admin Kebijakan Jaringan K8s k8s-networkpolicy-admin Salah Project ProjectRole
Admin Load Balancer load-balancer-admin Salah Project ProjectRole
LoggingRule Creator loggingrule-creator Salah Project Role
LoggingRule Editor loggingrule-editor Salah Project Role
LoggingRule Viewer loggingrule-viewer Salah Project Role
Pembuat LoggingTarget loggingtarget-creator Salah Project Role
LoggingTarget Editor loggingtarget-editor Salah Project Role
LoggingTarget Viewer loggingtarget-viewer Salah Project Role
MonitoringRule Editor monitoringrule-editor Salah Project Role
MonitoringRule Viewer monitoringrule-viewer Salah Project Role
MonitoringTarget Editor monitoringtarget-editor Salah Project Role
MonitoringTarget Viewer monitoringtarget-viewer Salah Project Role
Admin Namespace namespace-admin Salah Project ProjectRole
NAT Viewer nat-viewer Salah Project ProjectRole
ObservabilityPipeline Editor observabilitypipeline-editor Salah Project Role
ObservabilityPipeline Viewer observabilitypipeline-viewer Salah Project Role
Project Bucket Admin project-bucket-admin Salah Project Role
Project Bucket Object Admin project-bucket-object-admin Salah Project Role
Project Bucket Object Viewer project-bucket-object-viewer Salah Project Role
Project Cortex Alertmanager Editor project-cortex-alertmanager-editor Salah Project Role
Project Cortex Alertmanager Viewer project-cortex-alertmanager-viewer Salah Project Role
Project Cortex Prometheus Viewer project-cortex-prometheus-viewer Salah Project Role
Project Grafana Viewer project-grafana-viewer Salah Project Role
Project NetworkPolicy Admin project-networkpolicy-admin Salah Project Role
Project Viewer project-viewer Salah Project Role
Project VirtualMachine Admin project-vm-admin Salah Project Role
Project VirtualMachine Image Admin project-vm-image-admin Salah Project Role
Admin Secret secret-admin Salah Project Role
Secret Viewer secret-viewer Salah Project Role
Service Configuration Admin service-configuration-admin Salah Project Role
Service Configuration Viewer service-configuration-viewer Salah Project Role
Workbench Notebooks Admin workbench-notebooks-admin Salah Project Role
Admin Replikasi Volume app-volume-replication-admin Salah Cluster Role
Workbench Notebooks Viewer workbench-notebooks-viewer Salah Project Role
Workload Viewer workload-viewer Salah Project Role

Persona AO, identitas bawaan, dan peran akses

Persona AO
Nama Jenis penjilidan Izin server Management API Izin cluster Kubernetes Dieskalasikan ke
Project IAM Admin RoleBinding
  • RoleBinding, ClusterRoleBinding, Role, ClusterRole, ProjectRole, ProjectClusterRole, ProjectRoleBinding, dan ProjectClusterRoleBinding: Membuat, membaca, memperbarui, menghapus, dan mengikat
  • ProjectServiceAccount: Buat, baca, perbarui, dan hapus
  • Mencantumkan namespace project
T/A Semua peran AO lainnya
Developer OCR AI RoleBinding Resource OCR: Baca dan tulis T/A T/A
Developer Speech AI RoleBinding Resource ucapan: Baca dan tulis T/A T/A
Developer Terjemahan AI RoleBinding Resource terjemahan: Baca dan tulis T/A T/A
Admin Pengelolaan Artefak RoleBinding HarborProjects: Admin, buat, baca, tulis, hapus, dan lihat T/A T/A
Editor Pengelolaan Artefak RoleBinding HarborProjects: Membaca, menulis, dan melihat T/A T/A
Admin Certificate Authority Service RoleBinding Otoritas sertifikat dan permintaan sertifikat: Mendapatkan, mencantumkan, memantau, memperbarui, membuat, menghapus, dan menerapkan patch T/A T/A
Certificate Service Admin RoleBinding Sertifikat dan penerbit sertifikat: Mendapatkan, mencantumkan, memantau, memperbarui, membuat, menghapus, dan menerapkan patch T/A T/A
Editor Dasbor RoleBinding Resource kustom Dashboard: Mendapatkan, membaca, membuat, memperbarui, menghapus, dan menerapkan patch T/A T/A
Pelihat Dasbor RoleBinding Dashboard: Mendapatkan dan membaca T/A T/A
Admin Instance Harbor RoleBinding Instance Harbor: Membuat, membaca, mengupdate, menghapus, dan menambal T/A T/A
Harbor Instance Viewer RoleBinding Instance Harbor: Baca T/A T/A
Harbor Project Creator RoleBinding Project instance Harbor: Membuat, mendapatkan, dan memantau T/A T/A
Admin NetworkPolicy K8s ProjectRoleBinding T/A Resource NetworkPolicy: Membuat, membaca, mendapatkan, memperbarui, menghapus, dan menerapkan patch T/A
Admin Load Balancer RoleBinding T/A
  • Backend: Mendapatkan, menonton, mencantumkan, membuat, menerapkan patch, memperbarui, dan menghapus
  • HealthCheck: Mendapatkan, menonton, mencantumkan, membuat, menerapkan patch, memperbarui, dan menghapus
  • BackendService: Mendapatkan, menonton, mencantumkan, membuat, menerapkan patch, memperbarui, dan menghapus
  • ForwardingRuleExternal: Mendapatkan, menonton, mencantumkan, membuat, menerapkan patch, memperbarui, dan menghapus
  • ForwardingRuleInternal: Mendapatkan, menonton, mencantumkan, membuat, menerapkan patch, memperbarui, dan menghapus
T/A
LoggingRule Creator RoleBinding LoggingRule resource kustom: Membuat, membaca, mengupdate, menghapus, dan menambal T/A T/A
LoggingRule Editor RoleBinding LoggingRule resource kustom: Membuat, membaca, mengupdate, menghapus, dan menambal T/A T/A
LoggingRule Viewer RoleBinding Resource kustom LoggingRule: Baca T/A T/A
Pembuat LoggingTarget RoleBinding LoggingTarget resource kustom: Membuat, membaca, mengupdate, menghapus, dan menambal T/A T/A
LoggingTarget Editor RoleBinding LoggingTarget resource kustom: Membuat, membaca, mengupdate, menghapus, dan menambal T/A T/A
LoggingTarget Viewer RoleBinding Resource kustom LoggingTarget: Baca T/A T/A
MonitoringRule Editor RoleBinding MonitoringRule resource kustom: Membuat, membaca, mengupdate, menghapus, dan menambal T/A T/A
MonitoringRule Viewer RoleBinding Resource kustom MonitoringRule: Baca T/A T/A
MonitoringTarget Editor RoleBinding MonitoringTarget resource kustom: Membuat, membaca, mengupdate, menghapus, dan menambal T/A T/A
MonitoringTarget Viewer RoleBinding Resource kustom MonitoringTarget: Baca T/A T/A
Admin Namespace ProjectRoleBinding T/A Semua resource: Akses baca dan tulis dalam namespace project T/A
NAT Viewer ProjectRoleBinding T/A Deployment: Mendapatkan dan membaca T/A
ObservabilityPipeline Editor RoleBinding Resource ObservabilityPipeline: Mendapatkan, membaca, membuat, memperbarui, menghapus, dan menerapkan patch T/A T/A
ObservabilityPipeline Viewer RoleBinding Resource ObservabilityPipeline: Mendapatkan dan membaca T/A T/A
Project Bucket Admin RoleBinding Bucket: Membaca dan menulis di namespace project T/A T/A
Project Bucket Object Admin RoleBinding
  • Bucket: Baca
  • Objek: Baca dan tulis
T/A T/A
Project Bucket Object Viewer RoleBinding Bucket dan objek: Baca T/A T/A
Project Cortex Alertmanager Editor RoleBinding Sistem Cortex dan Cortex Alertmanager: Baca dan tulis T/A T/A
Project Cortex Alertmanager Viewer RoleBinding Sistem Cortex dan Cortex Alertmanager: Baca T/A T/A
Project Cortex Prometheus Viewer RoleBinding Sistem Cortex dan Cortex Prometheus: Baca T/A T/A
Project Grafana Viewer RoleBinding Sistem Grafana dan Grafana: Baca dan tulis T/A T/A
Project NetworkPolicy Admin RoleBinding Kebijakan jaringan project: Membaca dan menulis di namespace project T/A T/A
Project Viewer RoleBinding Semua resource di namespace project: Baca T/A T/A
Project VirtualMachine Admin RoleBinding
  • Mesin virtual, disk, permintaan akses, akses eksternal, permintaan pencadangan, cadangan, permintaan pemulihan, permintaan penghapusan cadangan, pemulihan, dan permintaan reset sandi: Baca, buat, perbarui, dan hapus
  • Mulai ulang virtual machine: Letakkan
  • Image mesin virtual, rencana cadangan, dan template rencana cadangan: Baca
T/A T/A
Project VirtualMachine Image Admin RoleBinding
  • Image VM: Baca
  • Impor image VM: Baca dan tulis
T/A T/A
Admin Secret RoleBinding Secret Kubernetes: Membaca, membuat, memperbarui, menghapus, dan menambal T/A T/A
Secret Viewer RoleBinding Secret Kubernetes: Baca T/A T/A
Service Configuration Admin RoleBinding ServiceConfigurations: Baca dan tulis T/A T/A
Service Configuration Viewer RoleBinding ServiceConfigurations: Dibaca T/A T/A
Admin Replikasi Volume ClusterRoleBinding Volume failovers, volume relationship replicas: Buat, dapatkan, cantumkan, tonton, hapus T/A T/A
Workbench Notebooks Admin RoleBinding T/A
  • Resource kustom (CR) Notebook di namespace project: Membuat, membaca, mengupdate, dan menghapus
  • Objek ClusterInfo: Baca
T/A
Workbench Notebooks Viewer RoleBinding T/A
  • Resource kustom (CR) notebook di namespace project: Baca
T/A
Workload Viewer ProjectRoleBinding T/A
  • Resource kustom Pod di namespace project: Baca
  • Resource kustom deployment di namespace project: Baca
T/A

Peran akses dan identitas bawaan umum

Peran umum
Nama Nama resource Kubernetes Admin awal Level Jenis
AI Platform Viewer ai-platform-viewer Salah Project Role
DNS Suffix Viewer dnssuffix-viewer Salah Organisasi Role
Admin Log Aliran flowlog-admin Salah Organisasi ClusterRole
Flow Log Viewer flowlog-viewer Salah Project ClusterRole
Project Discovery Viewer projectdiscovery-viewer Salah Project ClusterRole
Penampil Gambar Publik public-image-viewer Salah Organisasi Role
Monitor rahasia anthos-creds Artifact Registry Sistem sar-anthos-creds-secret-monitor Salah Organisasi Role
Monitor rahasia gpc-system Artifact Registry Sistem sar-gpc-system-secret-monitor Salah Organisasi Role
Monitor secret harbor-system Artifact Registry Sistem sar-harbor-system-secret-monitor Salah Organisasi Role
Penampil Jenis Virtual Machine virtualmachinetype-viewer Salah Organisasi OrganizationRole
VM Type Viewer vmtype-viewer Salah Organisasi Role

Peran akses dan identitas bawaan umum

Peran umum
Nama Jenis penjilidan Izin cluster admin Izin cluster Kubernetes Dieskalasikan ke
AI Platform Viewer RoleBinding Layanan terlatih: Baca T/A T/A
DNS Suffix Viewer ClusterRoleBinding Peta konfigurasi akhiran DNS: Baca T/A T/A
Admin Log Aliran ClusterRoleBinding Resource log alur: Mendapatkan dan membaca Resource log alur: Mendapatkan dan membaca T/A
Flow Log Viewer ClusterRoleBinding Resource log alur: Membuat, mendapatkan, membaca, menerapkan patch, memperbarui, dan menghapus Resource log alur: Membuat, mendapatkan, membaca, menerapkan patch, memperbarui, dan menghapus T/A
Project Discovery Viewer ClusterRoleBinding Projects: Baca T/A T/A
Penampil Gambar Publik RoleBinding Image VM: Baca T/A T/A
Monitor rahasia anthos-creds Artifact Registry Sistem RoleBinding Rahasia anthos-creds: Mendapatkan dan membaca Rahasia anthos-creds: Mendapatkan dan membaca T/A
Monitor rahasia gpc-system Artifact Registry Sistem RoleBinding Rahasia gpc-system: Mendapatkan dan membaca Rahasia gpc-system: Mendapatkan dan membaca T/A
Monitor secret harbor-system Artifact Registry Sistem RoleBinding Rahasia harbor-system: Mendapatkan dan membaca Rahasia harbor-system: Mendapatkan dan membaca T/A
Penampil Jenis Virtual Machine OrganizationRoleBinding T/A Jenis VM: Baca T/A
VM Type Viewer ClusterRoleBinding Jenis VM: Baca T/A T/A

Ada dua cara untuk memberikan akses ke resource:

Menyiapkan binding peran menggunakan CLI

Akses AO di cluster admin

Tidak seperti Operator Infrastruktur (IO) dan Administrator Platform (PA), GDC mengikat Operator Aplikasi (AO) ke Project melalui RoleBinding, bukan ClusterRoleBinding.

Untuk memberikan akses AO ke cluster admin, selesaikan langkah-langkah berikut:

  1. Ekspor email yang Anda gunakan untuk akses AO. Misalnya, email seperti ao-alice@example.com.

    export AO_EMAIL=AO_EMAIL
    
  2. Buat binding peran untuk memberikan akses ${AO_EMAIL}Admin IAM Project di namespace iam-test:

    kubectl create --kubeconfig PA_KUBECONFIG \
    rolebinding $AO_EMAIL-project-iam-admin \
    --role=project-iam-admin --user=$AO_EMAIL \
    --namespace=iam-test
    

    Peran project-iam-admin adalah peran bawaan untuk GDC. Namespace Kubernetes iam-test sesuai dengan project iam-test di cluster admin.

  3. Pastikan akun AO memiliki izin untuk membuat binding peran di namespace iam-test:

    kubectl --kubeconfig AO_KUBECONFIG auth can-i create rolebinding -n iam-test
    

    Anda akan melihat output berikut:

    yes
    
  4. Buat binding peran untuk memberikan akses Project Viewer ${AO_EMAIL} di namespace bar:

    kubectl create --kubeconfig PA_KUBECONFIG \
    rolebinding $AO_EMAIL-project-viewer \
    --role=project-viewer --user=$AO_EMAIL \
    --namespace=bar
    

    Peran project-viewer adalah peran preset untuk GDC. Namespace Kubernetes bar sesuai dengan project bar di cluster admin org.

  5. Pastikan akun AO tidak memiliki izin untuk membuat pengikatan peran di namespace bar:

    kubectl --kubeconfig AO_KUBECONFIG auth can-i create rolebinding -n bar
    

    Anda akan melihat output berikut:

    no
    
  6. Opsional: Hapus binding peran untuk mencabut izin yang diberikan ke akun AO:

    kubectl --kubeconfig PA_KUBECONFIG delete rolebinding $AO_EMAIL-project-iam-admin -n iam-test
    

Akses AO di cluster pengguna

AO menggunakan resource ProjectRole dan ProjectRoleBinding untuk mendapatkan akses namespace ke cluster pengguna. Namun, PA dapat memberikan izin di seluruh organisasi kepada AO dalam cluster pengguna menggunakan resource OrganizationRole dan ProjectRoleBinding preset.

Selesaikan langkah-langkah berikut untuk memberi AO akses ke cluster pengguna:

Untuk memberikan akses ke cluster pengguna, Anda harus memiliki peran Project IAM Admin.

  1. Buat resource ProjectRoleBinding untuk memberikan akses Admin Namespace ${AO_EMAIL} di semua cluster pengguna dalam namespace iam-test:

    kubectl --kubeconfig AO_KUBECONFIG apply -f - <<EOF
    apiVersion: resourcemanager.gdc.goog/v1
    kind: ProjectRoleBinding
    metadata:
      name: ${AO_EMAIL%@*}-namespace-admin
      namespace: iam-test
    spec:
      roleRef:
        apiGroup: resourcemanager.gdc.goog
        kind: ProjectRole
        name: namespace-admin
      subjects:
      - apiGroup: rbac.authorization.k8s.io
        kind: User
        name: ${AO_EMAIL}
    EOF
    
  2. Ikuti petunjuk di bagian Login dengan CLI dan kubectl untuk mendapatkan kredensial pengguna bagi cluster pengguna, dan ekspor kredensial tersebut dalam variabel AO_USER_CLUSTER_KUBECONFIG:

    export AO_USER_CLUSTER_KUBECONFIG=GENERATED_KUBECONFIG
    
  3. Pastikan akun AO memiliki izin untuk membuat deployment di namespace iam-test:

    kubectl --kubeconfig ${AO_USER_CLUSTER_KUBECONFIG} auth can-i create deployment -n iam-test
    

    Anda akan melihat output berikut:

    yes
    
  4. Opsional: Hapus binding peran project untuk mencabut izin yang diberikan ke akun AO pengujian:

    kubectl --kubeconfig ${AO_USER_CLUSTER_KUBECONFIG} delete projectrolebinding ${AO_EMAIL%@*}-namespace-admin -n iam-test
    

Menyiapkan binding peran di seluruh project menggunakan UI

Operator Aplikasi menambahkan Operator Aplikasi lain ke project sehingga mereka memiliki akses ke resource project.

Untuk mendapatkan izin yang Anda perlukan untuk menyiapkan binding peran, minta Admin IAM Project Anda untuk memberi Anda peran Admin IAM Project.

Lakukan langkah-langkah berikut untuk menyiapkan binding peran:

  1. Login ke konsol appliance GDC dengan air gap.
  2. Pilih project.
  3. Di menu navigasi, klik Pengelolaan Akses.
  4. Klik Tambahkan anggota.
  5. Di daftar Identity provider, pilih penyedia identitas.
  6. Pilih apakah Anda ingin menambahkan pengguna atau grup satu per satu.
  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 untuk pengguna atau grup, seperti Project Viewer.
  9. Klik Tambahkan.

Menghapus binding peran menggunakan UI

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

Ikuti langkah-langkah berikut untuk menghapus anggota:

  1. Login ke konsol appliance GDC dengan air gap.
  2. Pilih project.
  3. Di menu navigasi, klik Pengelolaan Akses.
  4. Dalam daftar Anggota yang diberi otorisasi, pilih anggota.
  5. Klik Hapus anggota.
  6. Saat diminta, klik Hapus anggota untuk mengonfirmasi.