Acciones, recursos y claves de condición para AWS IoT Greengrass - Referencia de autorizaciones de servicio

Acciones, recursos y claves de condición para AWS IoT Greengrass

AWS IoT Greengrass (prefijo de servicio: greengrass) proporciona los siguientes recursos, acciones y claves de contexto de condición específicos del servicio para usarse en las políticas de permisos de IAM.

Referencias:

Acciones definidas por AWS IoT Greengrass

Puede especificar las siguientes acciones en el elemento Action de una declaración de política de IAM. Utilice políticas para conceder permisos para realizar una operación en AWS. Cuando utiliza una acción en una política, normalmente permite o deniega el acceso a la operación de la API o comandos de la CLI con el mismo nombre. No obstante, en algunos casos, una sola acción controla el acceso a más de una operación. Asimismo, algunas operaciones requieren varias acciones diferentes.

La columna Resource types (Tipos de recurso) indica si la acción admite permisos de nivel de recursos. Si no hay ningún valor para esta columna, debe especificar todos los recursos ("*") en el elemento Resource de la instrucción de la política. Si la columna incluye un tipo de recurso, puede especificar un ARN de ese tipo en una instrucción con dicha acción. Los recursos necesarios se indican en la tabla con un asterisco (*). Si especifica un ARN de permiso de recursos en una instrucción mediante esta acción, deberá ser de este tipo. Algunas acciones admiten varios tipos de recursos. Si el tipo de recurso es opcional (no se indica como obligatorio), puede elegir utilizar uno pero no el otro.

Para obtener información detallada sobre las columnas de la siguiente tabla, consulte Tabla Acciones.

Acciones Descripción Nivel de acceso Tipos de recursos (*necesarios) Claves de condición Acciones dependientes
AssociateRoleToGroup Concede permiso para asociar un rol a un grupo. Los permisos de rol deben permitir a los conectores y funciones principales de Lambda de Greengrass realizar acciones en otros servicios de AWS. Write

group*

AssociateServiceRoleToAccount Concede permiso para asociar un rol a su cuenta. AWS IoT Greengrass utiliza este rol para acceder a sus funciones de Lambda y recursos de AWS IoT. Permissions management
CreateConnectorDefinition Concede permiso para crear una definición de conector Write

aws:RequestTag/${TagKey}

aws:TagKeys

CreateConnectorDefinitionVersion Concede permiso para crear una versión de una definición de conector existente Write

connectorDefinition*

CreateCoreDefinition Concede permiso para crear una definición de núcleo Write

aws:RequestTag/${TagKey}

aws:TagKeys

CreateCoreDefinitionVersion Concede permiso para crear una versión de una definición de núcleo existente. Los grupos de Greengrass deben contener exactamente un núcleo de Greengrass cada uno Write

coreDefinition*

CreateDeployment Concede permiso para crear una implementación. Write

group*

CreateDeviceDefinition Concede permiso para crear una definición de dispositivo Write

aws:RequestTag/${TagKey}

aws:TagKeys

CreateDeviceDefinitionVersion Concede permiso para crear una versión de una definición de dispositivo existente Write

deviceDefinition*

CreateFunctionDefinition Concede permiso para crear una definición de función de Lambda que se pueda utilizar en un grupo que contenga una lista de funciones de Lambda y sus configuraciones Write

aws:RequestTag/${TagKey}

aws:TagKeys

CreateFunctionDefinitionVersion Concede permiso para crear una versión de una definición de función de Lambda existente Write

functionDefinition*

CreateGroup Concede permiso para crear un grupo Write

aws:RequestTag/${TagKey}

aws:TagKeys

CreateGroupCertificateAuthority Concede permiso para crear una CA para el grupo o rotar la CA actual Write

group*

CreateGroupVersion Concede permiso para crear una versión de un grupo que ya se ha definido Write

group*

CreateLoggerDefinition Concede permiso para crear una definición de registrador Write

aws:RequestTag/${TagKey}

aws:TagKeys

CreateLoggerDefinitionVersion Concede permiso para crear una versión de una definición de registrador existente Write

loggerDefinition*

CreateResourceDefinition Concede permiso para crear una definición de recursos que contenga una lista de los recursos que se utilizarán en un grupo Write

aws:RequestTag/${TagKey}

aws:TagKeys

CreateResourceDefinitionVersion Concede permiso para crear una versión de una definición de recursos existente Write

resourceDefinition*

CreateSoftwareUpdateJob Concede permiso para crear un trabajo de AWS IoT que desencadenará la actualización por parte de sus núcleos de Greengrass del software que estos ejecutan Write
CreateSubscriptionDefinition Concede permiso para crear una definición de suscripción Write

aws:RequestTag/${TagKey}

aws:TagKeys

CreateSubscriptionDefinitionVersion Concede permiso para crear una versión de una definición de suscripción existente Write

subscriptionDefinition*

DeleteConnectorDefinition Concede permiso para eliminar una definición de conector Write

connectorDefinition*

DeleteCoreDefinition Concede permiso para eliminar una definición de núcleo. La eliminación de una definición que se encuentra en uso en una implementación afecta a futuras implementaciones Write

coreDefinition*

DeleteDeviceDefinition Concede permiso para eliminar una definición de dispositivo. La eliminación de una definición que se encuentra en uso en una implementación afecta a futuras implementaciones Write

deviceDefinition*

DeleteFunctionDefinition Concede permiso para eliminar una definición de función Lambda. La eliminación de una definición que se encuentra en uso en una implementación afecta a futuras implementaciones Write

functionDefinition*

DeleteGroup Concede permiso para eliminar un grupo que actualmente no se usa en una implementación Write

group*

DeleteLoggerDefinition Concede permiso para eliminar una definición de registrador. La eliminación de una definición que se encuentra en uso en una implementación afecta a futuras implementaciones Write

loggerDefinition*

DeleteResourceDefinition Concede permiso para eliminar una definición de recursos Write

resourceDefinition*

DeleteSubscriptionDefinition Concede permiso para eliminar una definición de suscripción. La eliminación de una definición que se encuentra en uso en una implementación afecta a futuras implementaciones Write

subscriptionDefinition*

DisassociateRoleFromGroup Concede permiso para desasociar el rol de un grupo Write

group*

DisassociateServiceRoleFromAccount Concede permiso para desasociar el rol de servicio de una cuenta. Sin un rol de servicio, las implementaciones no funcionarán Write
Discover Concede permiso para recuperar la información necesaria para conectarse a un núcleo de Greengrass Read

thing*

GetAssociatedRole Concede permiso para recuperar el rol asociado a un grupo Read

group*

GetBulkDeploymentStatus Concede permiso para devolver el estado de una implementación masiva Read

bulkDeployment*

GetConnectivityInfo Concede permiso para recuperar información de conectividad para un núcleo Read

connectivityInfo*

GetConnectorDefinition Concede permiso para recuperar información sobre una definición de conector Read

connectorDefinition*

GetConnectorDefinitionVersion Concede permiso para recuperar información sobre una versión de definición de conector Read

connectorDefinition*

connectorDefinitionVersion*

GetCoreDefinition Concede permiso para recuperar información sobre una definición de núcleo Read

coreDefinition*

GetCoreDefinitionVersion Concede permiso para recuperar información sobre una versión de definición de núcleo Read

coreDefinition*

coreDefinitionVersion*

GetDeploymentStatus Concede permiso para devolver el estado de una implementación Read

deployment*

group*

GetDeviceDefinition Concede permiso para recuperar información sobre una definición de dispositivo Read

deviceDefinition*

GetDeviceDefinitionVersion Concede permiso para recuperar información sobre una versión de definición de dispositivo Read

deviceDefinition*

deviceDefinitionVersion*

GetFunctionDefinition Concede permiso para recuperar información sobre una definición de función de Lambda, como su hora de creación y versión más reciente Read

functionDefinition*

GetFunctionDefinitionVersion Concede permiso para recuperar información sobre una versión de definición de función de Lambda, como, por ejemplo, qué funciones de Lambda se incluyen en la versión y sus configuraciones Read

functionDefinition*

functionDefinitionVersion*

GetGroup Concede permiso para recuperar información sobre un grupo Read

group*

GetGroupCertificateAuthority Concede permiso para devolver la clave pública de la CA asociada a un grupo Read

certificateAuthority*

group*

GetGroupCertificateConfiguration Concede permiso para recuperar la configuración actual de la CA utilizada por un grupo Read

group*

GetGroupVersion Concede permiso para recuperar información sobre una versión de grupo Read

group*

groupVersion*

GetLoggerDefinition Concede permiso para recuperar información sobre una definición de registrador Read

loggerDefinition*

GetLoggerDefinitionVersion Concede permiso para recuperar información sobre una versión de definición de registrador Read

loggerDefinition*

loggerDefinitionVersion*

GetResourceDefinition Concede permiso para recuperar información sobre una definición de recursos, como su hora de creación y versión más reciente Read

resourceDefinition*

GetResourceDefinitionVersion Concede permiso para recuperar información sobre una versión de la definición de recursos, como, por ejemplo, qué recursos se incluyen en la versión Read

resourceDefinition*

resourceDefinitionVersion*

GetServiceRoleForAccount Concede permiso para recuperar el rol de servicio que está adjuntado a una cuenta Read
GetSubscriptionDefinition Concede permiso para recuperar información sobre una definición de suscripción Read

subscriptionDefinition*

GetSubscriptionDefinitionVersion Concede permiso para recuperar información sobre una versión de definición de suscripción Read

subscriptionDefinition*

subscriptionDefinitionVersion*

GetThingRuntimeConfiguration Concede permiso para recuperar la configuración de tiempo de ejecución de una cosa Read

thingRuntimeConfig*

ListBulkDeploymentDetailedReports Concede permiso para recuperar un listado paginado de las implementaciones que se iniciaron en una operación de implementación masiva y su estado de implementación actual Read

bulkDeployment*

ListBulkDeployments Concede permiso para recuperar una lista de implementaciones masivas List
ListConnectorDefinitionVersions Concede permiso para obtener una lista de las versiones de una definición de conector List

connectorDefinition*

ListConnectorDefinitions Concede permiso para recuperar una lista de definiciones de conectores List
ListCoreDefinitionVersions Concede permiso para obtener una lista de las versiones de una definición de núcleo List

coreDefinition*

ListCoreDefinitions Concede permiso para recuperar una lista de definiciones de núcleos List
ListDeployments Concede permiso para recuperar una lista de todas las implementaciones de un grupo List

group*

ListDeviceDefinitionVersions Concede permiso para obtener una lista de las versiones de una definición de dispositivos List

deviceDefinition*

ListDeviceDefinitions Concede permiso para recuperar una lista de definiciones de dispositivos List
ListFunctionDefinitionVersions Concede permiso para crear una lista de versiones de una definición de función de Lambda List

functionDefinition*

ListFunctionDefinitions Concede permiso para recuperar una lista de definiciones de funciones de Lambda List
ListGroupCertificateAuthorities Concede permiso para recuperar una lista de las CA actuales para un grupo List

group*

ListGroupVersions Concede permiso para crear una lista de las versiones de un grupo List

group*

ListGroups Concede permiso para recuperar una lista de grupos List
ListLoggerDefinitionVersions Concede permiso para crear una lista de versiones de una definición de registrador List

loggerDefinition*

ListLoggerDefinitions Concede permiso para recuperar una lista de definiciones de registrador List
ListResourceDefinitionVersions Concede permiso para crear una lista de las versiones de una definición de recursos List

resourceDefinition*

ListResourceDefinitions Concede permiso para recuperar una lista de definiciones de recursos List
ListSubscriptionDefinitionVersions Concede permiso para obtener una lista de versiones de una definición de suscripción List

subscriptionDefinition*

ListSubscriptionDefinitions Concede permiso para recuperar una lista de definiciones de suscripciones List
ListTagsForResource Concede permiso para enumerar las etiquetas de un recurso Read

bulkDeployment

connectorDefinition

coreDefinition

deviceDefinition

functionDefinition

group

loggerDefinition

resourceDefinition

subscriptionDefinition

aws:RequestTag/${TagKey}

aws:TagKeys

ResetDeployments Concede permiso para restablecer las implementaciones de un grupo Write

group*

StartBulkDeployment Concede permiso para implementar varios grupos en una operación Write

aws:RequestTag/${TagKey}

aws:TagKeys

StopBulkDeployment Concede permiso para detener la ejecución de una implementación masiva Write

bulkDeployment*

TagResource Concede permiso para agregar etiquetas a un recurso Etiquetado

bulkDeployment

connectorDefinition

coreDefinition

deviceDefinition

functionDefinition

group

loggerDefinition

resourceDefinition

subscriptionDefinition

aws:RequestTag/${TagKey}

aws:TagKeys

UntagResource Concede permiso para eliminar etiquetas de un recurso Etiquetado

bulkDeployment

connectorDefinition

coreDefinition

deviceDefinition

functionDefinition

group

loggerDefinition

resourceDefinition

subscriptionDefinition

aws:TagKeys

UpdateConnectivityInfo Concede permiso para actualizar la información de conectividad de un núcleo de Greengrass. Los dispositivos que pertenezcan al grupo que tiene este núcleo recibirán esta información para poder encontrar la ubicación del núcleo y conectarse a este Write

connectivityInfo*

UpdateConnectorDefinition Concede permiso para actualizar una definición de conector Write

connectorDefinition*

UpdateCoreDefinition Concede permiso para actualizar una definición de núcleo Write

coreDefinition*

UpdateDeviceDefinition Concede permiso para actualizar una definición de dispositivo Write

deviceDefinition*

UpdateFunctionDefinition Concede permiso para actualizar una definición de función de Lambda Write

functionDefinition*

UpdateGroup Concede permiso para actualizar un grupo Write

group*

UpdateGroupCertificateConfiguration Concede permiso para actualizar el tiempo de caducidad del certificado para un grupo Write

group*

UpdateLoggerDefinition Concede permiso para actualizar una definición de registrador Write

loggerDefinition*

UpdateResourceDefinition Concede permiso para actualizar una definición de recursos Write

resourceDefinition*

UpdateSubscriptionDefinition Concede permiso para actualizar una definición de suscripción Write

subscriptionDefinition*

UpdateThingRuntimeConfiguration Concede permiso para actualizar la configuración de tiempo de ejecución de una cosa Write

thingRuntimeConfig*

Tipos de recursos definidos por AWS IoT Greengrass

Los siguientes tipos de recurso están definidos por este servicio y se pueden utilizar en el elemento Resource de las instrucciones de política de permisos de IAM. Cada acción de la tabla Acciones identifica los tipos de recursos que se pueden especificar con dicha acción. Un tipo de recurso también puede definir qué claves de condición se pueden incluir en una política. Estas claves se muestran en la última columna de la tabla. Para obtener información detallada sobre las columnas de la siguiente tabla, consulte Tabla Tipos de recurso.

Tipos de recurso ARN Claves de condición
connectivityInfo arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/things/${ThingName}/connectivityInfo
certificateAuthority arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}/certificateauthorities/${CertificateAuthorityId}
deployment arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}/deployments/${DeploymentId}
bulkDeployment arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/bulk/deployments/${BulkDeploymentId}

aws:ResourceTag/${TagKey}

group arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}

aws:ResourceTag/${TagKey}

groupVersion arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}/versions/${VersionId}
coreDefinition arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/cores/${CoreDefinitionId}

aws:ResourceTag/${TagKey}

coreDefinitionVersion arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/cores/${CoreDefinitionId}/versions/${VersionId}
deviceDefinition arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/devices/${DeviceDefinitionId}

aws:ResourceTag/${TagKey}

deviceDefinitionVersion arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/devices/${DeviceDefinitionId}/versions/${VersionId}
functionDefinition arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/functions/${FunctionDefinitionId}

aws:ResourceTag/${TagKey}

functionDefinitionVersion arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/functions/${FunctionDefinitionId}/versions/${VersionId}
subscriptionDefinition arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/subscriptions/${SubscriptionDefinitionId}

aws:ResourceTag/${TagKey}

subscriptionDefinitionVersion arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/subscriptions/${SubscriptionDefinitionId}/versions/${VersionId}
loggerDefinition arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/loggers/${LoggerDefinitionId}

aws:ResourceTag/${TagKey}

loggerDefinitionVersion arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/loggers/${LoggerDefinitionId}/versions/${VersionId}
resourceDefinition arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/resources/${ResourceDefinitionId}

aws:ResourceTag/${TagKey}

resourceDefinitionVersion arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/resources/${ResourceDefinitionId}/versions/${VersionId}
connectorDefinition arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/connectors/${ConnectorDefinitionId}

aws:ResourceTag/${TagKey}

connectorDefinitionVersion arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/connectors/${ConnectorDefinitionId}/versions/${VersionId}
thing arn:${Partition}:iot:${Region}:${Account}:thing/${ThingName}
thingRuntimeConfig arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/things/${ThingName}/runtimeconfig

Claves de condición para AWS IoT Greengrass

AWS IoT Greengrass define las siguientes claves de condición que pueden utilizarse en el elemento Condition de una política de IAM. Puede utilizar estas claves para ajustar más las condiciones en las que se aplica la instrucción de política. Para obtener información detallada sobre las columnas de la siguiente tabla, consulte Tabla Claves de condición.

Para ver las claves de condición globales que están disponibles para todos los servicios, consulte Claves de condición globales disponibles.

Claves de condición Descripción Tipo
aws:CurrentTime Filtra las acciones en función de las condiciones de fecha/hora para la fecha y hora actuales Fecha
aws:EpochTime Filtra las acciones en función de las condiciones de fecha/hora de la fecha y hora actuales en formato de hora Unix Fecha
aws:MultiFactorAuthAge Filtra las acciones en función del tiempo (en segundos) que transcurrió desde que se emitieron mediante MFA las credenciales de seguridad validadas por autenticación multifactor (MFA) en la solicitud Numérico
aws:MultiFactorAuthPresent Filtra las acciones en función de si se usó la autenticación multifactor (MFA) para validar las credenciales de seguridad temporales que realizaron la solicitud actual. Bool
aws:RequestTag/${TagKey} Filtra acciones en función del conjunto de valores permitido para cada una de las etiquetas obligatorias Cadena
aws:ResourceTag/${TagKey} Filtra las acciones en función del valor de etiqueta asociado con el recurso. Cadena
aws:SecureTransport Filtra las acciones en función de si la solicitud se envió mediante SSL Bool
aws:TagKeys Filtra acciones en función de la presencia de etiquetas obligatorias en la solicitud. Cadena
aws:UserAgent Filtra acciones en función de la aplicación cliente del solicitante Cadena