Como o AWS Systems Manager funciona com o IAM
Antes de usar o AWS Identity and Access Management IAM para gerenciar o acesso ao AWS Systems Manager, você precisa saber quais recursos do IAM estão disponíveis para uso com o Systems Manager. Para ter uma visão geral de como o Systems Manager e outros Serviços da AWS funcionam com o IAM, consulte Serviços da AWS compatíveis com o IAM, no Guia do usuário do IAM.
Tópicos
Políticas baseadas em identidade Systems Manager
Com as políticas baseadas em identidade do IAM, é possível especificar ações e recursos permitidos ou negados e as condições sob as quais as ações são permitidas ou negadas. O Systems Manager oferece suporte a ações, recursos e chaves de condição específicos. Para saber mais sobre todos os elementos usados em uma política JSON, consulte Referência de elementos de política JSON do IAM no Guia do usuário do IAM.
Ações
Os administradores podem usar as políticas JSON da AWS para especificar quem tem acesso a o quê. Ou seja, qual entidade principal pode executar ações em quais recursos, e em que condições.
O elemento Action
de uma política JSON descreve as ações que você pode usar para permitir ou negar acesso em uma política. As ações de políticas geralmente têm o mesmo nome que a operação de API da AWS associada. Existem algumas exceções, como ações somente de permissão, que não têm uma operação de API correspondente. Algumas operações também exigem várias ações em uma política. Essas ações adicionais são chamadas de ações dependentes.
Incluem ações em uma política para conceder permissões para executar a operação associada.
As ações de políticas no Systems Manager usam o seguinte prefixo antes da ação: ssm:
. Por exemplo, para conceder a alguém permissão para criar um parâmetro do Systems Manager (parâmetro do SSM) com a operação de API PutParameter
do Systems Manager, inclua a ação ssm:PutParameter
na política da pessoa. As declarações de política devem incluir um elemento Action
ou Systems Manager. O NotAction
define seu próprio conjunto de ações que descrevem as tarefas que podem ser executadas com esse serviço.
Para especificar várias ações em uma única instrução, separe-as com vírgulas, como segue:
"Action": [ "ssm:action1", "ssm:action2" ]
nota
Os seguintes recursos do AWS Systems Manager usam prefixos diferentes antes das ações.
-
O AWS AppConfig usa o prefixo
appconfig:
antes das ações. -
O Incident Manager usa o prefixo
ssm-incidents:
oussm-contacts:
antes das ações. -
O Systems Manager GUI Connect usa o prefixo
ssm-guiconnect:
antes das ações. -
O Quick Setup usa o prefixo
ssm-quicksetup:
antes das ações.
Você também pode especificar várias ações usando caracteres-curinga (*). Por exemplo, para especificar todas as ações que começam com a palavra Describe
, inclua a seguinte ação:
"Action": "ssm:Describe*"
Para ver uma lista das ações do Systems Manager, consulte Ações definidas pelo AWS Systems Manager na Referência de autorização do serviço.
Recursos
Os administradores podem usar AWS as políticas JSON para especificar quem tem acesso a quê. Ou seja, qual entidade principal pode executar ações em quais recursos, e em que condições.
O elemento de política JSON Resource
especifica o objeto ou os objetos aos quais a ação se aplica. As instruções devem incluir um elemento Resource
ou NotResource
. Como prática recomendada, especifique um recurso usando seu nome do recurso da Amazon (ARN). Isso pode ser feito para ações que oferecem compatibilidade com um tipo de recurso específico, conhecido como permissões em nível de recurso.
Para ações que não oferecem compatibilidade com permissões em nível de recurso, como operações de listagem, use um curinga (*) para indicar que a instrução se aplica a todos os recursos.
"Resource": "*"
Por exemplo, o recurso da janela de manutenção do Systems Manager tem o seguinte formato ARN.
arn:aws:ssm:
region
:account-id
:maintenancewindow/window-id
Para especificar as janelas de manutenção mw-0c50858d01EXAMPLE na instrução na região Leste dos EUA (Ohio), você usaria um ARN semelhante ao que se segue.
"Resource": "arn:aws:ssm:us-east-2:
123456789012
:maintenancewindow/mw-0c50858d01EXAMPLE"
Para especificar todas as janelas de manutenção que pertencem a uma conta específica, use o curinga (*).
"Resource": "arn:aws:ssm:
region
:123456789012
:maintenancewindow/*"
Para ações de API do Parameter Store
, é possível fornecer ou restringir o acesso a todos parâmetros em um nível da hierarquia usando nomes hierárquicos e políticas do AWS Identity and Access Management (IAM), da seguinte maneira:
"Resource": "arn:aws:ssm:
region
:123456789012:parameter/Dev/ERP/Oracle/*"
Algumas ações do Systems Manager, como as ações para a criação de recursos, não podem ser executadas em um recurso específico. Nesses casos, você deve utilizar o caractere curinga (*).
"Resource": "*"
Algumas operações de API do Systems Manager aceitam vários recursos. Para especificar vários recursos em uma única instrução, separe seus ARNs com vírgulas, conforme o seguinte.
"Resource": [ "resource1", "resource2"
nota
A maioria dos Serviços da AWS trata dois pontos (:) e a barra inclinada (/) como o mesmo caractere em ARNs. No entanto, o Systems Manager requer uma correspondência exata nos padrões e regras de recursos. Ao criar padrões de eventos, lembre-se de usar os caracteres corretos do ARN para que correspondam ao ARN do recurso.
A tabela a seguir descreve os formatos de ARN para os tipos de recursos aceitos pelo Systems Manager.
nota
Observe as seguintes exceções aos formatos de ARN.
-
Os seguintes recursos do AWS Systems Manager usam prefixos diferentes antes das ações.
-
O AWS AppConfig usa o prefixo
appconfig:
antes das ações. -
O Incident Manager usa o prefixo
ssm-incidents:
oussm-contacts:
antes das ações. -
O Systems Manager GUI Connect usa o prefixo
ssm-guiconnect
antes das ações.
-
-
Documentos e recursos de definição de automação que pertencem à Amazon, bem como parâmetros públicos fornecidos pela Amazon e por fontes externas. Não incluem IDs de conta em seus formatos de ARN. Por exemplo:
-
O documento do SSM
AWS-RunPatchBaseline
:arn:aws:ssm:us-east-2::document/AWS-RunPatchBaseline
-
O runbooks de automação
AWS-ConfigureMaintenanceWindows
:arn:aws:ssm:us-east-2::automation-definition/AWS-ConfigureMaintenanceWindows
-
O parâmetro público
/aws/service/bottlerocket/aws-ecs-1-nvidia/x86_64/1.13.4/image_version
:arn:aws:ssm:us-east-2::parameter/aws/service/bottlerocket/aws-ecs-1-nvidia/x86_64/1.13.4/image_version
Para obter mais informações sobre esses três tipos de recursos consulte os seguintes tópicos:
-
-
O Quick Setup usa o prefixo
ssm-quicksetup:
antes das ações.
Tipo de recurso | Formato ARN |
---|---|
Aplicação (AWS AppConfig) | arn:aws:appconfig:region :account-id :application/application-id |
Associação | arn:aws:ssm:region :account-id :association/association-id |
Execução de automação | arn:aws:ssm:region :account-id :automation-execution/automation-execution-id |
Definição de automação (com sub-recurso da versão) |
arn:aws:ssm: |
Perfil de configuração (AWS AppConfig) | arn:aws:appconfig:region :account-id :application/application-id /configurationprofile/configurationprofile-id |
Contatos (Incident Manager) |
arn:aws:ssm-contacts: |
Estratégia de implantação (AWS AppConfig) | arn:aws:appconfig:region :account-id :deploymentstrategy/deploymentstrategy-id |
Documento |
arn:aws:ssm: |
Ambiente (AWS AppConfig) | arn:aws:appconfig:region :account-id :application/application-id /environment/environment-id |
O incidente |
arn:aws:ssm-incidents: |
Janela de manutenção |
arn:aws:ssm: |
Nó gerenciado |
arn:aws:ssm: |
Inventário de nós gerenciados | arn:aws:ssm:region :account-id :managed-instance-inventory/managed-node-id |
OpsItem | arn:aws:ssm:region :account-id :opsitem/OpsItem-id |
Parâmetro |
Parâmetro de um único nível:
Um parâmetro com nome de uma estrutura hierárquica:
|
Lista de referência de patches |
arn:aws:ssm: |
Plano de resposta |
arn:aws:ssm-incidents: |
Sessão |
arn:aws:ssm: |
Todos os recursos do Systems Manager |
arn:aws:ssm:* |
Todos os recursos do Systems Manager pertencentes à Conta da AWS especificada na Região da AWS especificada |
arn:aws:ssm: |
Para definições de automação, o Systems Manager oferece suporte a um recurso de segundo nível, o ID de versão. Na AWS, esses recursos de segundo nível são conhecidos como sub-recursos. A especificação de um sub-recurso de uma versão para um recurso de definição de automação permite que você forneça acesso a determinadas versões de uma definição de automação. Por exemplo, é provável que você queira garantir que apenas a versão mais recente de uma definição de automação seja usada no gerenciamento do nó.
Para organizar e gerenciar parâmetros, é possível criar nomes para parâmetros com uma estrutura hierárquica. Com construção hierárquica, um nome de parâmetro pode incluir um caminho definido usando-se barras. É possível atribuir um nome a um recurso de parâmetro com um máximo de quinze níveis. Sugerimos que você crie hierarquias que reflitam uma estrutura hierárquica existente no seu ambiente. Para ter mais informações, consulte Criar parâmetros do Parameter Store no Systems Manager.
Na maioria dos casos, o ID da sessão é criado usando o ID do usuário da conta que iniciou a sessão, além de um sufixo alfanumérico. Por exemplo:
arn:aws:us-east-2:111122223333:session/JohnDoe-1a2b3c4sEXAMPLE
No entanto, se o ID de usuário não estiver disponível, o ARN será construído dessa forma:
arn:aws:us-east-2:111122223333:session/session-1a2b3c4sEXAMPLE
Para obter mais informações sobre o formato de ARNs, consulte Nomes de recurso da Amazon (ARNs) na Referência geral da Amazon Web Services.
Para obter uma lista dos tipos de recursos do Systems Manager e seus ARNs, consulte Recursos definidos pelo AWS Systems Manager na Referência de autorização do serviço. Para saber com quais ações você pode especificar o ARN de cada recurso, consulte Ações definidas pelo AWS Systems Manager.
Chaves de condição do Systems Manager
Os administradores podem usar AWS as políticas JSON para especificar quem tem acesso a quê. Ou seja, qual entidade principal pode executar ações em quais recursos, e em que condições.
O elemento Condition
(ou bloco Condition
) permite que você especifique condições nas quais uma instrução estiver em vigor. O elemento Condition
é opcional. É possível criar expressões condicionais que usem agentes de condição, como “igual a” ou “menor que”, para fazer a condição da política corresponder aos valores na solicitação.
Se você especificar vários elementos Condition
em uma instrução ou várias chaves em um único Condition
elemento, a AWS os avaliará usando uma operação lógica AND
. Se você especificar vários valores para uma única chave de condição, a AWS avaliará a condição usando uma operação lógica OR
. Todas as condições devem ser atendidas antes que as permissões da instrução sejam concedidas.
Você também pode usar variáveis de espaço reservado ao especificar condições. Por exemplo, é possível conceder a um usuário do IAM permissão para acessar um atributo somente se ele estiver marcado com seu nome de usuário do IAM. Para obter mais informações, consulte Elementos da política do IAM: variáveis e tags no Guia do usuário do IAM.
A AWS oferece compatibilidade com chaves de condição globais e chaves de condição específicas do serviço. Para ver todas as chaves de condição globais da AWS, consulte Chaves de Contexto de Condição Globais da AWS no Guia do Usuário do IAM.
Para ver uma lista de chaves de condição do Systems Manager, consulte Chaves de Condição do AWS Systems Manager no campo Referência de Autorização do Serviço. Para saber com quais ações e recursos você pode usar uma chave de condição, consulte Ações definidas pelo AWS Systems Manager.
Para obter informações sobre como usar a chave de condição ssm:resourceTag/*
, consulte os tópicos a seguir:
Para obter informações sobre como usar as chaves de condição ssm:Recursive
, ssm:Policies
e ssm:Overwrite
, consulte Impedir o acesso às operações da API Parameter Store.
Exemplos
Para ver exemplos de políticas baseadas em identidade do Systems Manager, consulte Exemplos de políticas baseadas em identidade do AWS Systems Manager.
Políticas baseadas em recursos do Systems Manager
Outros Serviços da AWS, como o Amazon Simple Storage Service (Amazon S3), são compatíveis com políticas de permissões baseadas em recursos. Por exemplo: você pode anexar uma política de permissões a um bucket do S3 para gerenciar permissões de acesso a esse bucket.
O Systems Manager não é compatível com as políticas baseadas em recursos.
Autorização baseada em tags do Systems Manager
É possível anexar tags a recursos do Systems Manager ou passar tags em uma solicitação ao Systems Manager. Para controlar o acesso com base em tags, forneça informações sobre as tags no elemento de condição de uma política usando as chaves de condição ssm:resourceTag/
, key-name
aws:ResourceTag/
, key-name
aws:RequestTag/
ou key-name
aws:TagKeys
. É possível adicionar tags aos seguintes tipos de recursos ao criá-los ou atualizá-los:
-
Documento
-
Nó gerenciado
-
Janela de manutenção
-
Parâmetro
-
Lista de referência de patches
-
OpsItem
Para visualizar um exemplo de política baseada em identidade para limitar o acesso a um recurso baseado em tags desse recurso, consulte Visualizar documentos do Systems Manager com base em tags.
Perfis do IAM no Systems Manager
Um perfil do IAM é uma entidade dentro da sua Conta da AWS que tem permissões específicas.
Usar credenciais temporárias com o Systems Manager
É possível usar credenciais temporárias para fazer login com federação, assumir um perfil do IAM ou assumir um perfil entre contas. As credenciais de segurança temporárias são obtidas chamando operações da API do AWS Security Token Service (AWS STS), como AssumeRole ou GetFederationToken.
O Systems Manager oferece compatibilidade com o uso de credenciais temporárias.
Funções vinculadas a serviço
Funções vinculadas ao serviço permitem que os Serviços da AWS acessem recursos em outros serviços para concluir uma ação em seu nome. As funções vinculadas ao serviço são listadas em sua conta do IAM e são de propriedade do serviço. Um administrador do pode visualizar, mas não pode editar as permissões para funções vinculadas ao serviço.
Systems Manager é compatível com funções vinculadas ao serviço. Para obter detalhes sobre como criar ou gerenciar perfis vinculados a serviço do Systems Manager, consulte Usar funções vinculadas ao serviço do Systems Manager.
Perfis de serviço
Esse atributo permite que um serviço assuma um perfil de serviço em seu nome. O perfil permite que o serviço acesse recursos em outros serviços para concluir uma ação em seu nome. As funções de serviço são exibidas em sua conta do IAM e são de propriedade da conta. Isso significa que um administrador do pode alterar as permissões para essa função. Porém, fazer isso pode alterar a funcionalidade do serviço.
O Systems Manager oferece suporte às funções de serviço.
Selecionar uma função do IAM no Systems Manager
Para o Systems Manager interagir com os nós gerenciados, é necessário escolher uma função que permita que o Systems Manager acesse os nós em seu nome. Caso já tenha criado uma função de serviço ou função vinculada ao serviço, o Systems Manager fornecerá uma lista das funções para sua escolha. É importante escolher uma função que permita o acesso para iniciar e interromper nós gerenciados.
Para acessar as instâncias do EC2, é necessário configurar as permissões da instância. Para obter informações, consulte Configurar permissões de instância obrigatórias para o Systems Manager.
Para acessar nós que não são do EC2 em um ambiente híbrido e multinuvem, o perfil necessário para sua Conta da AWS é um perfil de serviço do IAM. Para obter informações, consulte Criar o perfil de serviço do IAM obrigatório para o Systems Manager em ambientes híbridos e multinuvem.
Um fluxo de trabalho de automação pode ser iniciado no contexto de uma função de serviço (ou função de admissão). Isso permite que o serviço execute ações em seu nome. Se você não especificar uma função de admissão, a Automação usará o contexto do usuário que invocou a execução. No entanto, determinadas situações exigem especificar uma função de serviço para automação. Para ter mais informações, consulte Configurar o acesso a uma função de serviço (função assumida) para automações.
Políticas gerenciadas pela AWS Systems Manager
A AWS aborda muitos casos de uso comuns fornecendo políticas autônomas do IAM que são criadas e administradas pela AWS. Essas políticas gerenciadas da AWS concedem as permissões necessárias para casos de uso comuns. Assim, você não precisa investigar quais permissões são necessárias. (Você também pode criar as próprias políticas do IAM personalizadas a fim de conceder permissões para ações e recursos do Systems Manager.)
Para obter mais informações sobre políticas gerenciadas para o Systems Manager, consulte Políticas gerenciadas pela AWS para o AWS Systems Manager
Para obter informações gerais sobre políticas gerenciadas, consulte Políticas gerenciadas pela AWS no Guia do usuário do IAM.