Membuat tingkat akses dasar

Halaman ini menjelaskan secara umum cara membuat tingkat akses dasar. Untuk membuat tingkat akses kustom dan menggunakan Mode Lanjutan di konsol Google Cloud , lihat Membuat tingkat akses kustom.

Halaman ini mencakup penerapan tingkat akses yang lebih terfokus. Lihat contoh berikut:

Sebelum memulai

Membuat tingkat akses dasar

Konsol

Untuk membuat tingkat akses dasar:

  1. Buka halaman Access Context Manager di konsol Google Cloud .

    Buka halaman Access Context Manager

  2. Jika diminta, pilih organisasi Anda.

  3. Di bagian atas halaman Access Context Manager, klik New.

  4. Di panel New Access Level:

    1. Di kolom Access level title, masukkan judul untuk tingkat akses. Judul harus berisi maksimal 50 karakter, diawali dengan huruf, dan hanya boleh berisi angka, huruf, garis bawah, dan spasi.

    2. Di bagian Conditions, klik tombol add untuk jenis atribut yang ingin Anda tambahkan, lalu berikan nilai yang ingin diterapkan ke atribut tersebut.

      Untuk mengetahui daftar lengkap atribut yang dapat Anda tambahkan, baca tentang atribut tingkat akses.

      Misalnya, jika Anda ingin tingkat akses mempertimbangkan asal permintaan dalam jaringan, pilih atribut IP Subnetworks.

      Ulangi langkah ini untuk menambahkan beberapa atribut ke kondisi yang sama. Jika suatu kondisi memiliki beberapa atribut, semua atribut harus dipenuhi oleh permintaan akses.

      Kondisi tingkat akses dapat mencakup salah satu dari setiap jenis atribut. Beberapa atribut menyertakan opsi tambahan, seperti atribut Kebijakan Perangkat.

      Tingkat akses mendukung kondisi berdasarkan identitas pengguna. Namun, untuk menambahkan identitas ke kondisi, Anda harus membuat atau memperbarui tingkat akses menggunakan gcloud CLI atau API.

    3. Gunakan opsi When condition is met, return untuk menentukan apakah kondisi dievaluasi sebagai operasi AND yang memerlukan permintaan untuk memenuhi semua atribut yang ditentukan (TRUE), atau sebagai operasi yang dinegasikan (NAND) yang terpenuhi saat permintaan tidak memenuhi setidaknya satu atribut yang ditentukan (FALSE).

      Misalnya, jika Anda ingin menolak permintaan dari rentang alamat IP tertentu di jaringan Anda, tentukan rentang alamat IP menggunakan atribut IP Subnetworks, lalu tetapkan kondisi ke FALSE.

    4. Atau, klik Add another condition untuk menambahkan kondisi tambahan ke tingkat akses Anda, lalu ulangi dua langkah sebelumnya.

      Misalnya, jika Anda ingin menolak akses ke subset alamat IP dalam rentang alamat IP yang lebih luas, buat kondisi baru, tentukan rentang alamat IP subset untuk atribut IP Subnetworks, dan tetapkan kondisi untuk menampilkan FALSE.

      Ulangi langkah ini untuk menambahkan beberapa kondisi ke tingkat akses yang sama.

    5. Jika Anda membuat lebih dari satu kondisi, gunakan Gabungkan kondisi dengan untuk menentukan apakah Anda ingin tingkat akses mewajibkan permintaan untuk memenuhi setidaknya salah satu kondisi (OR), atau semua kondisi (AND).

    6. Klik Simpan.

gcloud

Sebelum memulai

Untuk membuat tingkat akses menggunakan alat command line gcloud, gunakan perintah gcloud access-context-manager levels create.

gcloud access-context-manager levels create LEVEL_NAME OPTIONS \
    --policy=POLICY

Dengan:

  • LEVEL_NAME adalah nama unik untuk tingkat akses. Nama ini harus diawali dengan huruf dan hanya menyertakan huruf, angka, serta garis bawah. Nama dapat berisi maksimal 50 karakter.

  • OPTIONS adalah opsi yang diperlukan dari tabel berikut.

    Opsi
    basic-level-spec

    File YAML yang menentukan satu atau beberapa kondisi untuk tingkat akses.

    title

    Judul singkat untuk tingkat akses. Judul tingkat akses ditampilkan di konsol Google Cloud .

    combine-function

    (Opsional) Menentukan cara penggabungan kondisi.

    Nilai yang valid: AND, OR

    description

    (Opsional) Deskripsi panjang tingkat akses.

  • POLICY adalah ID kebijakan akses organisasi Anda. Jika Anda telah menetapkan kebijakan default, parameter ini bersifat opsional.

Secara opsional, Anda dapat menyertakan salah satu flag gcloud-wide.

File YAML basic-level-spec

Saat menggunakan alat command line gcloud untuk membuat tingkat akses, Anda harus menyediakan file YAML untuk opsi basic-level-spec. File YAML menentukan satu atau beberapa kondisi untuk tingkat akses. Kondisi harus berisi minimal satu atribut. Jika suatu kondisi berisi lebih dari satu atribut, atribut tersebut digabungkan sebagai operasi AND (semua harus benar) atau sebagai operasi NAND (setidaknya satu harus salah), bergantung pada apakah atribut negate ditetapkan ke benar dalam kondisi tersebut.

Untuk mengetahui daftar lengkap atribut yang dapat Anda sertakan dalam file YAML, baca tentang atribut tingkat akses.

Untuk mengetahui informasi selengkapnya tentang tingkat akses dan YAML, lihat contoh YAML untuk tingkat akses.

Contoh perintah

gcloud access-context-manager levels create Device_Trust \
    --basic-level-spec=corpdevspec.yaml \
    --combine-function=AND \
    --description='Access level that conforms to corporate spec.' \
    --title='Device_Trust Extended' \
    --policy=1521580097614100

API

Sebelum memulai

Untuk membuat tingkat akses, panggil accessLevels.create.

POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels

Dengan:

  • POLICY adalah ID kebijakan akses organisasi Anda.

Isi permintaan

Isi permintaan harus menyertakan resource AccessLevel yang menentukan kondisi yang Anda inginkan untuk tingkat akses baru. Setiap Condition memiliki satu atau beberapa atribut yang dievaluasi sebagai operasi AND (semua harus benar) atau sebagai operasi NAND (setidaknya satu harus salah) bergantung pada apakah kolom negate ditetapkan ke benar (true). Evaluasi yang dihasilkan menentukan apakah kondisi terpenuhi atau tidak.

Isi respons

Jika berhasil, isi respons untuk panggilan berisi resource Operation yang memberikan detail tentang operasi POST.

Contoh penerapan

Contoh berikut membahas beberapa cara praktis yang mungkin ingin diterapkan organisasi Anda untuk tingkat akses. Contoh ini mengasumsikan bahwa organisasi Anda sudah memiliki kebijakan akses.

Membatasi akses di jaringan perusahaan

Contoh ini menjelaskan cara membuat kondisi tingkat akses yang hanya mengizinkan akses dari rentang alamat IP tertentu (misalnya, yang berada dalam jaringan perusahaan).

Dengan membatasi rentang alamat IP yang diberi akses, Anda dapat mempersulit penyerang yang berada di dalam atau di luar organisasi Anda untuk mengeksfiltrasi data.

Untuk contoh ini, asumsikan Anda ingin membuat tingkat akses yang akan mengizinkan grup auditor internal mengakses layanan Cloud Logging untuk project bernama sensitive-data. Semua perangkat untuk auditor diberi IP pada subnet yang berkisar antara 203.0.113.0 dan 203.0.113.127. Anda tahu bahwa tidak akan ada perangkat yang ditetapkan ke subnet tersebut selain yang digunakan oleh auditor.

Jika Anda ingin menggunakan rentang alamat IP pribadi (misalnya, 192.168.0.0/16 atau 172.16.0.0/12), lihat Mengizinkan akses ke resource yang dilindungi dari alamat IP internal untuk mengetahui informasi tambahan dan contoh implementasi menggunakan Kontrol Layanan VPC.

Konsol

  1. Buka halaman Access Context Manager di konsol Google Cloud .

    Buka halaman Access Context Manager

  2. Jika diminta, pilih organisasi Anda.

  3. Di bagian atas halaman Access Context Manager, klik New.

  4. Di panel Tingkat Akses Baru, di bagian Conditions, klik Add attribute, lalu klik IP Subnetworks.

  5. Di kotak IP Subnetworks, pilih Public IP atau Private IP.

    • Jika Anda memilih Public IP, masukkan satu atau beberapa rentang IPv4 atau IPv6 yang diformat sebagai blok CIDR.

      Dalam contoh ini, untuk membatasi akses hanya kepada auditor, masukkan 203.0.113.0/25 di kotak IP Subnetworks.

    • Jika Anda memilih Private IP, klik Pilih jaringan VPC. Anda dapat menentukan jaringan VPC menggunakan salah satu dari tiga opsi yang tersedia dalam daftar Import options.

      • Opsi 1:

        1. Pilih Browse for VPC networks in your organization, lalu pilih jaringan VPC.

        2. Klik Tambahkan jaringan VPC yang dipilih.

        3. Klik Select IP subnets dan pilih subnet.

        4. Klik Tambahkan subnet IP.

      • Opsi 2:

        1. Pilih Manually enter VPC network address dan masukkan satu atau beberapa jaringan VPC.

        2. Klik Tambahkan jaringan VPC.

        3. Klik Select IP subnets dan pilih subnet.

        4. Klik Tambahkan subnet IP.

      • Opsi 3:

        1. Pilih Upload file CSV (menimpa jaringan yang ada).

          Jika Anda menggunakan file CSV untuk menambahkan jaringan dan subnet VPC ke tingkat akses, Access Context Manager akan menimpa jaringan dan subnet VPC yang dipilih sebelumnya.

        2. Klik Browse, lalu upload file CSV. Dalam file CSV, Anda harus menentukan jaringan VPC dan subnet dalam format berikut:

          VPC_NETWORK_NAME_1       | IP_RANGE_1       | IP_RANGE_2       | ...
          VPC_NETWORK_NAME_2       | .                | .                | ...
          .                        | .                | .                | ...
          .                        | .                | .                | ...
          
        3. Klik Impor jaringan.

          Dengan menggunakan file CSV, Access Context Manager mengisi nama jaringan VPC dan informasi subnet di kotak VPC network address dan IP subnetworks.

      Untuk mengetahui informasi tentang nama jaringan VPC dan format alamat IP pribadi, lihat Menggunakan alamat IP internal di tingkat akses.

  6. Klik Simpan.

gcloud

  1. Buat file YAML untuk tingkat akses yang menyertakan satu atau beberapa rentang IPv4 atau IPv6 yang diformat sebagai blok CIDR.

    Dalam contoh ini, untuk membatasi akses hanya kepada auditor, Anda akan memasukkan hal berikut ke dalam file YAML:

    - ipSubnetworks:
      - 203.0.113.0/25
    

    Jika ingin menggunakan alamat IP pribadi, Anda harus memasukkan informasi berikut dalam file YAML:

    - vpcNetworkSources:
      - vpcSubnetwork:
          network: VPC_NETWORK_NAME
          vpcIpSubnetworks:
          - IP_RANGE
    

    Ganti VPC_NETWORK_NAME dan IP_RANGE dengan nilai yang dijelaskan di bagian Menggunakan alamat IP internal di tingkat akses.

  2. Simpan file. Dalam contoh ini, file diberi nama CONDITIONS.yaml.

  3. Buat tingkat akses.

    gcloud access-context-manager levels create NAME \
       --title TITLE \
       --basic-level-spec CONDITIONS.yaml \
       --policy=POLICY

    Dengan:

    • NAME adalah nama unik untuk tingkat akses. Nama ini harus diawali dengan huruf dan hanya menyertakan huruf, angka, serta garis bawah.

    • TITLE adalah judul yang dapat dibaca manusia. Nama ini harus unik untuk kebijakan.

    • POLICY adalah ID kebijakan akses organisasi Anda. Jika Anda telah menetapkan kebijakan default, parameter ini bersifat opsional.

    Anda akan melihat output yang mirip dengan:

    Create request issued for: NAME
    Waiting for operation [accessPolicies/POLICY/accessLevels/NAME/create/1521594488380943] to complete...done.
    Created level NAME.
    

API

  1. Buat isi permintaan untuk membuat resource AccessLevel yang menyertakan satu atau beberapa rentang IPv4 atau IPv6 yang diformat sebagai blok CIDR.

    Dalam contoh ini, untuk membatasi akses hanya kepada auditor, Anda harus memasukkan hal berikut ke dalam isi permintaan:

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
           "ipSubnetworks": [
             "203.0.113.0/25"
           ]
         }
       ]
     }
    }

    Dengan:

    • NAME adalah nama unik untuk tingkat akses. Nama ini harus diawali dengan huruf dan hanya menyertakan huruf, angka, serta garis bawah.

    • TITLE adalah judul yang dapat dibaca manusia. Nama ini harus unik untuk kebijakan.

    Jika ingin menggunakan alamat IP pribadi, Anda harus memasukkan informasi berikut dalam isi permintaan:

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
           "vpcNetworkSources": [
            {
              "vpcSubnetwork": {
                "network": VPC_NETWORK_NAME,
                "vpcIpSubnetworks": [
                  IP_RANGE
                ]
              }
            }
           ]
         }
       ]
     }
    }

    Ganti VPC_NETWORK_NAME dan IP_RANGE dengan nilai yang dijelaskan di bagian Menggunakan alamat IP internal di tingkat akses.

  2. Buat tingkat akses dengan memanggil accessLevels.create.

    POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels
    

    Dengan:

    • POLICY adalah ID kebijakan akses organisasi Anda.

Membatasi akses berdasarkan atribut perangkat

Contoh ini menjelaskan cara membuat tingkat akses yang hanya memberikan akses ke perangkat, yang memenuhi serangkaian persyaratan tertentu, seperti versi sistem operasi (OS) tertentu.

Informasi tentang perangkat diberikan ke Access Context Manager menggunakan Verifikasi Endpoint. Kriteria berikut dapat diperiksa saat menentukan apakah akan memberikan akses:

  • Kunci layar diaktifkan
  • Enkripsi penyimpanan diaktifkan
  • Perangkat menjalankan jenis dan versi sistem operasi yang ditentukan

Untuk contoh ini, asumsikan organisasi Anda hanya menggunakan mesin yang telah menginstal ChromeOS atau Windows. Untuk menambahkan lapisan keamanan, Anda ingin membuat tingkat akses yang akan mencegah akses oleh siapa pun yang menggunakan sistem operasi lain. Selain itu, untuk mengelola risiko, Anda ingin memastikan bahwa hanya versi OS tertentu yang dapat memperoleh akses.

Konsol

  1. Buka halaman Access Context Manager di konsol Google Cloud .

    Buka halaman Access Context Manager

  2. Jika diminta, pilih organisasi Anda.

  3. Di bagian atas halaman Access Context Manager, klik New.

  4. Di panel Tingkat Akses Baru, di bagian Conditions, klik Add attribute, lalu klik Kebijakan Perangkat.

  5. Tambahkan atribut kebijakan perangkat:

    1. Klik Add OS Policy, lalu klik Chrome OS Policy.

    2. Di kotak Versi minimum, masukkan versi minimum ChromeOS yang ingin Anda izinkan.

    3. Ulangi langkah 1 dan 2 untuk Windows OS Policy.

  6. Klik Simpan.

gcloud

  1. Buat file YAML untuk tingkat akses yang menyertakan kebijakan perangkat dengan batasan OS.

    Dalam contoh ini, untuk hanya mengizinkan perangkat dengan versi minimum Chrome OS dan Windows yang dapat diterima, Anda harus memasukkan kode berikut ke dalam file YAML:

    - devicePolicy:
        osConstraints:
          - osType: DESKTOP_CHROME_OS
            minimumVersion: 11316.165.0
          - osType: DESKTOP_WINDOWS
            minimumVersion: 10.0.1809
    
  2. Simpan file. Dalam contoh ini, file diberi nama CONDITIONS.yaml.

  3. Buat tingkat akses.

    gcloud access-context-manager levels create NAME \
       --title TITLE \
       --basic-level-spec CONDITIONS.yaml \
       --policy=POLICY

    Dengan:

    • NAME adalah nama unik untuk tingkat akses. Nama ini harus diawali dengan huruf dan hanya menyertakan huruf, angka, serta garis bawah.

    • TITLE adalah judul yang dapat dibaca manusia. Nama ini harus unik untuk kebijakan.

    • POLICY adalah ID kebijakan akses organisasi Anda. Jika Anda telah menetapkan kebijakan default, parameter ini bersifat opsional.

    Anda akan melihat output yang mirip dengan:

    Create request issued for: NAME
    Waiting for operation [accessPolicies/POLICY/accessLevels/NAME/create/1521594488380943] to complete...done.
    Created level NAME.
    

API

  1. Buat isi permintaan untuk membuat resource AccessLevel yang menyertakan kebijakan perangkat dengan batasan OS.

    Dalam contoh ini, untuk hanya mengizinkan perangkat dengan versi minimum Chrome OS dan Windows yang dapat diterima, Anda harus memasukkan hal berikut ke dalam isi permintaan:

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
           "devicePolicy": {
             "osConstraints": [
               {
                 "osType": "DESKTOP_CHROME_OS",
                 "minimumVersion": "11316.165.0"
               },
               {
                 "osType": "DESKTOP_WINDOWS",
                 "minimumVersion": "10.0.1809"
               }
             ]
          }
         }
       ]
      }
    }

    Dengan:

    • NAME adalah nama unik untuk tingkat akses. Nama ini harus diawali dengan huruf dan hanya menyertakan huruf, angka, serta garis bawah.

    • TITLE adalah judul yang dapat dibaca manusia. Nama ini harus unik untuk kebijakan.

  2. Buat tingkat akses dengan memanggil accessLevels.create.

    POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels
    

    Dengan:

    • POLICY adalah ID kebijakan akses organisasi Anda.

Memberikan akses menurut pengguna atau akun layanan

Tingkat akses untuk pengguna manusia sering kali menggabungkan identitas dengan konteks lain seperti alamat IP. Sebaliknya, tingkat akses untuk akun layanan ditentukan berdasarkan identitas akun layanan tertentu. Misalnya, Cloud Functions memerlukan identitas untuk berinteraksi dengan layanan Google Cloud lain.

Informasi berikut menjelaskan cara memberikan akses kepada pengguna dan akun layanan tertentu, sekaligus menyertakan tingkat akses yang ada untuk menunjukkan contoh tingkat akses bertingkat. Dalam hal ini, pengguna yang ditentukan akan disertakan dalam tingkat akses ini, terlepas dari apakah mereka memenuhi kondisi yang ditentukan dalam tingkat akses yang ada atau tidak. Tingkat akses baru ini dapat dianggap sebagai tingkat yang tidak terlalu ketat dibandingkan tingkat akses yang ada.

Konsol

Konsol Google Cloud saat ini tidak mendukung penambahan akun utama ke tingkat akses. Jika ingin menambahkan akun utama ke tingkat akses, Anda harus menggunakan alat command line gcloud atau API.

gcloud

  1. Buat file YAML yang berisi kondisi yang mencantumkan akun utama yang ingin Anda beri akses.

    Tambahkan administrator sistem (sysadmin@example.com) dan akun layanan (service@project.iam.gserviceaccount.com).

    - members:
        - user:sysadmin@example.com
        - serviceAccount:service@project.iam.gserviceaccount.com
    
  2. Tambahkan kondisi yang mencantumkan tingkat akses yang ada yang ingin Anda sertakan dalam tingkat akses ini.

    Dalam contoh ini, asumsikan tingkat akses diberi nama Device_Trust dan IP_Trust, dan 247332951433 adalah nama kebijakan akses Anda.

    - members:
        - user:sysadmin@example.com
        - serviceAccount:service@project.iam.gserviceaccount.com
    
    - requiredAccessLevels:
        - accessPolicies/247332951433/accessLevels/Device_Trust
        - accessPolicies/247332951433/accessLevels/IP_Trust
    
  3. Simpan file. Dalam contoh ini, file diberi nama CONDITIONS.yaml.

  4. Buat tingkat akses, menggunakan perintah create.

    gcloud access-context-manager levels create NAME \
       --title TITLE \
       --basic-level-spec CONDITIONS.yaml \
       --combine-function=OR \
       --policy=POLICY

    Dengan:

    • NAME adalah nama unik untuk tingkat akses. Nama ini harus diawali dengan huruf dan hanya menyertakan huruf, angka, serta garis bawah.

    • TITLE adalah judul yang dapat dibaca manusia. Nama ini harus unik untuk kebijakan.

    • POLICY adalah ID kebijakan akses organisasi Anda. Jika Anda telah menetapkan kebijakan default, parameter ini bersifat opsional.

    • combine-function disetel ke OR. Nilai default, AND, mengharuskan semua kondisi terpenuhi sebelum tingkat akses diberikan. Nilai OR akan memberi akun utama akses meskipun kondisi lain tidak terpenuhi.

    Anda akan melihat output yang mirip dengan:

    Create request issued for: NAME
    Waiting for operation [accessPolicies/POLICY/accessLevels/NAME/create/1521594488380943] to complete...done.
    Created level NAME.
    

API

  1. Buat isi permintaan untuk membuat resource AccessLevel yang menyertakan kondisi yang mencantumkan akun utama yang ingin Anda beri akses.

    Dalam contoh ini, Anda ingin menambahkan administrator sistem (sysadmin@example.com) dan akun layanan (service@project.iam.gserviceaccount.com).

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
           "members": [
             "user:sysadmin@example.com",
             "serviceAccount:service@project.iam.gserviceaccount.com"
           ]
         }
       ]
     }
    }

    Dengan:

    • NAME adalah nama unik untuk tingkat akses. Nama ini harus diawali dengan huruf dan hanya menyertakan huruf, angka, serta garis bawah.

    • TITLE adalah judul yang dapat dibaca manusia. Nama ini harus unik untuk kebijakan.

  2. Tambahkan kondisi yang mencantumkan tingkat akses yang ada yang ingin Anda sertakan dalam tingkat akses ini.

    Dalam contoh ini, asumsikan tingkat akses diberi nama Device_Trust dan IP_Trust, dan 247332951433 adalah nama kebijakan akses Anda.

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
           "members": [
             "user:sysadmin@example.com",
             "serviceAccount:service@project.iam.gserviceaccount.com"
           ]
         },
         {
           "requiredAccessLevels": [
             "accessPolicies/247332951433/accessLevels/Device_Trust",
             "accessPolicies/247332951433/accessLevels/IP_Trust"
           ]
         }
       ]
     }
    }
  3. Tetapkan combiningFunction ke OR.

    Nilai default untuk combiningFunction, AND, mengharuskan semua kondisi terpenuhi sebelum tingkat akses diberikan. Nilai OR akan memberi akun utama akses meskipun kondisi lain, seperti alamat IP atau yang diwarisi dari tingkat akses yang diperlukan lainnya, tidak terpenuhi.

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
           "members": [
             "user:sysadmin@example.com",
             "serviceAccount:service@project.iam.gserviceaccount.com"
           ]
         },
         {
           "requiredAccessLevels": [
             "accessPolicies/247332951433/accessLevels/Device_Trust",
             "accessPolicies/247332951433/accessLevels/IP_Trust"
           ]
         }
       ],
       "combiningFunction": "OR"
     }
    }
  4. Buat tingkat akses dengan memanggil accessLevels.create.

    POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels
    

    Dengan:

    • POLICY adalah ID kebijakan akses organisasi Anda.