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:
- Membatasi akses di jaringan perusahaan
- Membatasi akses berdasarkan atribut perangkat
- Memberikan akses berdasarkan pengguna atau akun layanan
Sebelum memulai
- Pelajari tingkat akses.
Membuat tingkat akses dasar
Konsol
Untuk membuat tingkat akses dasar:
Buka halaman Access Context Manager di Konsol Google Cloud.
Jika diminta, pilih organisasi Anda.
Di bagian atas halaman Access Context Manager, klik New.
Di panel New Access Level:
Di kolom Judul tingkat akses, masukkan judul untuk tingkat akses. Judul harus berisi maksimal 50 karakter, diawali dengan huruf, dan hanya dapat berisi angka, huruf, garis bawah, serta spasi.
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 ditambahkan, baca tentang atribut tingkat akses.
Misalnya, jika Anda ingin tingkat akses mempertimbangkan asal permintaan dalam jaringan, Anda harus memilih atribut Subnetwork IP.
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 menyertakan satu dari setiap jenis atribut. Beberapa atribut menyertakan opsi tambahan, seperti atribut Device Policy.
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.
Gunakan opsi When is met, return untuk menentukan apakah Anda ingin kondisi mengharuskan permintaan memenuhi semua atribut yang ditentukan (TRUE) atau apakah permintaan harus memenuhi apa pun selain atribut tersebut (FALSE).
Misalnya, jika Anda ingin menolak permintaan dari rentang alamat IP tertentu di jaringan, tentukan rentang alamat IP menggunakan atribut Subnetwork IP, lalu tetapkan kondisi ke FALSE.
Secara opsional, 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 Subnetwork IP, lalu tetapkan kondisi untuk menampilkan FALSE.
Ulangi langkah ini untuk menambahkan beberapa kondisi ke tingkat akses yang sama.
Jika Anda membuat lebih dari satu kondisi, gunakan Gabungkan kondisi dengan untuk menentukan apakah Anda ingin tingkat akses mengharuskan permintaan memenuhi setidaknya salah satu kondisi (OR), atau semua kondisi (DAN).
Klik Simpan.
gcloud
Sebelum memulai
- Jika belum ada, buat kebijakan akses untuk organisasi Anda.
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 keterangan:
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 maksimum 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 akan ditampilkan di Konsol Google Cloud.
combine-function
(Opsional) Menentukan bagaimana kondisi digabungkan.
Nilai valid:
AND
,OR
description
(Opsional) Deskripsi tingkat akses dalam format panjang.
POLICY adalah ID kebijakan akses organisasi Anda. Jika Anda telah menetapkan kebijakan default, parameter ini bersifat opsional.
Anda dapat menyertakan flag gcloud-wide apa pun secara opsional.
File YAML spesifikasi tingkat dasar
Saat menggunakan alat command line gcloud
untuk membuat tingkat akses, Anda harus menyediakan file YAML untuk opsi basic-level-spec
. {i>File<i} YAML menentukan satu atau lebih
kondisi untuk level akses. Kondisi harus berisi setidaknya satu atribut. Jika kondisi berisi lebih dari satu atribut, atribut tersebut akan
digabungkan sebagai operasi AND (semuanya harus benar) atau sebagai operasi NAND (tidak ada yang bisa bernilai benar), bergantung pada apakah atribut negate
disertakan dalam kondisi tersebut.
Untuk mengetahui daftar lengkap atribut yang dapat Anda sertakan dalam file YAML, baca tentang atribut tingkat akses.
Untuk informasi lebih lanjut 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
- Jika belum ada, buat kebijakan akses untuk organisasi Anda.
Untuk membuat tingkat akses, panggil accessLevels.create
.
POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels
Dengan keterangan:
- 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 (tidak ada yang bisa bernilai benar) bergantung pada apakah kolom negate
ditetapkan ke true
. Evaluasi yang dihasilkan menentukan apakah kondisi tersebut terpenuhi atau tidak.
Isi respons
Jika berhasil, isi respons untuk panggilan berisi resource
Operation
yang memberikan detail tentang
operasi POST
.
Contoh penerapan
Contoh berikut mencakup beberapa cara praktis yang mungkin digunakan organisasi Anda untuk menerapkan 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 memungkinkan akses dari rentang alamat IP tertentu (misalnya, alamat dalam jaringan perusahaan).
Dengan membatasi rentang alamat IP yang diberi akses, Anda dapat membuat pemindahan data yang tidak sah menjadi lebih sulit bagi penyerang yang ada di dalam atau di luar organisasi Anda.
Pada contoh ini, misalkan 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 tidak akan ada perangkat yang ditetapkan ke subnet itu selain yang digunakan oleh auditor.
Konsol
Buka halaman Access Context Manager di Konsol Google Cloud.
Jika diminta, pilih organisasi Anda.
Di bagian atas halaman Access Context Manager, klik New.
Di panel New Access Level, di bagian Conditions, klik Add attribute, lalu klik IP Subnetworks.
Di kotak Subnetwork IP, masukkan satu atau beberapa rentang IPv4 atau IPv6 yang diformat sebagai blok CIDR.
Dalam contoh ini, untuk membatasi akses hanya untuk auditor, Anda harus memasukkan 203.0.113.0/25 di kotak Subnetwork IP.
Klik Simpan.
gcloud
Buat file YAML untuk tingkat akses yang mencakup satu atau beberapa rentang IPv4 atau IPv6 yang diformat sebagai blok CIDR.
Dalam contoh ini, untuk membatasi akses hanya untuk auditor, Anda perlu memasukkan berikut ini ke dalam file YAML:
- ipSubnetworks: - 203.0.113.0/25
Simpan file. Dalam contoh ini, file diberi nama CONDITIONS.yaml.
Buat tingkat akses.
gcloud access-context-manager levels create NAME \ --title TITLE \ --basic-level-spec CONDITIONS.yaml \ --policy=POLICY
Dengan keterangan:
NAME adalah nama unik untuk tingkat akses. Nama ini harus dimulai dengan huruf dan hanya menyertakan huruf, angka, dan garis bawah.
TITLE adalah judul yang dapat dibaca manusia. Nama ini harus unik untuk kebijakan tersebut.
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
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 untuk auditor, Anda harus memasukkan kode berikut ke dalam isi permintaan:
{ "name": "NAME", "title": "TITLE", "basic": { "conditions": [ { "ipSubnetworks": [ "203.0.113.0/25" ] } ] } }
Dengan keterangan:
NAME adalah nama unik untuk tingkat akses. Nama ini harus dimulai dengan huruf dan hanya menyertakan huruf, angka, dan garis bawah.
TITLE adalah judul yang dapat dibaca manusia. Nama ini harus unik untuk kebijakan tersebut.
Buat tingkat akses dengan memanggil
accessLevels.create
.POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels
Dengan keterangan:
- 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 atau tidak:
- Kunci layar diaktifkan
- Enkripsi penyimpanan diaktifkan
- Perangkat menjalankan jenis dan versi sistem operasi tertentu
Untuk contoh ini, anggaplah organisasi Anda hanya menggunakan komputer yang telah menginstal ChromeOS atau Windows. Untuk menambahkan lapisan keamanan, Anda sebaiknya 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
Buka halaman Access Context Manager di Konsol Google Cloud.
Jika diminta, pilih organisasi Anda.
Di bagian atas halaman Access Context Manager, klik New.
Di panel New Access Level, di bagian Conditions, klik Add attribute, lalu klik Device Policy.
Tambahkan atribut kebijakan perangkat:
Klik Tambahkan Kebijakan OS, lalu klik Kebijakan Chrome OS.
Di kotak Minimum version, masukkan versi minimum Chrome OS yang ingin Anda izinkan.
Ulangi langkah 1 dan 2 untuk Windows OS Policy.
Klik Simpan.
gcloud
Buat file YAML untuk tingkat akses yang menyertakan kebijakan perangkat dengan batasan OS.
Dalam contoh ini, untuk mengizinkan hanya perangkat dengan versi Chrome OS dan Windows minimum 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
Simpan file. Dalam contoh ini, file diberi nama CONDITIONS.yaml.
Buat tingkat akses.
gcloud access-context-manager levels create NAME \ --title TITLE \ --basic-level-spec CONDITIONS.yaml \ --policy=POLICY
Dengan keterangan:
NAME adalah nama unik untuk tingkat akses. Nama ini harus dimulai dengan huruf dan hanya menyertakan huruf, angka, dan garis bawah.
TITLE adalah judul yang dapat dibaca manusia. Nama ini harus unik untuk kebijakan tersebut.
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
Buat isi permintaan untuk membuat resource
AccessLevel
yang menyertakan kebijakan perangkat dengan batasan OS.Dalam contoh ini, untuk hanya mengizinkan perangkat dengan versi Chrome OS dan Windows minimum yang dapat diterima, Anda harus memasukkan teks 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 keterangan:
NAME adalah nama unik untuk tingkat akses. Nama ini harus dimulai dengan huruf dan hanya menyertakan huruf, angka, dan garis bawah.
TITLE adalah judul yang dapat dibaca manusia. Nama ini harus unik untuk kebijakan tersebut.
Buat tingkat akses dengan memanggil
accessLevels.create
.POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels
Dengan keterangan:
- POLICY adalah ID kebijakan akses organisasi Anda.
Memberikan akses berdasarkan pengguna atau akun layanan
Memberikan akses berdasarkan identitas sering kali berguna bersama dengan akun layanan, misalnya untuk mengaktifkan Cloud Function guna mengakses data.
Contoh ini menjelaskan cara memberikan akses kepada pengguna dan akun layanan tertentu, sekaligus menyertakan tingkat akses yang ada untuk menampilkan 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 dibatasi dibandingkan tingkat akses yang sudah 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
Buat file YAML yang berisi kondisi yang mencantumkan akun utama yang ingin Anda berikan aksesnya.
Dalam contoh ini, Anda ingin menambahkan administrator sistem (
sysadmin@example.com
) dan akun layanan (service@project.iam.gserviceaccount.com
).- members: - user:sysadmin@example.com - serviceAccount:service@project.iam.gserviceaccount.com
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
danIP_Trust
, serta247332951433
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
Simpan file. Dalam contoh ini, file diberi nama CONDITIONS.yaml.
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 keterangan:
NAME adalah nama unik untuk tingkat akses. Nama ini harus dimulai dengan huruf dan hanya menyertakan huruf, angka, dan garis bawah.
TITLE adalah judul yang dapat dibaca manusia. Nama ini harus unik untuk kebijakan tersebut.
POLICY adalah ID kebijakan akses organisasi Anda. Jika Anda telah menetapkan kebijakan default, parameter ini bersifat opsional.
combine-function
disetel keOR
. Nilai default,AND
, mengharuskan semua kondisi terpenuhi sebelum tingkat akses diberikan. NilaiOR
akan memberikan akses akun utama 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
Buat isi permintaan untuk membuat resource
AccessLevel
yang menyertakan kondisi yang mencantumkan akun utama yang ingin Anda berikan aksesnya.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 keterangan:
NAME adalah nama unik untuk tingkat akses. Nama ini harus dimulai dengan huruf dan hanya menyertakan huruf, angka, dan garis bawah.
TITLE adalah judul yang dapat dibaca manusia. Nama ini harus unik untuk kebijakan tersebut.
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
danIP_Trust
, serta247332951433
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" ] } ] } }
Tetapkan
combiningFunction
keOR
.Nilai default untuk
combiningFunction
,AND
, mengharuskan semua kondisi terpenuhi sebelum tingkat akses diberikan. NilaiOR
akan memberikan akses kepada akun utama meskipun kondisi lain, seperti alamat IP atau yang diwarisi dari tingkat akses lain yang diperlukan, 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" } }
Buat tingkat akses dengan memanggil
accessLevels.create
.POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels
Dengan keterangan:
- POLICY adalah ID kebijakan akses organisasi Anda.