Peran dan izin

Google Cloud menawarkan Identity and Access Management (IAM), yang memungkinkan Anda memberikan akses secara lebih terperinci ke Google Cloud resource tertentu dan mencegah akses yang tidak diinginkan ke resource lain. Halaman ini menjelaskan peran Service Directory API. Untuk mengetahui deskripsi mendetail tentang IAM, baca dokumentasi IAM.

IAM memungkinkan Anda menerapkan prinsip hak istimewa terendah untuk keamanan, jadi Anda hanya memberikan akses yang diperlukan ke resource Anda.

Dengan IAM, Anda dapat mengontrol siapa yang memiliki izin apa ke resource mana dengan menetapkan kebijakan IAM. Kebijakan IAM memberikan peran tertentu kepada pengguna yang memberikan izin tertentu kepada pengguna.

Izin dan Peran

Setiap metode Service Directory API mengharuskan pemanggil memiliki izin IAM yang diperlukan. Anda dapat menetapkan izin dengan memberikan peran kepada pengguna, grup, atau akun layanan. Selain peran dasar Owner, Editor, dan Viewer, Anda dapat memberikan peran Service Directory API kepada pengguna project Anda.

Izin

Anda dapat mengetahui izin yang diperlukan untuk setiap metode dalam Service Directory dokumentasi referensi API.

Peran

Role Permissions

(roles/servicedirectory.admin)

Full control of all Service Directory resources and permissions.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.*

  • servicedirectory.endpoints.create
  • servicedirectory.endpoints.delete
  • servicedirectory.endpoints.get
  • servicedirectory.endpoints.getIamPolicy
  • servicedirectory.endpoints.list
  • servicedirectory.endpoints.setIamPolicy
  • servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.*

  • servicedirectory.namespaces.associatePrivateZone
  • servicedirectory.namespaces.create
  • servicedirectory.namespaces.delete
  • servicedirectory.namespaces.get
  • servicedirectory.namespaces.getIamPolicy
  • servicedirectory.namespaces.list
  • servicedirectory.namespaces.setIamPolicy
  • servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.*

  • servicedirectory.services.bind
  • servicedirectory.services.create
  • servicedirectory.services.delete
  • servicedirectory.services.get
  • servicedirectory.services.getIamPolicy
  • servicedirectory.services.list
  • servicedirectory.services.resolve
  • servicedirectory.services.setIamPolicy
  • servicedirectory.services.update

(roles/servicedirectory.editor)

Edit Service Directory resources.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.create

servicedirectory.endpoints.delete

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.associatePrivateZone

servicedirectory.namespaces.create

servicedirectory.namespaces.delete

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.bind

servicedirectory.services.create

servicedirectory.services.delete

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

servicedirectory.services.update

(roles/servicedirectory.viewer)

View Service Directory resources.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

(roles/servicedirectory.networkAttacher)

Gives access to attach VPC Networks to Service Directory Endpoints

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.networks.attach

(roles/servicedirectory.pscAuthorizedService)

Gives access to VPC Networks via Service Directory

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.networks.access

Service agent roles

Service agent roles should only be granted to service agents.

Role Permissions

(roles/servicedirectory.serviceAgent)

Give the Service Directory service agent access to Cloud Platform resources.

container.clusters.get

gkehub.features.get

gkehub.gateway.delete

gkehub.gateway.generateCredentials

gkehub.gateway.get

gkehub.gateway.patch

gkehub.gateway.post

gkehub.gateway.put

gkehub.locations.*

  • gkehub.locations.get
  • gkehub.locations.list

gkehub.memberships.get

gkehub.memberships.list

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.create

servicedirectory.endpoints.delete

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.associatePrivateZone

servicedirectory.namespaces.create

servicedirectory.namespaces.delete

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.bind

servicedirectory.services.create

servicedirectory.services.delete

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

servicedirectory.services.update

Kontrol Akses menggunakan Google Cloud konsol

Anda dapat menggunakan Google Cloud konsol untuk mengelola kontrol akses ke registry Anda.

Untuk menetapkan kontrol akses di level project:

Konsol

  1. Di Google Cloud konsol, buka halaman IAM.

    Buka IAM

  2. Pilih project Anda dari menu pull-down di bagian atas.

  3. Klik Add.

  4. Di New principals, masukkan alamat email principal baru.

  5. Pilih peran yang diinginkan dari menu drop-down: servicedirectory.admin, servicedirectory.editor, atau servicedirectory.viewer

  6. Klik Save.

  7. Pastikan principal tercantum dengan peran yang Anda berikan.

Zona Direktori Layanan mengganti batasan IAM

Saat menetapkan namespace ke zona Direktori Layanan, nama layanan akan terlihat oleh semua klien di jaringan mana pun yang diizinkan untuk membuat kueri zona pribadi. Tidak ada kontrol akses IAM untuk DNS karena protokol DNS tidak menyediakan kemampuan autentikasi.

Langkah berikutnya

  • Lihat dokumentasi IAM untuk mengetahui detail tentang Identity dan Access Management
  • Lihat Ringkasan untuk memahami Direktori Layanan.