Lumberyard
Guía del usuario (Version 1.21)

Uso de la línea de comando de Cloud Canvas para administrar roles y permisos

Puede utilizar la herramienta de línea de comandos lmbr_aws para administrar el control de acceso del administrador de recursos de Cloud Canvas. Por ejemplo, utilice la herramienta para asumir un rol cuando se ejecuta un comando o para administrar roles, permisos y mapeos de roles.

Asumir un rol

La mayoría de los comandos lmbr_aws admiten un argumento --assume-role <role-name>. Puede utilizar este argumento para asumir un rol cuando ejecuta un comando.

Si se especifica, <role-name> debe ser el ID de recurso lógico de un rol de IAM definido en los archivos project-template.json o deployment-access-template.json.

nota

Debe evitar la definición de roles con el mismo nombre en ambos archivos. De ser así, prevalece el rol del archivo de implementación.

Si especifica un rol de acceso de implementación, el rol real usado depende de la implementación en la que opera el comando. Si el argumento --deployment se ha especificado, se usa la implementación especificada. Si no se ha especificado el argumento --deployment y el usuario ha especificado una implementación predeterminada, se utiliza la implementación predeterminada. Si no se ha especificado una implementación predeterminada, se usa la implementación predeterminada del proyecto.

lmbr_aws usa las credenciales de AWS configuradas para asumir el rol especificado. Consulte Configuración para obtener una descripción de cómo se determinan las credenciales. Las credenciales deben tener permiso para asumir el rol. Para obtener más información, consulte Conceder permisos de usuario para cambiar de rol.

Antes de asumir el rol, la herramienta lmbr_aws utiliza credenciales para leer los datos de configuración del proyecto en AWS. La política administrada ProjectAccess de project-template.json file y la política administrada DeploymentAccess del archivo deployment-access-template.json conceden los permisos necesarios para leer esta información. Puede asociar la política administrada correspondiente a cualquier usuario de IAM que trabaje en un proyecto o implementación.

Tenga en cuenta que los usuarios administrativos creados para una cuenta de AWS normalmente tienen permisos para asumir roles y leer la configuración del proyecto. Por lo general, los usuarios administrativos tienen permisos para llevar a cabo todas las acciones en todos los recursos que pertenecen a una cuenta.

Comandos para la administración de roles

Los comandos de administración de roles controlan las definiciones de los recursos AWS::IAM::Role de los archivos project-template.json y deployment-access-template.json. Después de utilizar estos comandos para hacer cambios, debe actualizar las pilas de acceso a la implementación o al proyecto para que los cambios surtan efecto. Para obtener información acerca los permisos para llevar a cabo esta acción, consulte Control del acceso a los recursos.

lmbr_aws role add

Añade una definición de recursos de roles de IAM de AWS al archivo project-template.json file o deployment-access-template.json.

Argumento Descripción
‑‑role <role‑name> Obligatorio. El nombre de la definición de recursos de rol.
‑‑project Opcional. Cuando está presente, especifica que la definición de los recursos de rol se añadan a project-template.json file. De lo contrario, la definición de recursos de rol se añade al archivo deployment-access-template.json.

lmbr_aws role remove

Elimina una definición de recursos de roles de IAM de AWS del archivo project-template.json file o deployment-access-template.json.

Argumento Descripción
‑‑role <role‑name> Obligatorio. El nombre de la definición de recursos de rol.
‑‑project Opcional. Cuando está presente, especifica que la definición de los recursos de rol se eliminen de project-template.json file. De lo contrario, la definición de recursos de rol se elimina del archivo deployment-access-template.json.

lmbr_aws role list

Muestra las definiciones de los roles de IAM de AWS en los archivos project-template.json o deployment-access-template.json.

Argumento Descripción
‑‑deployment Opcional. Puede especificarse --deployment o --project. Si se especifica --deployment, solo se enumeran los roles del archivo deployment-access-template.json.
‑‑project Opcional. Puede especificarse --deployment o --project. Si se especifica --project, solo se enumeran los roles de project-template.json file.

Salida

El resultado correcto es similar al siguiente ejemplo.

Scope Name ---------- ------------------------------------------- Deployment DeploymentAdmin Deployment DeploymentOwner Deployment Player Deployment PlayerLoginRole Project ProjectAdmin Project ProjectOwner Project PlayerAccessTokenExchangeExecution Project ProjectResourceHandlerExecution

Columna Descripción
Ámbito Indica si el rol se define en el archivo deployment-access-template.json o project-template.json.
Nombre Muestra el nombre de la definición de recursos. Este es el nombre del recurso "lógico", no el "físico", que identifica una instancia real del rol. Para ver los nombres físicos de los recursos, use el comando lmbr_aws project list-resources o lmbr_aws deployment list-resources.

Administración de los metadatos de los permisos

Los comandos de administración de los metadatos de los permisos controlan los metadatos de Permissions de CloudCanvas en las definiciones de recursos de los archivos resource-group-template.json. Después de utilizar estos comandos para hacer cambios, debe actualizar las pilas de acceso a la implementación o al proyecto para que los cambios surtan efecto. Para obtener información acerca los permisos para llevar a cabo esta acción, consulte Control del acceso a los recursos.

lmbr_aws permission add

Agrega los metadatos de Permissions de Cloud Canvas a una definición de recursos en un archivo resource-group-template.json.

Argumento Descripción
‑‑resource‑group <resource‑group‑name> Obligatorio. El nombre de un grupo de recursos. Los metadatos se añadirán a una definición de recursos en el archivo resource-group-template.json de ese grupo de recursos.
‑‑resource <resource‑name> Obligatorio. El nombre de la definición de recursos en el archivo resource-group-template.json.
‑‑role <abstract-role‑name> Obligatorio. Identifica el rol al que se concede el permiso.
‑‑action <action> [<action> ...] Obligatorio. La acción que está permitida. Puede especificar más de una acción.
‑‑suffix <suffix> [<suffix> ...] Opcional. Una cadena añadida al ARN del recurso. Puede especificar más de un sufijo.

lmbr_aws permission remove

Elimina los metadatos de Permissions de Cloud Canvasde una definición de recursos incluida en un archivo resource-group-template.json.

Argumento Descripción
‑‑resource‑group <resource‑group‑name> Obligatorio. El nombre de un grupo de recursos. Los metadatos se eliminan de una definición de recursos del archivo resource-group-template.json del grupo de recursos especificado.
‑‑resource <resource‑name> Obligatorio. El nombre de la definición de recursos en el archivo resource-group-template.json.
‑‑role <abstract‑role‑name> Obligatorio. Identifica los roles de los que se eliminan los permisos.
‑‑action <action> [<action> ...] Opcional. La acción que se elimina. Puede especificar más de una acción. Si no se especifica, se eliminan todos los permisos para el rol.
‑‑suffix <suffix> [<suffix> ...] Opcional. Una cadena añadida al ARN del recurso que se elimina. Puede especificar más de un sufijo.

lmbr_aws permission list

Elimina los metadatos de Permissions de Cloud Canvasde una definición de recursos incluida en un archivo resource-group-template.json.

Argumento Descripción
‑‑resource‑group <resource‑group‑name> Opcional. Enumera los metadatos de las definiciones de recursos en el archivo resource-group-template.json del grupo de recursos. El valor predeterminado enumera los permisos de todos los grupos de recursos.
‑‑resource <resource‑name> Opcional. El nombre de la definición de recursos en el archivo resource-group-template.json. El valor predeterminado enumera los metadatos de todas las definiciones de recursos.
‑‑role <abstract‑role‑name> Opcional. Muestra los metadatos del rol abstracto especificado. El valor predeterminado enumera los metadatos de todos los roles abstractos.

Salida

El resultado correcto es similar al siguiente ejemplo.

Resource Group Resource Resource Type Roles Actions ARN Suffixes -------------- -------------------- --------------------- -------------- ---------------------------------------------------- ------------ DynamicContent ContentBucket AWS::S3::Bucket ServiceLambda s3:GetObject /* DynamicContent ContentBucket AWS::S3::Bucket ContentRequest s3:* /* DynamicContent ContentRequest AWS::Lambda::Function Player lambda:InvokeFunction DynamicContent ServiceLambda AWS::Lambda::Function ServiceApi lambda:InvokeFunction DynamicContent StagingSettingsTable AWS::DynamoDB::Table ServiceLambda dynamodb:GetItem, dynamodb:Scan, dynamodb:UpdateItem DynamicContent StagingSettingsTable AWS::DynamoDB::Table ContentRequest dynamodb:GetItem

Columna Descripción
Grupo de recursos Muestra el grupo de recursos en el que se encontraron los metadatos de los permisos.
Recurso Muestra el nombre de la definición de recursos con los metadatos.
Tipo de recurso Muestra el tipo de la definición de recursos con los metadatos.
Roles Muestra los roles abstractos especificados en los metadatos de los permisos.
Acciones Muestra las acciones especificadas en los metadatos de los permisos.
Sufijos de ARN Muestra el sufijo añadido al ARN de recurso, tal como se ha especificado en los metadatos de los permisos.

Sugerencia

Para ver todos los recursos a los que tienen acceso los jugadores a través del cliente de juego, utilice el comando:

lmbr_aws permission list --role Player

Administración de metadatos de mapeado de roles

Los comandos de administración de los metadatos de mapeado de roles controlan los metadatos de RoleMappings de CloudCanvas en las definiciones de recursos de AWS::IAM:Role en los archivos project-template.json y deployment-access-template.json. Después de utilizar estos comandos para hacer cambios, debe actualizar las pilas de acceso a la implementación o al proyecto para que los cambios surtan efecto. Para obtener información acerca los permisos para llevar a cabo esta acción, consulte Control del acceso a los recursos.

lmbr_aws role-mapping add

Agrega los metadatos de RoleMappings de Cloud Canvas a una definición de roles de IAM de AWS en el archivo project-template.json o deployment-access-template.json.

Argumento Descripción
‑‑role <role‑name> Obligatorio. El nombre de la definición de recursos de rol.
‑‑pattern <abstract‑role‑pattern> Identifica los roles abstractos mapeados al rol. Tiene el formato <resource-group-name>.<abstract-role-name>, donde <resource-group-name> puede ser *.
‑‑allow Debe especificarse --allow o --deny. Indica que los permisos solicitados para el rol abstracto están concedidos.
‑‑deny Debe especificarse --allow o --deny. Indica que los permisos solicitados para el rol abstracto están denegados.
‑‑project Opcional. Indica que la definición del rol está en el archivo project-template.json. La opción predeterminada es que la definición del rol esté en el archivo deployment-access-template.json.

lmbr_aws role-mapping remove

Elimina una definición de recursos de roles de IAM de AWS del archivo project-template.json file o deployment-access-template.json.

Argumento Descripción
‑‑role <role‑name> Obligatorio. El nombre de la definición de recursos de rol.
‑‑pattern <abstract‑role‑pattern> Identifica los roles abstractos mapeados al rol. Tiene el formato <resource-group-name>.<abstract-role-name>, donde <resource-group-name> puede ser *.
‑‑project Opcional. Indica que la definición del rol está en project-template.json file. La opción predeterminada es que la definición del rol esté en el archivo deployment-access-template.json.

lmbr_aws role-mapping list

Muestra las definiciones de los roles de IAM de AWS en los archivos project-template.json o deployment-access-template.json.

Argumento Descripción
‑‑role <role‑name> Obligatorio. La definición del rol con los metadatos para enumerar. El valor predeterminado es enumerar los metadatos de todas las definiciones de rol.
‑‑pattern <abstract‑role‑pattern> El patrón de rol abstracto que especifican los metadatos. El valor predeterminado es enumerar los metadatos con cualquier patrón de rol abstracto.
‑‑deployment Opcional. Puede especificarse --deployment o --project. Muestra loa metadatos de las definiciones de rol del archivo deployment-access-template.json. El valor predeterminado es enumerar los metadatos de todas las definiciones de rol de los archivos project-template.json y deployment-access-template.json.
‑‑project Opcional. Puede especificarse --deployment o --project. Muestra los metadatos de las definiciones de rol del archivo project-template.json file. El valor predeterminado es enumerar los metadatos de todas las definiciones de rol de los archivos project-template.json y deployment-access-template.json.

Salida

El resultado correcto es similar al siguiente ejemplo.

Scope Actual Role Abstract Role Effect ---------- ------------------------------- ----------------------------- ------ Deployment DeploymentAdmin *.DeploymentAdmin Allow Deployment DeploymentOwner *.DeploymentAdmin Allow Deployment DeploymentOwner *.DeploymentOwner Allow Deployment Player *.Player Allow Project ProjectAdmin *.ProjectAdmin Allow Project ProjectOwner *.ProjectAdmin Allow Project ProjectOwner *.ProjectOwner Allow

Columna Descripción
Scope (Ámbito) Indica si el mapeado de roles procedía de los archivos project-template.json o deployment-access-template.json.
Actual Role (Rol real) Muestra el nombre de la definición de rol con los metadatos de mapeado.
Abstract Role (Rol abstracto) Muestra los roles abstractos (como se especifican en los metadatos de los permisos) que se asignan al rol.
Effect Muestra si los permisos solicitados para el rol abstracto están concedidos o denegados.