Controlar o acesso às janelas de manutenção (AWS CLI) - AWS Systems Manager

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Controlar o acesso às janelas de manutenção (AWS CLI)

Os procedimentos a seguir descrevem como usar a AWS CLI para criar as funções e permissões necessárias para a Janelas de manutenção.

Tarefa 1: (Opcional) Criar uma função de serviço personalizada para janelas de manutenção (AWS CLI)

Importante

Uma função de serviço personalizada não será necessária se você optar por usar uma função do Systems Manager vinculada ao serviço para permitir que as janelas de manutenção executem tarefas em seu nome. Se você não tiver uma função do Systems Manager vinculada ao serviço em sua conta, será possível criá-la ao criar ou atualizar uma tarefa de janela de manutenção usando o console do Systems Manager. Para obter mais informações, consulte os tópicos a seguir:

  1. Copie e cole a política de confiança a seguir em um arquivo de texto. Salve o arquivo com o seguinte nome e extensão: mw-role-trust-policy.json.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Abra a AWS CLI e execute o seguinte comando no diretório onde você colocou para criar uma função mw-role-trust-policy.json de janela de manutenção chamada my-maintenance-window-role. O comando atribui a política que você criou na etapa anterior a essa função.

    Linux
    aws iam create-role \ --role-name "my-maintenance-window-role" \ --assume-role-policy-document file://mw-role-trust-policy.json
    Windows
    aws iam create-role ^ --role-name "my-maintenance-window-role" ^ --assume-role-policy-document file://mw-role-trust-policy.json

    O sistema retorna informações como as seguintes.

    {
        "Role": {
            "AssumeRolePolicyDocument": {
                "Version": "2012-10-17",
                "Statement": [
                    {
                        "Action": "sts:AssumeRole",
                        "Effect": "Allow",
                        "Principal": {
                            "Service": "ssm.amazonaws.com"
                        }
                    }
                ]
            },
            "RoleId": "AROAIIZKPBKS2LEXAMPLE",
            "CreateDate": "2017-04-04T03:40:17.373Z",
            "RoleName": "my-maintenance-window-role",
            "Path": "/",
            "Arn": "arn:aws:iam::123456789012:role/my-maintenance-window-role"
        }
    }
    nota

    Anote o RoleName e os valores de Arn Especifique-os ao criar uma janela de manutenção que utiliza esta função personalizada.

  3. Execute o seguinte comando para anexar a política gerenciada AmazonSSMMaintenanceWindowRole à função que você criou na etapa 2.

    Linux
    aws iam attach-role-policy \ --role-name "my-maintenance-window-role" \ --policy-arn "arn:aws:iam::aws:policy/service-role/AmazonSSMMaintenanceWindowRole"
    Windows
    aws iam attach-role-policy ^ --role-name "my-maintenance-window-role" ^ --policy-arn "arn:aws:iam::aws:policy/service-role/AmazonSSMMaintenanceWindowRole"

Tarefa 2: Configurar permissões para usuários que têm permissão para registrar tarefas da janela de manutenção (AWS CLI)

Ao registrar uma tarefa com uma janela de manutenção, especifique uma função de serviço personalizada ou uma função do Systems Manager vinculada ao serviço para executar as operações de tarefa reais. Esta é a função que o serviço assumirá quando executar tarefas em seu nome. Antes disso, para registrar a tarefa em si, é necessário atribuir a política PassRole do IAM a uma conta de usuário do IAM ou a um grupo do IAM. Isso permite que o usuário do IAM ou grupo do IAM especifique, como parte do registro dessas tarefas na janela de manutenção, a função que deve ser usada ao executar tarefas. Para obter informações, consulte Conceder permissões ao usuário para passar uma função para um serviço da AWS no Guia do usuário do IAM.

Para configurar permissões para usuários que têm permissão para registrar tarefas da janela de manutenção (AWS CLI)

  1. Copie e cole a seguinte política do IAM em um editor de texto e salve-a com o seguinte nome e extensão de arquivo: mw-passrole-policy.json.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "custom-role-arn" }, { "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/" } ] }

    Substituir custom-role-arn com o ARN da função da janela de manutenção personalizada criada anteriormente, como arn:aws:iam::123456789012:role/my-maintenance-window-role.

    Substituir account-id nas duas iam:ListRoles permissões com o ID da sua conta da AWS. Adicionar essa permissão para o recurso arn:aws:iam::account-id:role/ permite que os usuários do grupo visualizem e escolham entre funções de cliente no console ao criar uma tarefa da janela de manutenção. Adicionar essa permissão para arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/ permite que os usuários do grupo escolham a função vinculada ao serviço do Systems Manager no console ao criar uma tarefa da janela de manutenção.

  2. Abra as AWS CLI.

  3. Se você estiver atribuindo a permissão a um usuário ou grupo do IAM, execute um dos seguintes comandos.

    • Para um usuário IAM

      Linux
      aws iam put-user-policy \ --user-name "user-name" \ --policy-name "policy-name" \ --policy-document file://path-to-document
      Windows
      aws iam put-user-policy ^ --user-name "user-name" ^ --policy-name "policy-name" ^ --policy-document file://path-to-document

      Para user-name, especifique o IAM usuário do que atribui tarefas a janelas de manutenção. Para policy-name, especifique o nome que você deseja usar para identificar a política, como my-iam-passrole-policy. Para path-to-document, especifique o caminho para o arquivo que você salvou na etapa 1. Por exemplo: file://C:\Temp\mw-passrole-policy.json

      nota

      Para conceder acesso a um usuário para registrar tarefas para janelas de manutenção usando o console do AWS Systems Manager, também será necessário atribuir a política AmazonSSMFullAccess à sua conta de usuário ou uma política do IAM que forneça um conjunto menor de permissões de acesso ao Systems Manager que abranja tarefas da janela de manutenção. Para obter mais informações, consulte Criar grupos de usuários e Criar usuários e atribuir permissões. Execute o comando a seguir para atribuir a AmazonSSMFullAccess política à sua conta.

      Linux
      aws iam attach-user-policy \ --policy-arn "arn:aws:iam::aws:policy/AmazonSSMFullAccess" \ --user-name "user-name"
      Windows
      aws iam attach-user-policy ^ --policy-arn "arn:aws:iam::aws:policy/AmazonSSMFullAccess" ^ --user-name "user-name"
    • Para um grupo IAM

      Linux
      aws iam put-group-policy \ --group-name "group-name" \ --policy-name "policy-name" \ --policy-document file://path-to-document
      Windows
      aws iam put-group-policy ^ --group-name "group-name" ^ --policy-name "policy-name" ^ --policy-document file://path-to-document

      Para group-name, especifique o IAM grupo do cujos membros atribuem tarefas a janelas de manutenção. Para policy-name, especifique o nome que você deseja usar para identificar a política, como my-iam-passrole-policy. Para path-to-document, especifique o caminho para o arquivo que você salvou na etapa 1. Por exemplo: file://C:\Temp\mw-passrole-policy.json

      nota

      Para conceder acesso a membros de um grupo para registrar tarefas para janelas de manutenção usando o console do AWS Systems Manager, também será necessário atribuir a política AmazonSSMFullAccess ao grupo. Execute o seguinte comando para atribuir essa política ao seu grupo.

      Linux
      aws iam attach-group-policy \ --policy-arn "arn:aws:iam::aws:policy/AmazonSSMFullAccess" \ --group-name "group-name"
      Windows
      aws iam attach-group-policy ^ --policy-arn "arn:aws:iam::aws:policy/AmazonSSMFullAccess" ^ --group-name "group-name"
  4. Execute o seguinte comando para verificar se a política foi atribuída ao grupo.

    Linux
    aws iam list-group-policies \ --group-name "group-name"
    Windows
    aws iam list-group-policies ^ --group-name "group-name"

Tarefa 3: Configurar permissões para usuários que não têm permissão para registrar tarefas da janela de manutenção (AWS CLI)

  1. Copie e cole a seguinte política do IAM em um editor de texto e salve-a com o seguinte nome e extensão de arquivo: deny-mw-tasks-policy.json.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "ssm:RegisterTaskWithMaintenanceWindow", "Resource": "*" } ] }
  2. Abra as AWS CLI.

  3. Se você estiver atribuindo a permissão a um usuário ou grupo do IAM, execute um dos seguintes comandos.

    • Para um usuário IAM

      Linux
      aws iam put-user-policy \ --user-name "user-name" \ --policy-name "policy-name" \ --policy-document file://path-to-document
      Windows
      aws iam put-user-policy ^ --user-name "user-name" ^ --policy-name "policy-name" ^ --policy-document file://path-to-document

      Para user-name, especifique o IAM usuário para impedir que o atribua tarefas a janelas de manutenção. Para policy-name, especifique o nome que você deseja usar para identificar a política, como my-deny-mw-tasks-policy. Para path-to-document, especifique o caminho para o arquivo que você salvou na etapa 1. Por exemplo: file://C:\Temp\deny-mw-tasks-policy.json

    • Para um grupo IAM

      Linux
      aws iam put-group-policy \ --group-name "group-name" \ --policy-name "policy-name" \ --policy-document file://path-to-document
      Windows
      aws iam put-group-policy ^ --group-name "group-name" ^ --policy-name "policy-name" ^ --policy-document file://path-to-document

      Para group-name, especifique o IAM grupo do qual impedir que o atribua tarefas a janelas de manutenção. Para policy-name, especifique o nome que você deseja usar para identificar a política, como my-deny-mw-tasks-policy. Para path-to-document, especifique o caminho para o arquivo que você salvou na etapa 1. Por exemplo: file://C:\Temp\deny-mw-tasks-policy.json

  4. Execute o seguinte comando para verificar se a política foi atribuída ao grupo.

    Linux
    aws iam list-group-policies \ --group-name "group-name"
    Windows
    aws iam list-group-policies ^ --group-name "group-name"