Menerapkan akses berbasis sertifikat untuk grup pengguna

Halaman ini menjelaskan cara menerapkan akses berbasis sertifikat (CBA) menggunakan kebijakan Akses Kontekstual yang didasarkan pada grup pengguna.

Anda dapat membatasi akses ke semua Cloud de Confiance by S3NS layanan dengan mengikat tingkat akses CBA ke grup pengguna. Pembatasan ini berlaku untuk semua aplikasi klien yang memanggil Cloud de Confiance API.

Secara opsional, Anda dapat menerapkan pembatasan ke aplikasi klien tertentu atau mengecualikan aplikasi tertentu. Aplikasi ini mencakup aplikasi pihak ketiga dan aplikasi pihak pertama yang dibuat oleh Google, seperti Cloud Console untuk Cloud de Confiance konsol dan Google Cloud SDK untuk Google Cloud CLI.

Sebelum memulai

Buat tingkat akses CBA yang memerlukan sertifikat saat menentukan akses ke resource.

Membuat grup pengguna

Buat grup pengguna yang berisi anggota yang harus diberi akses berdasarkan tingkat akses CBA.

Menetapkan peran Cloud Access Binding Admin

Tetapkan peran Cloud Access Binding Admin ke grup pengguna.

Anda harus memiliki hak istimewa yang memadai untuk menambahkan izin IAM di tingkat organisasi. Anda memerlukan setidaknya peran Admin Organisasi dan Cloud Access Binding Admin.

Konsol

  1. Di konsol, buka IAM.

    Buka IAM

  2. Di tab Permissions, klik Grant access, lalu konfigurasi hal berikut:

    1. New principals: Tentukan grup yang ingin Anda beri peran.
    2. Untuk opsi Select a role, pilih Access Context Manager > Cloud Access Binding Admin.
    3. Klik Save.

gcloud

  1. Login:

    gcloud auth login
    
  2. Tetapkan peran GcpAccessAdmin dengan menjalankan perintah berikut:

    gcloud organizations add-iam-policy-binding ORG_ID \
      --member=user:EMAIL \
      --role=roles/accesscontextmanager.gcpAccessAdmin
    
    • ORG_ID adalah ID untuk organisasi Anda. Jika belum memiliki ID organisasi, Anda dapat menggunakan perintah berikut untuk menemukannya:

       gcloud organizations list
      
    • EMAIL adalah alamat email orang atau grup yang ingin Anda beri peran.

Mengikat tingkat akses CBA ke grup pengguna

Dalam opsi binding ini, tingkat akses CBA berlaku untuk semua aplikasi klien untuk grup pengguna yang Anda tentukan.

  1. Di konsol, buka halaman Kebijakan Akses Konsol &API:

    Buka Kebijakan Akses Konsol &API

  2. Pilih organisasi, lalu klik Select.

  3. Klik Manage access untuk memilih grup pengguna yang harus memiliki akses.

  4. Klik Add, lalu konfigurasi hal berikut:

    1. Member groups: Tentukan grup yang ingin Anda beri akses. Anda hanya dapat memilih grup yang belum terikat ke tingkat akses.
    2. Select access levels: Pilih tingkat akses CBA yang akan diterapkan ke grup.
    3. Klik Save.

Mengikat tingkat akses CBA ke grup pengguna dan aplikasi tertentu

Dalam beberapa kasus penggunaan, seperti aplikasi yang mendukung sertifikat klien, mengikat tingkat akses CBA ke grup pengguna mungkin terlalu luas. Anda dapat menggunakan opsi ini untuk menerapkan tingkat akses CBA ke aplikasi yang mendukung sertifikat klien.

Contoh berikut mengikat tingkat akses CBA ke Cloud de Confiance konsol, gcloud CLI, dan aplikasi OAuth pengguna.

  1. Login ke gcloud CLI.

    gcloud auth application-default login
    
  2. Buat file policy_file.yaml.

    Anda dapat menentukan aplikasi menggunakan client ID OAuth-nya. Untuk menentukan aplikasi Google, gunakan nama aplikasi, seperti Cloud Console untuk Cloud de Confiance konsol. Hanya aplikasi Google Cloud de Confiance konsol dan Google Cloud SDK yang didukung.

    scopedAccessSettings:
    - scope:
        clientScope:
          restrictedClientApplication:
            name: Cloud Console
      activeSettings:
        accessLevels:
        - CBA_ACCESS_LEVEL
    - scope:
        clientScope:
          restrictedClientApplication:
            name: Google Cloud SDK
      activeSettings:
        accessLevels:
        - CBA_ACCESS_LEVEL
    - scope:
        clientScope:
          restrictedClientApplication:
            clientId: CLIENT_ID_1
      activeSettings:
        accessLevels:
        - CBA_ACCESS_LEVEL
    

    Ganti kode berikut:

    • CLIENT_ID_1: client ID OAuth.
    • CBA_ACCESS_LEVEL: nama tingkat akses CBA dalam format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME.
  3. Buat binding tingkat akses CBA.

    gcloud access-context-manager cloud-bindings create \
       --group-key='GROUP_KEY' \
       --organization='ORG_ID' \
       --binding-file=policy_file.yaml
    

    Ganti kode berikut:

    • GROUP_KEY: ID grup unik
    • ORG_ID: ID organisasi

    gcloud

    Anda dapat menggunakan ID grup unik sebagai GROUP_KEY. Untuk mendapatkan ID grup unik, gunakan perintah berikut:

    gcloud identity groups describe EMAIL
    

    Ganti EMAIL dengan alamat email grup Anda. ID grup unik adalah nilai yang ditampilkan setelah / dalam nama grup. Misalnya, ID grup unik dalam groups/01gf8i8311xalqg adalah 01gf8i8311xalqg.

    REST

    Anda dapat menggunakan ID grup unik sebagai GROUP_KEY. Untuk mendapatkan ID grup unik menggunakan REST API, Anda dapat mengambilnya dengan memanggil metode pada resource grup.get ID grup unik ditampilkan di kolom id resource grup.

  4. Opsional: Perbarui binding tingkat akses yang ada.

    gcloud access-context-manager cloud-bindings update \
       --binding='BINDING_NAME' \
       --binding-file=policy_file.yaml
    

    Ganti BINDING_NAME dengan nama binding yang otomatis dibuat saat binding dibuat.

Mengecualikan aplikasi dari binding

Cara lain untuk menerapkan tingkat akses CBA tanpa memblokir aplikasi klien yang tidak mendukung sertifikat klien adalah dengan mengecualikan aplikasi tersebut dari kebijakan.

Langkah-langkah berikut mengasumsikan bahwa Anda sebelumnya telah membuat tingkat akses CBA yang memerlukan sertifikat saat menentukan akses ke resource.

  1. Buat tingkat akses pengecualian menggunakan salah satu metode berikut.

  2. Buat file exemption_file.yaml.

    scopedAccessSettings:
    - scope:
        clientScope:
          restrictedClientApplication:
            clientId: CLIENT_ID_2
      activeSettings:
        accessLevels:
        - EXEMPT_ACCESS_LEVEL
    - scope:
        clientScope:
          restrictedClientApplication:
            name: APPLICATION_NAME_2
      activeSettings:
        accessLevels:
        - EXEMPT_ACCESS_LEVEL
    

    Ganti kode berikut:

    • CLIENT_ID_2: client ID OAuth
    • APPLICATION_NAME_2: nama aplikasi
    • EXEMPT_ACCESS_LEVEL: nama tingkat akses pengecualian dalam format accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME.
  3. Buat kebijakan binding pengecualian.

    gcloud access-context-manager cloud-bindings create \
       --group-key='GROUP_KEY' \
       --organization='ORG_ID' \
       --binding-file=exemption_file.yaml
    

    Ganti kode berikut:

    • GROUP_KEY: ID grup unik
    • ORG_ID: ID organisasi