Ações, recursos e chaves de condição do AWS IoT Greengrass - Referência de autorização do serviço

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:

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

group*

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

aws:RequestTag/${TagKey}

aws:TagKeys

CreateConnectorDefinitionVersion Concede permissão para criar uma versão de uma definição de conector existente Write

connectorDefinition*

CreateCoreDefinition Concede permissão para criar uma definição de núcleo Write

aws:RequestTag/${TagKey}

aws:TagKeys

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

coreDefinition*

CreateDeployment Concede permissão para criar uma implantação Write

group*

CreateDeviceDefinition Concede permissão para criar uma definição de dispositivo Write

aws:RequestTag/${TagKey}

aws:TagKeys

CreateDeviceDefinitionVersion Concede permissão para criar uma versão de uma definição de dispositivo existente Write

deviceDefinition*

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

aws:RequestTag/${TagKey}

aws:TagKeys

CreateFunctionDefinitionVersion Concede permissão para criar uma versão de uma definição de função do Lambda existente Escrever

functionDefinition*

CreateGroup Concede permissão para criar um grupo Escrever

aws:RequestTag/${TagKey}

aws:TagKeys

CreateGroupCertificateAuthority Concede permissão para criar uma CA para o grupo ou alternar a CA existente Write

group*

CreateGroupVersion Concede permissão para criar uma versão de um grupo que já foi definido Write

group*

CreateLoggerDefinition Concede permissão para criar uma definição do registrador Write

aws:RequestTag/${TagKey}

aws:TagKeys

CreateLoggerDefinitionVersion Concede permissão para criar uma versão de uma definição do registrador existente. Write

loggerDefinition*

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

aws:RequestTag/${TagKey}

aws:TagKeys

CreateResourceDefinitionVersion Concede permissão para criar uma versão de uma definição de recurso existente Write

resourceDefinition*

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

aws:RequestTag/${TagKey}

aws:TagKeys

CreateSubscriptionDefinitionVersion Concede permissão para criar uma versão de uma definição de assinatura existente Write

subscriptionDefinition*

DeleteConnectorDefinition Concede permissão para excluir uma definição de conector Write

connectorDefinition*

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

coreDefinition*

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

deviceDefinition*

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

functionDefinition*

DeleteGroup Concede permissão para excluir um grupo que não estiver atualmente em uso em uma implantação Write

group*

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

loggerDefinition*

DeleteResourceDefinition Concede permissão para excluir uma definição de recurso Write

resourceDefinition*

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

subscriptionDefinition*

DisassociateRoleFromGroup Concede permissão para desassociar a função de um grupo Write

group*

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

thing*

GetAssociatedRole Concede permissão para recuperar a função associada a um grupo Read

group*

GetBulkDeploymentStatus Concede permissão para retornar o status de uma implantação em massa Read

bulkDeployment*

GetConnectivityInfo Concede permissão para recuperar as informações de conectividade de um núcleo Read

connectivityInfo*

GetConnectorDefinition Concede permissão para recuperar informações sobre uma definição de conector Read

connectorDefinition*

GetConnectorDefinitionVersion Concede permissão para recuperar informações sobre uma versão de uma definição de conector Read

connectorDefinition*

connectorDefinitionVersion*

GetCoreDefinition Concede permissão para recuperar informações sobre uma definição de núcleo Read

coreDefinition*

GetCoreDefinitionVersion Concede permissão para recuperar informações sobre uma versão de definição de núcleo Read

coreDefinition*

coreDefinitionVersion*

GetDeploymentStatus Concede permissão para retornar o status de uma implantação Read

deployment*

group*

GetDeviceDefinition Concede permissão para recuperar informações sobre a definição de um dispositivo Read

deviceDefinition*

GetDeviceDefinitionVersion Concede permissão para recuperar informações sobre a versão de definição de um dispositivo. Read

deviceDefinition*

deviceDefinitionVersion*

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

functionDefinition*

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

functionDefinition*

functionDefinitionVersion*

GetGroup Concede permissão para recuperar informações sobre um grupo Read

group*

GetGroupCertificateAuthority Concede permissão para retornar a chave pública da CA associada a um grupo Read

certificateAuthority*

group*

GetGroupCertificateConfiguration Concede permissão para recuperar a configuração atual da CA usada por um grupo Read

group*

GetGroupVersion Concede permissão para recuperar informações sobre a versão de um grupo Read

group*

groupVersion*

GetLoggerDefinition Concede permissão para recuperar informações sobre uma definição do registrador Read

loggerDefinition*

GetLoggerDefinitionVersion Concede permissão para recuperar informações sobre uma versão de definição do registrador Read

loggerDefinition*

loggerDefinitionVersion*

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

resourceDefinition*

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

resourceDefinition*

resourceDefinitionVersion*

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

subscriptionDefinition*

GetSubscriptionDefinitionVersion Concede permissão para recuperar informações sobre uma versão de definição de assinatura Read

subscriptionDefinition*

subscriptionDefinitionVersion*

GetThingRuntimeConfiguration Concede permissão para recuperar a configuração de runtime de alguma coisa Read

thingRuntimeConfig*

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

bulkDeployment*

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

connectorDefinition*

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

coreDefinition*

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

group*

ListDeviceDefinitionVersions Concede permissão para listar as versões de uma definição de dispositivo List

deviceDefinition*

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

functionDefinition*

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

group*

ListGroupVersions Concede permissão para listar as versões de um grupo List

group*

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

loggerDefinition*

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

resourceDefinition*

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

subscriptionDefinition*

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

bulkDeployment

connectorDefinition

coreDefinition

deviceDefinition

functionDefinition

group

loggerDefinition

resourceDefinition

subscriptionDefinition

aws:RequestTag/${TagKey}

aws:TagKeys

ResetDeployments Concede permissão para redefinir as implantações de um grupo Write

group*

StartBulkDeployment Concede permissão para implantar vários grupos em uma única operação Write

aws:RequestTag/${TagKey}

aws:TagKeys

StopBulkDeployment Concede permissão para interromper a execução de uma implantação em massa Write

bulkDeployment*

TagResource Concede permissão para adicionar tags a um recurso Marcação

bulkDeployment

connectorDefinition

coreDefinition

deviceDefinition

functionDefinition

group

loggerDefinition

resourceDefinition

subscriptionDefinition

aws:RequestTag/${TagKey}

aws:TagKeys

UntagResource Concede permissão para remover etiquetas de um recurso Marcação

bulkDeployment

connectorDefinition

coreDefinition

deviceDefinition

functionDefinition

group

loggerDefinition

resourceDefinition

subscriptionDefinition

aws:TagKeys

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

connectivityInfo*

UpdateConnectorDefinition Concede permissão para atualizar a definição de um conector Write

connectorDefinition*

UpdateCoreDefinition Concede permissão para atualizar a definição de um núcleo Write

coreDefinition*

UpdateDeviceDefinition Concede permissão para atualizar a definição de um dispositivo Write

deviceDefinition*

UpdateFunctionDefinition Concede permissão para atualizar a definição de uma função do Lambda Write

functionDefinition*

UpdateGroup Concede permissão para atualizar um grupo Write

group*

UpdateGroupCertificateConfiguration Concede permissão para atualizar a hora de expiração do certificado de um grupo Write

group*

UpdateLoggerDefinition Concede permissão para atualizar a definição de um registrador Write

loggerDefinition*

UpdateResourceDefinition Concede permissão para atualizar a definição de um recurso Write

resourceDefinition*

UpdateSubscriptionDefinition Concede permissão para atualizar a definição de uma assinatura Write

subscriptionDefinition*

UpdateThingRuntimeConfiguration Concede permissão para atualizar a configuração de runtime de uma coisa Write

thingRuntimeConfig*

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}

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

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