Control de acceso con IAM

Descripción general

Game Servers usa Identity and Access Management (IAM) para el control de acceso.

En Game Servers, el control de acceso se puede configurar a nivel de proyecto, dominio, clúster, implementación o configuración. Por ejemplo, puedes otorgar acceso a todos los clústeres dentro de un proyecto a un grupo de desarrolladores.

Para obtener una descripción detallada de IAM y sus características, consulta la documentación de IAM. En particular, consulta la sección sobre administración de políticas de IAM.

Cada método de la API de servicios de juego requiere que el emisor tenga los permisos necesarios. Consulta Permisos y Funciones para obtener más información.

Permisos

En esta sección, se resumen los permisos de Game Servers que admite IAM.

Permisos necesarios

En las siguientes tablas, se enumeran los permisos de IAM que están asociados con Game Servers.

Método de dominios Permisos necesarios
realms.create gameservices.realms.create en el proyecto superior de Google Cloud.
realms.delete gameservices.realms.delete en el dominio solicitado.
realms.get gameservices.realms.get en el dominio superior.
realms.list gameservices.realms.list en el proyecto superior de Google Cloud.
realms.patch gameservices.realms.update en el dominio solicitado.
realms.previewUpdate gameservices.realms.get en el dominio solicitado.
Método de clústeres Permisos necesarios
realms.gameServerClusters.create gameservices.gameServerClusters.create en el dominio superior.
realms.gameServerClusters.delete gameservices.gameServerClusters.delete en el clúster solicitado.
realms.gameServerClusters.list gameservices.gameServerClusters.list en el dominio superior.
realms.gameServerClusters.get gameservices.gameServerClusters.get en el clúster solicitado.
realms.gameServerClusters.patch gameservices.gameServerClusters.update en el clúster solicitado.
realms.gameServerClusters.previewCreate gameservices.gameServerClusters.get en el clúster solicitado.
realms.gameServerClusters.previewDelete gameservices.gameServerClusters.get en el clúster solicitado.
realms.gameServerClusters.previewUpdate gameservices.gameServerClusters.get en el clúster solicitado.
Método de implementación Permisos necesarios
gameServerDeployments.create gameservices.gameServerDeployments.create en el proyecto superior de Google Cloud.
gameServerDeployments.delete gameservices.gameServerDeployments.delete en la implementación solicitada.
gameServerDeployments.fetchDeploymentState gameservices.gameServerDeployments.get en la implementación solicitada.
gameServerDeployments.get gameservices.gameServerDeployments.get en la implementación solicitada.
gameServerDeployments.getRollout gameservices.gameServerDeployments.get en la implementación solicitada.
gameServerDeployments.list gameservices.gameServerDeployments.list en el proyecto superior de Google Cloud.
gameServerDeployments.patch gameservices.gameServerDeployments.update en la implementación solicitada.
gameServerDeployments.previewRollout gameservices.gameServerDeployments.get en la implementación solicitada.
gameServerDeployments.updateRollout gameservices.gameServerDeployments.rollout en la implementación solicitada.
Método de configuración Permisos necesarios
gameServerDeployments.configs.create gameservices.gameServerConfigs.create en la implementación superior.
gameServerDeployments.configs.delete gameservices.gameServerConfigs.delete en la configuración solicitada.
gameServerDeployments.configs.get gameservices.gameServerConfigs.get en la configuración solicitada.
gameServerDeployments.configs.list gameservices.gameServerConfigs.list en la implementación superior.

Funciones

En la siguiente tabla, se enumeran las funciones de IAM de Game Servers, incluidos los permisos asociados a cada función:

Función de Game Servers Permisos
roles/gameservices.viewer
  • gameservices.realms.list
  • gameservices.realms.get
  • gameservices.realms.get
  • gameservices.gameServerClusters.list
  • gameservices.gameServerClusters.get
  • gameservices.gameServerClusters.get
  • gameservices.gameServerClusters.get
  • gameservices.gameServerClusters.get
  • gameservices.gameServerDeployments.list
  • gameservices.gameServerDeployments.get
  • gameservices.gameServerDeployments.get
  • gameservices.gameServerDeployments.get
  • gameservices.gameServerDeployments.get
  • gameservices.gameServerConfigs.list
  • gameservices.gameServerConfigs.get
roles/gameservices.admin Todos los permisos roles/gameservices.viewer y los siguientes:
  • gameservices.realms.create
  • gameservices.realms.delete
  • gameservices.realms.update
  • gameservices.gameServerClusters.create
  • gameservices.gameServerClusters.delete
  • gameservices.gameServerClusters.update
  • gameservices.gameServerDeployments.create
  • gameservices.gameServerDeployments.delete
  • gameservices.gameServerDeployments.update
  • gameservices.gameServerDeployments.rollout
  • gameservices.gameServerConfigs.create
  • gameservices.gameServerConfigs.delete

Las funciones roles/owner, roles/editor y roles/viewer también incluyen permisos para otros servicios de Google Cloud. Para obtener más información sobre las funciones, consulta Información sobre las funciones.

Funciones personalizadas

Si las funciones predefinidas de IAM no satisfacen tus necesidades, puedes definir funciones personalizadas con los permisos que especifiques. Para ello, IAM ofrece funciones personalizadas. Cuando crees funciones personalizadas para Game Servers, asegúrate de incluir resourcemanager.projects.get y resourcemanager.projects.list a fin de que la función tenga permiso para consultar los recursos del proyecto. De lo contrario, Google Cloud Console no funcionará correctamente para Game Servers.