Ações, recursos e chaves de condição do AWS IoT Greengrass
O AWS IoT Greengrass (prefixo de serviço: greengrass
) fornece os recursos, ações e chaves de contexto de condição específicos do serviço a seguir para uso em políticas de permissão do IAM.
Referências:
-
Saiba como configurar este serviço.
-
Visualize uma lista das operações de API disponíveis para este serviço.
-
Saiba como proteger esse serviço e seus recursos usando políticas de permissão do IAM.
Tópicos
Ações definidas pelo AWS IoT Greengrass
Você pode especificar as seguintes ações no elemento Action
de uma declaração de política do IAM. Use políticas para conceder permissões para executar uma operação na AWS. Quando usa uma ação em uma política, você geralmente permite ou nega acesso à operação da API ou ao comando da CLI com o mesmo nome. No entanto, em alguns casos, uma única ação controla o acesso a mais de uma operação. Como alternativa, algumas operações exigem várias ações diferentes.
A coluna Tipos de recursos na tabela Ações indica se cada ação é compatível com permissões no nível do recurso. Se não houver valor para essa coluna, você deverá especificar todos os recursos ("*") aos quais a política se aplica no elemento Resource
de sua declaração de política. Se a coluna incluir um tipo de recurso, você poderá especificar um ARN desse tipo em uma instrução com essa ação. Se a ação tiver um ou mais recursos necessários, o chamador deverá ter permissão para usar a ação com esses recursos. Os recursos obrigatórios são indicados na tabela com um asterisco (*). Se você limitar o acesso aos recursos com o elemento Resource
em uma política do IAM, deverá incluir um ARN ou padrão para cada tipo de recurso necessário. Algumas ações oferecem suporte a vários tipos de recursos. Se o tipo de recurso for opcional (não indicado como obrigatório), você poderá optar por usar um dos tipos de recurso opcionais.
A coluna Chaves de condição na tabela Ações inclui chaves que você pode especificar em um elemento Condition
da declaração de política. Para obter mais informações sobre as chaves de condição associadas aos recursos do serviço, consulte a coluna Chaves de condição da tabela Tipos de recursos.
nota
As chaves de condição do recurso estão listadas na tabela Tipos de recursos. Você pode encontrar um link para o tipo de recurso que se aplica a uma ação na coluna Tipos de recursos (*obrigatório) da tabela Ações. O tipo de recurso na tabela Tipos de recursos inclui a coluna Chaves de condição, que são as chaves de condição do recurso que se aplicam a uma ação na tabela Ações.
Para obter detalhes sobre as colunas na tabela a seguir, consulte Tabela de ações.
Ações | Descrição | Nível de acesso | Tipos de recursos (*necessários) | Chaves de condição | Ações dependentes |
---|---|---|---|---|---|
AssociateRoleToGroup | Concede permissão para associar uma função a um grupo. As permissões da função devem autorizar as funções Lambda do núcleo do Greengrass e os conectores a executar ações em outros produtos da AWS | Write | |||
AssociateServiceRoleToAccount | Concede permissão para associar uma função à conta. O AWS IoT Greengrass usa essa função para acessar as funções Lambda e os recursos do AWS IoT | Permissions management | |||
CreateConnectorDefinition | Concede permissão para criar uma definição de conector | Write | |||
CreateConnectorDefinitionVersion | Concede permissão para criar uma versão de uma definição de conector existente | Write | |||
CreateCoreDefinition | Concede permissão para criar uma definição de núcleo | Write | |||
CreateCoreDefinitionVersion | Concede permissão para criar uma versão de uma definição de núcleo existente. Os grupos do Greengrass devem conter exatamente um núcleo do Greengrass. | Write | |||
CreateDeployment | Concede permissão para criar uma implantação | Write | |||
CreateDeviceDefinition | Concede permissão para criar uma definição de dispositivo | Write | |||
CreateDeviceDefinitionVersion | Concede permissão para criar uma versão de uma definição de dispositivo existente | Write | |||
CreateFunctionDefinition | Concede permissão para criar uma definição da função do Lambda a ser usada em um grupo que contém uma lista de funções do Lambda e suas configurações | Write | |||
CreateFunctionDefinitionVersion | Concede permissão para criar uma versão de uma definição de função do Lambda existente | Escrever | |||
CreateGroup | Concede permissão para criar um grupo | Escrever | |||
CreateGroupCertificateAuthority | Concede permissão para criar uma CA para o grupo ou alternar a CA existente | Write | |||
CreateGroupVersion | Concede permissão para criar uma versão de um grupo que já foi definido | Write | |||
CreateLoggerDefinition | Concede permissão para criar uma definição do registrador | Write | |||
CreateLoggerDefinitionVersion | Concede permissão para criar uma versão de uma definição do registrador existente. | Write | |||
CreateResourceDefinition | Concede permissão para criar uma definição de recurso que contém uma lista de recursos a serem usados em um grupo | Write | |||
CreateResourceDefinitionVersion | Concede permissão para criar uma versão de uma definição de recurso existente | Write | |||
CreateSoftwareUpdateJob | Concede permissão para criar um trabalho do AWS IoT que acionará os núcleos do Greengrass para atualizarem o software que estão executando | Write | |||
CreateSubscriptionDefinition | Concede permissão para criar uma definição de assinatura | Write | |||
CreateSubscriptionDefinitionVersion | Concede permissão para criar uma versão de uma definição de assinatura existente | Write | |||
DeleteConnectorDefinition | Concede permissão para excluir uma definição de conector | Write | |||
DeleteCoreDefinition | Concede permissão para excluir uma definição de núcleo. A exclusão de uma definição que estiver atualmente em uso em uma implantação afeta as implantações futuras | Write | |||
DeleteDeviceDefinition | Concede permissão para excluir uma definição de dispositivo. A exclusão de uma definição que estiver atualmente em uso em uma implantação afeta as implantações futuras | Write | |||
DeleteFunctionDefinition | Concede permissão para excluir a definição de uma função Lambda. A exclusão de uma definição que estiver atualmente em uso em uma implantação afeta as implantações futuras | Write | |||
DeleteGroup | Concede permissão para excluir um grupo que não estiver atualmente em uso em uma implantação | Write | |||
DeleteLoggerDefinition | Concede permissão para excluir uma definição de registrador. A exclusão de uma definição que estiver atualmente em uso em uma implantação afeta as implantações futuras | Write | |||
DeleteResourceDefinition | Concede permissão para excluir uma definição de recurso | Write | |||
DeleteSubscriptionDefinition | Concede permissão para excluir uma definição de assinatura. A exclusão de uma definição que estiver atualmente em uso em uma implantação afeta as implantações futuras | Write | |||
DisassociateRoleFromGroup | Concede permissão para desassociar a função de um grupo | Write | |||
DisassociateServiceRoleFromAccount | Concede permissão para desassociar a função de serviço de uma conta. Sem uma função de serviço, as implantações não funcionarão | Write | |||
Discover | Concede permissão para recuperar as informações necessárias para conectar-se a um núcleo do Greengrass | Read | |||
GetAssociatedRole | Concede permissão para recuperar a função associada a um grupo | Read | |||
GetBulkDeploymentStatus | Concede permissão para retornar o status de uma implantação em massa | Read | |||
GetConnectivityInfo | Concede permissão para recuperar as informações de conectividade de um núcleo | Read | |||
GetConnectorDefinition | Concede permissão para recuperar informações sobre uma definição de conector | Read | |||
GetConnectorDefinitionVersion | Concede permissão para recuperar informações sobre uma versão de uma definição de conector | Read | |||
GetCoreDefinition | Concede permissão para recuperar informações sobre uma definição de núcleo | Read | |||
GetCoreDefinitionVersion | Concede permissão para recuperar informações sobre uma versão de definição de núcleo | Read | |||
GetDeploymentStatus | Concede permissão para retornar o status de uma implantação | Read | |||
GetDeviceDefinition | Concede permissão para recuperar informações sobre a definição de um dispositivo | Read | |||
GetDeviceDefinitionVersion | Concede permissão para recuperar informações sobre a versão de definição de um dispositivo. | Read | |||
GetFunctionDefinition | Concede permissão para recuperar informações sobre uma definição de função do Lambda, como a hora de criação e a versão mais recente | Read | |||
GetFunctionDefinitionVersion | Concede permissão para recuperar informações sobre uma versão de definição de função do Lambda, como quais funções Lambda estão incluídas na versão e suas configurações | Read | |||
GetGroup | Concede permissão para recuperar informações sobre um grupo | Read | |||
GetGroupCertificateAuthority | Concede permissão para retornar a chave pública da CA associada a um grupo | Read | |||
GetGroupCertificateConfiguration | Concede permissão para recuperar a configuração atual da CA usada por um grupo | Read | |||
GetGroupVersion | Concede permissão para recuperar informações sobre a versão de um grupo | Read | |||
GetLoggerDefinition | Concede permissão para recuperar informações sobre uma definição do registrador | Read | |||
GetLoggerDefinitionVersion | Concede permissão para recuperar informações sobre uma versão de definição do registrador | Read | |||
GetResourceDefinition | Concede permissão para recuperar informações sobre uma definição de recurso, como a hora de criação e a versão mais recente | Read | |||
GetResourceDefinitionVersion | Concede permissão para recuperar informações sobre uma versão de definição do recurso, como quais recursos estão incluídos na versão | Read | |||
GetServiceRoleForAccount | Concede permissão para recuperar a função de serviço que está anexada a uma conta | Read | |||
GetSubscriptionDefinition | Concede permissão para recuperar informações sobre uma definição de assinatura | Read | |||
GetSubscriptionDefinitionVersion | Concede permissão para recuperar informações sobre uma versão de definição de assinatura | Read | |||
GetThingRuntimeConfiguration | Concede permissão para recuperar a configuração de runtime de alguma coisa | Read | |||
ListBulkDeploymentDetailedReports | Concede permissão para recuperar uma lista paginada das implantações que foram iniciadas em uma operação de implantação em massa e seu status de implantação | Read | |||
ListBulkDeployments | Concede permissão para recuperar uma lista de implantações em massa | List | |||
ListConnectorDefinitionVersions | Concede permissão para listar as versões da definição de um conector | List | |||
ListConnectorDefinitions | Concede permissão para recuperar uma lista de definições do conector | List | |||
ListCoreDefinitionVersions | Concede permissão para listar as versões de uma definição de núcleo | List | |||
ListCoreDefinitions | Concede permissão para recuperar uma lista de definições de núcleo | List | |||
ListDeployments | Concede permissão para recuperar uma lista de todas as implantações de um grupo | List | |||
ListDeviceDefinitionVersions | Concede permissão para listar as versões de uma definição de dispositivo | List | |||
ListDeviceDefinitions | Concede permissão para recuperar uma lista de definições de dispositivo | List | |||
ListFunctionDefinitionVersions | Concede permissão para listar as versões da definição de uma função do Lambda | List | |||
ListFunctionDefinitions | Concede permissão para recuperar uma lista de definições da função do Lambda | List | |||
ListGroupCertificateAuthorities | Concede permissão para recuperar uma lista das CAs atuais de um grupo | List | |||
ListGroupVersions | Concede permissão para listar as versões de um grupo | List | |||
ListGroups | Concede permissão para recuperar uma lista de grupos | List | |||
ListLoggerDefinitionVersions | Concede permissão para listar as versões da definição de um registrador | List | |||
ListLoggerDefinitions | Concede permissão para recuperar uma lista de definições de registrador | List | |||
ListResourceDefinitionVersions | Concede permissão para listar as versões de uma definição de recurso | List | |||
ListResourceDefinitions | Concede permissão para recuperar uma lista de definições de recursos | List | |||
ListSubscriptionDefinitionVersions | Concede permissão para listar as versões da definição de uma assinatura | List | |||
ListSubscriptionDefinitions | Concede permissão para recuperar uma lista de definições de assinatura | List | |||
ListTagsForResource | Concede permissão para listar as etiquetas de um recurso | Read | |||
ResetDeployments | Concede permissão para redefinir as implantações de um grupo | Write | |||
StartBulkDeployment | Concede permissão para implantar vários grupos em uma única operação | Write | |||
StopBulkDeployment | Concede permissão para interromper a execução de uma implantação em massa | Write | |||
TagResource | Concede permissão para adicionar tags a um recurso | Marcação | |||
UntagResource | Concede permissão para remover etiquetas de um recurso | Marcação | |||
UpdateConnectivityInfo | Concede permissão para atualizar as informações de conectividade de um núcleo do Greengrass. Todos os dispositivos pertencentes ao grupo que têm esse núcleo receberão essas informações para localizar o núcleo e conectar-se a ele | Write | |||
UpdateConnectorDefinition | Concede permissão para atualizar a definição de um conector | Write | |||
UpdateCoreDefinition | Concede permissão para atualizar a definição de um núcleo | Write | |||
UpdateDeviceDefinition | Concede permissão para atualizar a definição de um dispositivo | Write | |||
UpdateFunctionDefinition | Concede permissão para atualizar a definição de uma função do Lambda | Write | |||
UpdateGroup | Concede permissão para atualizar um grupo | Write | |||
UpdateGroupCertificateConfiguration | Concede permissão para atualizar a hora de expiração do certificado de um grupo | Write | |||
UpdateLoggerDefinition | Concede permissão para atualizar a definição de um registrador | Write | |||
UpdateResourceDefinition | Concede permissão para atualizar a definição de um recurso | Write | |||
UpdateSubscriptionDefinition | Concede permissão para atualizar a definição de uma assinatura | Write | |||
UpdateThingRuntimeConfiguration | Concede permissão para atualizar a configuração de runtime de uma coisa | Write |
Tipos de recursos definidos pelo AWS IoT Greengrass
Os seguintes tipos de recursos são definidos por este serviço e podem ser usados no elemento Resource
de declarações de políticas de permissão do IAM. Cada ação na Tabela de ações identifica os tipos de recursos que podem ser especificados com essa ação. Um tipo de recurso também pode definir quais chaves de condição você pode incluir em uma política. Essas chaves são exibidas na última coluna da tabela Tipos de recursos. Para obter detalhes sobre as colunas na tabela a seguir, consulte Tabela de tipos de recursos.
Tipos de recursos | ARN | Chaves de condição |
---|---|---|
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}
|
|
group |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}
|
|
groupVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}/versions/${VersionId}
|
|
coreDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/cores/${CoreDefinitionId}
|
|
coreDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/cores/${CoreDefinitionId}/versions/${VersionId}
|
|
deviceDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/devices/${DeviceDefinitionId}
|
|
deviceDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/devices/${DeviceDefinitionId}/versions/${VersionId}
|
|
functionDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/functions/${FunctionDefinitionId}
|
|
functionDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/functions/${FunctionDefinitionId}/versions/${VersionId}
|
|
subscriptionDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/subscriptions/${SubscriptionDefinitionId}
|
|
subscriptionDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/subscriptions/${SubscriptionDefinitionId}/versions/${VersionId}
|
|
loggerDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/loggers/${LoggerDefinitionId}
|
|
loggerDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/loggers/${LoggerDefinitionId}/versions/${VersionId}
|
|
resourceDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/resources/${ResourceDefinitionId}
|
|
resourceDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/resources/${ResourceDefinitionId}/versions/${VersionId}
|
|
connectorDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/connectors/${ConnectorDefinitionId}
|
|
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
|
Chaves de condição do AWS IoT Greengrass
O AWS IoT Greengrass define as seguintes chaves de condição que podem ser usadas no elemento Condition
de uma política do IAM. É possível usar essas chaves para refinar ainda mais as condições sob as quais a declaração de política se aplica. Para obter detalhes sobre as colunas na tabela a seguir, consulte Tabela de chaves de condição.
Para exibir as chaves de condição globais disponíveis para todos os serviços, consulte Chaves de condição globais disponíveis.
Chaves de condição | Descrição | Tipo |
---|---|---|
aws:RequestTag/${TagKey} | Filtra o acesso pelo conjunto de valores permitido para cada uma das tags obrigatórias | String |
aws:ResourceTag/${TagKey} | Filtra o acesso pelo valor de etiqueta associado ao recurso | String |
aws:TagKeys | Filtra o acesso pela presença de etiquetas obrigatórias na solicitação | ArrayOfString |