Cloud Canvas Funciones integradas y Políticas - Lumberyard Guía del usuario

Si proporcionásemos una traducción de la versión en inglés de la guía, prevalecerá la versión en inglés de la guía si hubiese algún conflicto. La traducción se proporciona mediante traducción automática.

Cloud Canvas Funciones integradas y Políticas

Puede utilizar la función integrada Cloud Canvas Roles y políticas de para administrar recursos e implementaciones Permisos de para el proyecto.

Roles integrados

Puedes utilizar la función AWS::IAM:Función para definir roles en su project-template.json o bien deployment-access-template.json de los archivos. Cloud Canvas El administrador de recursos define los siguientes roles para usted.

DeploymentAdmin

Concede acceso restringido a la implementación. Similar a la DeploymentOwner rol de , pero no puede crear ni eliminar pilas de grupos de recursos. Este es un rol de comodidad que es más seguro que DeploymentOwner. Para añadir restricciones adicionales a la DeploymentAdmin , edita el DeploymentAdminRestrictions de la política de.

Tipo de póliza Descripción
Asumir función Se puede asumir mediante principios definidos en el mismo AWS cuenta, según lo permita sus permisos.
Adjunto DeploymentAccessde DeploymentOwnerAccess, y DeploymentAdminRestrictions.
En línea Añadido y eliminado por el Custom::AccessControl controlador de recursos basado en mapeos de roles abstractos.

Ubicación del archivo: \project_name\deployment_name\deployment-access-template.json.

DeploymentOwner

Concede acceso completo a todos los recursos de una implementación. Para modificar el valor predeterminado de permisos concedidos por este rol, edite el DeploymentOwnerAccess política definición.

Tipo de póliza Descripción
Asumir función Se puede asumir mediante principios definidos en el mismo AWS cuenta, según lo permita sus permisos.
Adjunto DeploymentAccess y DeploymentOwnerAccess.
En línea Añadido y eliminado por el Custom::AccessControl controlador de recursos basado en mapeos de roles abstractos.

Ubicación del archivo: \project_name\deployment_name\deployment-access-template.json.

nota

Permisos añadidos a DeploymentOwnerAccess también se conceden a DeploymentAdmin a menos que lo denieguen DeploymentAdminRestrictions.

Player

Concede a los jugadores acceso limitado a recursos específicos en una implementación según lo determinado por Los metadatos de permisos de en esos recursos de.

Tipo de póliza Descripción
Asumir función Puede asumirse por cognito-identity.amazonaws.com.
Adjunto Ninguno.
En línea Añadido y eliminado por el Custom::AccessControl controlador de recursos basado en mapeos de roles abstractos.

Ubicación del archivo: \project_name\deployment_name\deployment-access-template.json.

ProjectAdmin

Concede a los administradores del proyecto acceso restringido a todas las implementaciones del proyecto. Similar a la ProjectOwner del rol de , pero no puede crear, actualizar ni eliminar Las implementaciones de con nombres que comienzan por "Release". Este es un rol de comodidad que es más seguro de ProjectOwner. Para añadir restricciones adicionales a la ProjectAdmin , edita el ProjectAdminRestrictions definición.

Tipo de póliza Descripción
Asumir función Puede asumirse por entidades principales definido en el mismo AWS , según lo permitan sus permisos.
Adjunto ProjectAccessde ProjectOwnerAccess, y ProjectAdminRestrictions.
En línea Añadido y eliminado por el Custom::AccessControl controlador de recursos basado en mapeos de roles abstractos.

Ubicación del archivo: \project_name\project-template.json.

aviso

La intención de este rol es "sandbox" de forma segura para las acciones de usuario para que no afectan accidentalmente a otros proyectos. Sin embargo, cualquiera que pueda asumir el ProjectAdmin El rol de puede concederse permisos adicionales. Porque un ProjectAdmin el usuario puede escalar el privilegio para el rol, el ProjectAdmin el rol de debe seguir considerándose un rol de administrador de cuenta y, por lo tanto, una posible preocupación de seguridad.

ProjectOwner

Concede a los administradores del proyecto acceso completo a todos los recursos del proyecto. Para modificar la los permisos predeterminados concedidos por este rol, edite el ProjectOwnerAccess política definición.

Tipo de póliza Descripción
Asumir función Puede asumirse por entidades principales definido en el mismo AWS , según lo permitan sus permisos.
Adjunto ProjectAccess y ProjectOwnerAccess.
En línea Añadido y eliminado por el Custom::AccessControl controlador de recursos basado en mapeos de roles abstractos.

Ubicación del archivo: \project_name\project-template.json.

aviso
  • La intención de este rol es "sandbox" de forma segura para las acciones de usuario para que no afectan accidentalmente a otros proyectos. Sin embargo, cualquiera que pueda asumir el ProjectOwner El rol de puede concederse permisos adicionales. Porque una ProjectOwner el usuario puede escalar el privilegio para el rol, el ProjectOwner el rol debe seguir considerándose un administrador de cuentas y, por lo tanto, un posible problema de seguridad.

  • Permisos añadidos a ProjectOwnerAccess también se conceden a ProjectAdmin a menos que lo denieguen ProjectAdminRestrictions.

ProjectResourceHandlerExecution

Otorga el ProjectResourceHandler Lambda ejecución en tiempo de ejecución de la función Permisos de. Este rol concede permisos para Cloud Canvas Administrador de recursos que se debe utilizar AWS CloudFormation personalizado Recursos de para operaciones de pila de. Para obtener más información, consulte casos prácticos de acceso y la Controlador de recursos de proyecto.

Tipo de póliza Descripción
Asumir función Puede asumirse por el AWS Lambda servicio técnico.
Adjunto Ninguno.
En línea ProjectAccess.

Ubicación del archivo: \project_name\project-template.json.

Server

Concede acceso a los servidores dedicados de Lumberyard a determinados recursos de implementación, como determinado por los metadatos de permisos en esos recursos.

Tipo de póliza Descripción
Asumir función Puede asumirse por cognito-identity.amazonaws.com.
Adjunto Ninguno.
En línea Añadido y eliminado por el Custom::AccessControl controlador de recursos basado en mapeos de roles abstractos.

Ubicación del archivo: \project_name\deployment_name\deployment-access-template.json.

Alcance de la función

El archivo de configuración en el que se define un rol determina los recursos a los que el El rol de proporciona acceso a.

[EMPTY] Alcance
project-template.json Se aplica a todos los recursos de todos los grupos de recursos para all Las implementaciones de. Solo se crea una única instancia del rol para todo el proyecto de.
deployment-template.json Se aplica a todos los recursos de todos los grupos de recursos para un specific implementación de. Se crea una instancia independiente del rol para cada implementación.

Puedes utilizar la función lmbr_aws herramienta de línea de comandos para administrar las definiciones de rol en el project-template.json y deployment-access-template.json de los archivos. Para obtener más información, consulte Uso de la Cloud Canvas Línea de comandos para administrar roles y Permisos.

Implícito Funciones

Algunas Cloud Canvas Los recursos personalizados de también crean roles de. Por ejemplo, cuando un Lambda función es se ejecuta, asume el rol que el Custom::LambdaConfiguration recurso crea. ¿Cuándo? API Gateway invoca una Lambda función o accede a otros recursos, asume el rol de que el Custom::ServiceApi El recurso de crea. Se incluyen estos recursos personalizados en una resource-group-template.json hace que estos roles implícitos sean creado (y eliminado cuando se elimina el recurso). Para obtener información sobre los nombres de roles implícitos, ver Implícito Asignaciones de roles.

Gestionado Políticas

Puedes usar AWS::IAM::ManagedPolicy recursos para definir permisos que son compartidos en cualquier número de roles. Cloud Canvas define las siguientes políticas administradas para usted:

Política [EMPTY] Descripción
CloudGemPortalUserAccess project-template.json Concede acceso de solo usuario a Cloud Gem Portal. No concede acceso a Cloud Características de administrador de Gem Portal como administración de usuarios o registros de proyecto.
ProjectAccess project-template.json Define los permisos necesarios para acceder al proyecto y la configuración de implementación que debe leerse antes de que se pueda asumir un rol en todo el proyecto. Para obtener más información, consulte Asumir un rol.
ProjectOwnerAccess project-template.json Define los permisos predeterminados concedidos al ProjectOwner y ProjectAdmin Roles de.
ProjectAdminRestrictions project-template.json Define restricciones para el ProjectOwnerAcess política que solo se aplica a la ProjectAdmin del rol de.
DeploymentAccess deployment-access-template.json Define los permisos necesarios para acceder a la configuración del proyecto y la implementación que debe leerse antes de que se pueda asumir un rol específico de la implementación. Para más información información, consulte Asumir un rol.
DeploymentOwnerAccess deployment-access-template.json Define los permisos predeterminados concedidos al DeploymentOwner y DeploymentAdmin Roles de.
DeploymentAdminRestrictions deployment-access-template.json Define restricciones para el DeploymentOwnerAccess que se apliquen solo para el DeploymentAdmin del rol de.

El ProjectAdmin y DeploymentAdmin se conceden las mismas funciones los permisos como el ProjectOwner y DeploymentOwner funciones, menos cualquier los permisos denegados específicamente por el ProjectAdminRestrictions y DeploymentAdminRestrictions Las políticas administradas por , respectivamente. En efecto, un "admin" se conceden todos los permisos de un "propietario" menos cualquier acción especial que el "admin" no debería poder realizar.

Asignación de roles Metadatos

El AbstractRole en la propiedad Permission el objeto de metadatos no especifique directamente el rol real que recibe el permiso descrito. Estos valores deben ser mapeados a real IAM Roles de. Esto hace posible configurar roles de la forma que haga para tu proyecto. También elimina la necesidad de modificar los permisos definidos por grupos de recursos individuales.

La capacidad de asignar funciones abstractas a funciones reales IAM es importante cuando se utiliza una nube entre varios proyectos o de un tercero. Las gemas en la nube adquiridas de un tercero puede tener roles diferentes de los roles que utiliza en su organización. (Una nube la gema es una Lumberyard gema que utiliza AWS recursos definido por un Cloud Canvas Grupo de recursos. Para obtener más información, consulte Gemas en la nube.)

El Custom::AccessControl El recurso de busca CloudCanvas RoleMappings metadatos en AWS::IAM::Role recursos para determinar qué roles abstractos se asignan a ese rol físico. En el siguiente ejemplo, el CustomerSupport del rol abstracto de todos los grupos de recursos se asigna al DevOps del rol físico de.

... "DevOps": { "Type": "AWS::IAM::Role", "Properties": { "Path": { "Fn::Join": [ "", [ "/", { "Ref": "ProjectStack" }, "/", { "Ref": "DeploymentName" }, "/" ]] } }, "Metadata": { "CloudCanvas": { "RoleMappings": [ { "AbstractRole": [ "*.CustomerSupport" ], "Effect": "Allow" } ] } } }, ...

Cada Cloud Canvas RoleMapping El objeto de metadatos de puede tener lo siguiente las propiedades.

Propiedad Descripción
AbstractRole Cadena obligatoria o lista de cadenas del formulario <resource-group-name>.<abstract-role-name>. Para hacer coincidir los roles abstractos definidos en cualquier grupo de recursos, utilice * para el <resource-group-name>. Para hacer coincidir los roles abstractos definidos solo en un grupo de recursos específico, utilizar un grupo de recursos real nombre.
Effect Se requiere la cadena. Debe ser uno de los siguientes Allow, para permitir una acción definida por metadatos de permisos, o Deny para denegar una acción. Se utiliza como el Efecto en una instrucción de la política.

Puedes utilizar la función lmbr_aws herramienta de línea de comandos para gestionar RoleMappings de metadatos en definiciones de recursos de roles en la project-template.json y deployment-access-template.json de los archivos. Para obtener más información, consulte Uso de el Cloud Canvas Línea de comandos para administrar roles y permisos.

Rol predeterminado Asignaciones

Cloud Canvas define mapeos de roles para los siguientes roles:

Función [EMPTY] Asignación de roles predeterminada
ProjectResourceHandlerExecution project-template.json ninguno
ProjectOwner project-template.json *.ProjectAdmin *.ProjectOwner
ProjectAdmin project-template.json *.ProjectAdmin
DeploymentOwner deployment-access-template.json *.DeploymentAdmin *.DeploymentOwner
DeploymentAdmin deployment-access-template.json *.DeploymentAdmin
Player deployment-access-template.json *.Player
Server deployment-access-template.json *.Server

Implícito Asignaciones de roles

Como se menciona en Implícito Funciones, mapeos de roles se definen automáticamente para los roles implícitos creados por Cloud Canvas recursos como Custom::LambdaConfiguration. Estas asignaciones solo se utilizan con permiso los metadatos en el mismo resource-group-template.json como el archivo personalizado que crea el rol de. El nombre del rol abstracto utilizado en los metadatos de permiso para hacer referencia a un rol implícito depende del tipo de recurso personalizado.

Recurso Nombre de función implícita
Custom::LambdaConfiguration El nombre del Lambda , según lo especificado por la Function en la propiedad Custom::LambdaConfiguration Definición de recurso de. Este también es el ID lógico del AWS::Lambda::Function del recurso de.
Custom::ServiceApi El ID lógico de la Custom::ServiceApi del recurso de.