Control access to maintenance windows using the console
Os procedimentos a seguir descrevem como usar o console do AWS Systems Manager para criar as permissões e perfis necessários para janelas de manutenção.
Tópicos
- Tarefa 1: crie uma política personalizada para seu perfil de serviço de janela de manutenção usando o console
- Tarefa 2: crie um perfil de serviço personalizado para janelas de manutenção usando o console
- Tarefa 3: conceda permissões a usuários especificados para que registrem tarefas da janela de manutenção usando o console
- Tarefa 4: evite que usuários especificados registrem tarefas da janela de manutenção usando o console
Tarefa 1: crie uma política personalizada para seu perfil de serviço de janela de manutenção usando o console
As tarefas de janela de manutenção exigem um perfil do IAM para fornecer as permissões necessárias para serem executadas nos recursos de destino. As permissões são fornecidas por meio de uma política do IAM anexada ao perfil. Os tipos de tarefas executadas e seus outros requisitos operacionais determinam o conteúdo dessa política. Fornecemos uma política básica que você pode adaptar às suas necessidades. Dependendo das tarefas e dos tipos de tarefas que as janelas de manutenção executam, talvez você não precise de todas as permissões nesta política, e talvez seja necessário incluir permissões adicionais. Você anexará essa política ao perfil que criar posteriormente na Tarefa 2: crie um perfil de serviço personalizado para janelas de manutenção usando o console.
Para criar uma política personalizada usando o console
Abra o console do IAM em https://console.aws.amazon.com/iam/
. -
No painel de navegação, escolha Políticas e, em seguida, Criar política.
-
Na área Editor de políticas, escolha JSON.
-
Substitua o conteúdo padrão pelo seguinte:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:SendCommand", "ssm:CancelCommand", "ssm:ListCommands", "ssm:ListCommandInvocations", "ssm:GetCommandInvocation", "ssm:GetAutomationExecution", "ssm:StartAutomationExecution", "ssm:ListTagsForResource", "ssm:GetParameters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "states:DescribeExecution", "states:StartExecution" ], "Resource": [ "arn:aws:states:*:*:execution:*:*", "arn:aws:states:*:*:stateMachine:*" ] }, { "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:*:*:function:*" ] }, { "Effect": "Allow", "Action": [ "resource-groups:ListGroups", "resource-groups:ListGroupResources" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "tag:GetResources" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": [ "ssm.amazonaws.com" ] } } } ] }
-
Modifique o conteúdo JSON conforme necessário para as tarefas de manutenção executadas na sua conta. As alterações feitas são específicas para suas operações planejadas.
Por exemplo:
-
Você pode fornecer nomes do recurso da Amazon (ARNs) para funções específicas e máquinas de estado em vez de usar qualificadores-curinga (*).
-
Se você não planeja executar tarefas do AWS Step Functions, é possível remover as permissões
states
e os ARNs. -
Se você não planeja executar tarefas do AWS Lambda, é possível remover as permissões
lambda
e os ARNs. -
Se você não planeja executar tarefas do Automation, é possível remover as permissões
ssm:GetAutomationExecution
essm:StartAutomationExecution
. -
Adicione mais permissões que podem ser necessárias para que as tarefas sejam executadas. Por exemplo, algumas ações da Automação trabalham com pilhas do AWS CloudFormation. Portanto, as permissões
cloudformation:CreateStack
,cloudformation:DescribeStacks
, ecloudformation:DeleteStack
são necessárias.Outro exemplo: o runbook
AWS-CopySnapshot
do Automation requer permissão para criar um snapshot do Amazon Elastic Block Store (Amazon EBS). Portanto, o perfil de serviço precisa da permissãoec2:CreateSnapshot
.Para obter informações sobre as permissões de perfil necessárias para os runbooks do Automation, consulte as descrições de runbooks em Referência de runbooks do AWS Systems Manager Automation.
-
-
Depois de concluir as revisões da política, escolha Próximo.
-
Em Nome da política, insira um nome que identifique isso como a política anexada pelo perfil de serviço que você cria. Por exemplo:
my-maintenance-window-role-policy
. -
(Opcional) Na área Adicionar tags, adicione um ou mais pares de chave-valor de etiqueta para organizar, monitorar ou controlar acesso para essa política.
-
Escolha Criar política.
Anote o nome que você especificou para a política. Você fará referência a ele no próximo procedimento, Tarefa 2: crie um perfil de serviço personalizado para janelas de manutenção usando o console.
Tarefa 2: crie um perfil de serviço personalizado para janelas de manutenção usando o console
A política que você criou na tarefa anterior está anexada ao perfil de serviço da janela de manutenção criado na mesma. Quando os usuários registram uma tarefa de janela de manutenção, eles especificam esse perfil do IAM como parte da configuração da tarefa. As permissões nesse perfil permitem que o Systems Manager execute tarefas em janelas de manutenção em seu nome.
Importante
Anteriormente, o console do Systems Manager permitia a você escolher o perfil AWSServiceRoleForAmazonSSM
vinculado ao serviço do IAM gerenciado pela AWS para usar como perfil de manutenção para suas tarefas. O uso desse perfil e sua política associada, AmazonSSMServiceRolePolicy
, para tarefas de janela de manutenção não é mais recomendado. Se estiver usando esse perfil para tarefas de janela de manutenção agora, recomendamos parar de usá-lo. Em vez disso, crie seu próprio perfil do IAM para permitir a comunicação entre o Systems Manager e outros Serviços da AWS quando as tarefas da janela de manutenção são executadas.
Use o procedimento a seguir para criar um perfil de serviço personalizado para as Maintenance Windows, para que o Systems Manager possa executar tarefas de Maintenance Windows em seu nome. Basta anexar a política criada na tarefa anterior ao perfil de serviço personalizado criado.
Para criar um perfil de serviço personalizado para janelas de manutenção usando o console
Abra o console do IAM em https://console.aws.amazon.com/iam/
. -
No painel de navegação, escolha Roles e Create role.
-
Em Select trusted entity (Selecionar entidade confiável), faça as seguintes escolhas:
-
Em Tipo de entidade confiável, escolha Serviços da AWS.
-
Em Caso de uso, escolha Systems Manager
-
Escolha Systems Manager.
A imagem a seguir destaca a localização da opção Systems Manager.
-
-
Escolha Próximo.
-
Na área Políticas de permissões, na caixa de pesquisa, insira o nome da política que você criou na Tarefa 1: crie uma política personalizada para seu perfil de serviço de janela de manutenção usando o console, marque a caixa ao lado do nome e escolha Próximo.
-
Em Role name (Nome da regra), insira um nome que identifique essa função como uma função da Maintenance Windows. Por exemplo:
my-maintenance-window-role
. -
(Opcional) Altere a descrição da função padrão para refletir a finalidade dessa função. Por exemplo:
Performs maintenance window tasks on your behalf
. -
Na Etapa 1: Selecionar entidades confiáveis, verifique se a política a seguir é exibida na caixa Política confiável.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Na Etapa 2: Adicionar permissões, verifique se a política que você criou Tarefa 1: crie uma política personalizada para seu perfil de serviço de janela de manutenção usando o console está presente.
-
(Opcional) Em Etapa 3: Adicionar tags, adicione um ou mais pares de valor tag-chave para organizar, monitorar ou controlar acesso para esse perfil.
-
Selecione Create role (Criar função). O sistema faz com que você retorne para a página Roles.
-
Escolha o nome do perfil do IAM que você acabou de criar.
-
Copie ou anote o nome do perfil e o valor do ARN na área Summary (Resumo). Os usuários em sua conta especificam essas informações ao criarem janelas de manutenção.
Tarefa 3: conceda permissões a usuários especificados para que registrem tarefas da janela de manutenção usando o console
Fornecer aos usuários permissões para acessar o perfil de serviço da janela de manutenção personalizado permite que eles a usem com suas tarefas de janelas de manutenção. Isso é além das permissões que você concedeu a eles para trabalhar com os comandos da API do Systems Manager para a capacidade do Maintenance Windows. Esse perfil do IAM transmite as permissões necessárias para executar uma tarefa de janela de manutenção. Como resultado, um usuário não poderá registrar tarefas a uma janela de manutenção usando seu perfil de serviço personalizado sem a capacidade de passar essas permissões do IAM.
Ao registrar uma tarefa em uma janela de manutenção, você especifica um perfil de serviço para executar as operações de tarefas reais. Esta é a função que o serviço assumirá quando executar tarefas em seu nome. Antes disso, para registrar a própria tarefa, é necessário atribuir a política do IAM PassRole
a uma entidade do IAM (como um usuário ou grupo). Isso permite que a entidade do IAM especifique, como parte do registro dessas tarefas na janela de manutenção, o perfil que deve ser usado ao executar as tarefas. Para obter informações, consulte Conceda permissões a um usuário para passar um perfil para um AWS service (Serviço da AWS), no Guia do usuário do IAM.
Para configurar permissões para permitir que usuários registrem tarefas da janela de manutenção
Se uma entidade do IAM (usuário, perfil ou grupo) for configurada com permissões de administrador, o usuário ou o perfil do IAM terá acesso às janelas de manutenção. Para entidades do IAM que não têm permissões de administrador, um administrador deve conceder as permissões a seguir à entidade do IAM. Estas são as permissões mínimas requeridas para o registro de tarefas em uma janela de manutenção:
-
A política gerenciada
AmazonSSMFullAccess
ou uma política que forneça permissões comparáveis. -
O seguinte
iam:PassRole
e as permissõesiam:ListRoles
.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::
account-id
:role/my-maintenance-window-role
" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id
:role/" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id
:role/aws-service-role/ssm.amazonaws.com/" } ] }my-maintenance-window-role
representa o nome do perfil de serviço da janela de manutenção personalizada criada anteriormente.account-id
representa o ID da Conta da AWS. Adicionar essa permissão para o recursoarn:aws:iam::
permite que um usuário visualize e escolha entre funções de cliente no console ao criar uma tarefa da janela de manutenção. A adição dessa permissão paraaccount-id
:role/arn:aws:iam::
permite que um usuário escolha a função vinculada ao serviço do Systems Manager no console ao criar uma tarefa da janela de manutenção.account-id
:role/aws-service-role/ssm.amazonaws.com/Para conceder acesso, adicione as permissões aos seus usuários, grupos ou perfis:
-
Usuários e grupos no AWS IAM Identity Center:
Crie um conjunto de permissões. Siga as instruções em Criação de um conjunto de permissões no Guia do usuário do AWS IAM Identity Center.
-
Usuários gerenciados no IAM com provedor de identidades:
Crie um perfil para a federação de identidades. Siga as instruções em Criando um perfil para um provedor de identidades de terceiros (federação) no Guia do Usuário do IAM.
-
Usuários do IAM:
-
Crie um perfil que seu usuário possa assumir. Siga as instruções em Criação de um perfil para um usuário do IAM no Guia do usuário do IAM.
-
(Não recomendado) Vincule uma política diretamente a um usuário ou adicione um usuário a um grupo de usuários. Siga as instruções em Adição de permissões a um usuário (console) no Guia do usuário do IAM.
-
-
Para configurar permissões para grupos que tiverem permissão para registrar tarefas da janela de manutenção usando o console
Abra o console do IAM em https://console.aws.amazon.com/iam/
. -
No painel de navegação, selecione User groups (Grupos de usuários).
-
Na lista de grupos, selecione o nome do grupo do qual você deseja atribuir a permissão
iam:PassRole
, ou crie primeiro um novo grupo, se necessário. -
Na guia Permissions (Permissões), escolha Add permissions, Create inline policy (Adicionar permissões, Criar política em linha).
-
Na área Editor de políticas, escolha JSON, e substitua o conteúdo padrão da caixa, pelo seguinte:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::
account-id
:role/my-maintenance-window-role
" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id
:role/" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id
:role/aws-service-role/ssm.amazonaws.com/" } ] }my-maintenance-window-role
representa o nome da função da janela de manutenção personalizada criada anteriormente.account-id
representa o ID da Conta da AWS. Adicionar essa permissão para o recursoarn:aws:iam::
permite que um usuário visualize e escolha entre funções de cliente no console ao criar uma tarefa da janela de manutenção. A adição dessa permissão paraaccount-id
:role/arn:aws:iam::
permite que um usuário escolha a função vinculada ao serviço do Systems Manager no console ao criar uma tarefa da janela de manutenção.account-id
:role/aws-service-role/ssm.amazonaws.com/ -
Escolha Próximo.
-
Na página Analisar e criar, insira um nome na caixa Nome da política para identificar essa política de
PassRole
, comomy-group-iam-passrole-policy
, e selecione Criar política.
Tarefa 4: evite que usuários especificados registrem tarefas da janela de manutenção usando o console
É possível negar a permissão ssm:RegisterTaskWithMaintenanceWindow
aos usuários da sua Conta da AWS para os quais você não quer registrar tarefas com janelas de manutenção. Isso fornece uma camada extra de prevenção para usuários que não devem registrar tarefas da janela de manutenção.
Para configurar permissões para grupos sem permissão para registrar tarefas da janela de manutenção usando o console
Abra o console do IAM em https://console.aws.amazon.com/iam/
. -
No painel de navegação, selecione User groups (Grupos de usuários).
-
Na lista de grupos, selecione o nome do grupo do qual você deseja recusar a permissão
ssm:RegisterTaskWithMaintenanceWindow
, ou crie primeiro um novo grupo, se necessário. -
Na guia Permissions (Permissões), escolha Add permissions, Create inline policy (Adicionar permissões, Criar política em linha).
-
Na área Editor de políticas, escolha JSON, em seguida substitua o conteúdo padrão da caixa, pelo seguinte:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ssm:RegisterTaskWithMaintenanceWindow", "Resource": "*" } ] }
-
Escolha Próximo.
-
Na página Analisar e criar, em Nome da política, insira um nome para identificar a política, como
my-groups-deny-mw-tasks-policy
, e selecione Criar política.