Criar o perfil de serviço do IAM obrigatório para o Systems Manager em ambientes híbridos e multinuvem
Máquinas que não são do Amazon Elastic Compute Cloud (EC2) em um ambiente híbrido e multinuvem exigem um perfil de serviço do AWS Identity and Access Management (IAM) para se comunicarem com o serviço do AWS Systems Manager. A atribuição de função do AWS Security Token Service (AWS STS) AssumeRole
confiança para o serviço Systems Manager. Só é necessário criar um perfil de serviço para um ambiente híbrido e multinuvem uma vez para cada Conta da AWS. No entanto, você poderá optar por criar vários perfis de serviço para diferentes ativações híbridas se as máquinas em seu ambiente híbrido e multinuvem exigirem permissões diferentes.
Os procedimentos a seguir descrevem como criar a função de serviço necessária usando o console do Systems Manager ou sua ferramenta de linha de comando preferida.
Usar o AWS Management Console para criar um perfil de serviço do IAM para ativações híbridas do Systems Manager
Use o procedimento a seguir para criar um perfil de serviço para a ativação híbrida. Este procedimento usa a política AmazonSSMManagedInstanceCore
para a funcionalidade principal do Systems Manager. Dependendo do seu caso de uso, talvez seja necessário adicionar políticas à sua função de serviço em máquinas on-premises para poder acessar outros recursos ou Serviços da AWS. Por exemplo, sem acesso aos buckets necessários do Amazon Simple Storage Service (Amazon S3), gerenciados pela AWS, as operações de aplicação de patches do Patch Manager falham.
Como criar uma função de serviço do (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ço da AWS.
-
Em Casos de uso para outros Serviços da AWS, escolha Systems Manager.
-
Escolha Systems Manager, como mostrado na imagem a seguir.
-
Escolha Próximo.
-
Na página Add permissions (Adicionar permissões), faça o seguinte:
-
Use o campo Search (Pesquisar) para localizar AmazonSSMManagedInstanceCore. Marque a caixa de seleção ao lado do nome.
-
O console reterá sua seleção mesmo que você pesquise outras políticas.
-
Se você tiver criado uma política de bucket do S3 personalizada no procedimento anterior, (Opcional) Criação de uma política personalizada para acesso ao bucket do S3, procure-a e marque a caixa de seleção ao lado de seu nome.
-
Se você planejar ingressar máquinas que não são do EC2 em um Active Directory gerenciado pelo AWS Directory Service, pesquise por AmazonSSMDirectoryServiceAccess e marque a caixa de seleção ao lado do nome.
-
Se você pretende usar o EventBridge ou o CloudWatch Logs para gerenciar ou monitorar seu nó gerenciado, pesquise por CloudWatchAgentServerPolicy e marque a caixa de seleção ao lado do nome.
-
Escolha Próximo.
-
Em Nome do perfil, insira um nome para o novo perfil de servidor do IAM, como SSMServerRole
.
Anote o nome da função. Você escolherá esse perfil ao registrar novas máquinas que deseja gerenciar usando o Systems Manager.
-
(Opcional) Em Descrição, atualize a descrição deste perfil de servidor do IAM.
-
(Opcional) em Tags, adicione um ou mais pares de valores tag-chave para organizar, monitorar ou controlar acesso para essa função.
-
Selecione Create role (Criar função). O sistema faz com que você retorne para a página Roles.
Usar o AWS CLI para criar um perfil de serviço do IAM para ativações híbridas do Systems Manager
Use o procedimento a seguir para criar um perfil de serviço para a ativação híbrida. Este procedimento usa a política AmazonSSMManagedInstanceCore
para a funcionalidade principal do Systems Manager. Dependendo do caso de uso, talvez seja necessário adicionar outras políticas ao perfil de serviço em máquinas que não são do EC2 em um ambiente híbrido e multinuvem para poder acessar outros recursos ou Serviços da AWS.
Requisito de política do bucket do S3
Se qualquer um dos seguintes casos for verdadeiro, crie uma política de permissões personalizada do IAM e para os buckets do Amazon Simple Storage Service (Amazon S3) antes de concluir este procedimento:
-
Caso 1: você está usando um endpoint da VPC para conectar de forma privada sua VPC aos Serviços da AWS compatíveis e aos serviços do endpoint da VPC com a tecnologia AWS PrivateLink.
-
Caso 2: você planeja usar um bucket do Amazon S3 criado como parte das operações do Systems Manager, por exemplo, para armazenar a saída para comandos do Run Command ou as sessões do Session Manager em um bucket do S3. Antes de continuar, siga as etapas em Create a custom S3 bucket policy for an instance profile (Criar uma política personalizada de bucket do S3 para um perfil de instância). As informações sobre políticas de bucket do S3 neste tópico também se aplicam à sua função de serviço.
- AWS CLI
-
Para criar um perfil de serviço do IAM para um ambiente híbrido e multinuvem (AWS CLI)
Instale e configure a AWS Command Line Interface (AWS CLI), caso ainda não o tenha feito.
Para obter informações, consulte Instalar ou atualizar a versão mais recente da AWS CLI.
-
Em sua máquina local, crie um arquivo de texto com um nome como SSMService-Trust.json
com a política de confiança a seguir. Certifique-se de salvar o arquivo com a extensão de arquivo .json
. Especifique a Conta da AWS e a Região da AWS no ARN onde você criou a ativação híbrida.
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"",
"Effect":"Allow",
"Principal":{
"Service":"ssm.amazonaws.com"
},
"Action":"sts:AssumeRole",
"Condition":{
"StringEquals":{
"aws:SourceAccount":"123456789012
"
},
"ArnEquals":{
"aws:SourceArn":"arn:aws:ssm:us-east-2
:123456789012
:*"
}
}
}
]
}
-
Abra a AWS CLI e, no diretório em que você criou o arquivo JSON, execute o create-role para criar a função de serviço. Este exemplo cria uma função chamada SSMServiceRole
. É possível escolher outro nome, se você preferir.
Linux & macOSWindows
- Linux & macOS
aws iam create-role \
--role-name SSMServiceRole \
--assume-role-policy-document file://SSMService-Trust.json
- Windows
aws iam create-role ^
--role-name SSMServiceRole ^
--assume-role-policy-document file://SSMService-Trust.json
-
Execute o comando attach-role-policy da maneira a seguir para permitir que a função de serviço recém-criada crie um token de sessão. O token de sessão concede ao seu nó gerenciado permissão para executar comandos usando o Systems Manager.
As políticas que você adicionar para um perfil de serviço para nós gerenciados em um ambiente híbrido e multinuvem serão as mesmas políticas usadas para criar um perfil de instância para instâncias do Amazon Elastic Compute Cloud (Amazon EC2). Para obter mais informações sobre as políticas da AWS usadas nos comandos a seguir, consulte Configurar permissões de instância obrigatórias para o Systems Manager.
(Obrigatório) Execute o comando a seguir para permitir que um nó gerenciado use a funcionalidade básica do serviço do AWS Systems Manager.
Linux & macOSWindows
- Linux & macOS
aws iam attach-role-policy \
--role-name SSMServiceRole \
--policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
- Windows
aws iam attach-role-policy ^
--role-name SSMServiceRole ^
--policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
Se você tiver criado uma política de bucket do S3 personalizada para sua função de serviço, execute o comando a seguir para permitir que o AWS Systems Manager Agent (SSM Agent) acesse os buckets que você especificou na política. Substitua account-id
e amzn-s3-demo-bucket
pelo ID da Conta da AWS e o nome do bucket.
Linux & macOSWindows
- Linux & macOS
aws iam attach-role-policy \
--role-name SSMServiceRole \
--policy-arn arn:aws:iam::account-id
:policy/amzn-s3-demo-bucket
- Windows
aws iam attach-role-policy ^
--role-name SSMServiceRole ^
--policy-arn arn:aws:iam::account-id
:policy/amzn-s3-demo-bucket
(Opcional) Execute o comando a seguir para permitir que o SSM Agent acesse o AWS Directory Service em seu nome para solicitações para ingressar no domínio pelo nó gerenciado. Seu perfil de serviço precisará dessa política somente se você integrar seus nós a um diretório do Microsoft AD.
Linux & macOSWindows
- Linux & macOS
aws iam attach-role-policy \
--role-name SSMServiceRole \
--policy-arn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess
- Windows
aws iam attach-role-policy ^
--role-name SSMServiceRole ^
--policy-arn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess
(Opcional) Execute o comando a seguir para permitir que o agente do CloudWatch seja executado nos seus nós gerenciados. Este comando permite ler informações em um nó e gravá-las no CloudWatch. Seu perfil de serviço precisará dessa política somente se você pretende usar serviços como o Amazon EventBridge ou Amazon CloudWatch Logs.
aws iam attach-role-policy \
--role-name SSMServiceRole \
--policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
- Tools for PowerShell
-
Para criar um perfil de serviço do IAM para um ambiente híbrido e multinuvem (AWS Tools for Windows PowerShell)
Instale e configure o AWS Tools for PowerShell (Ferramentas para Windows PowerShell), caso ainda não o tenha feito.
Para obter informações, consulte Instalar o AWS Tools for PowerShell.
-
Em sua máquina local, crie um arquivo de texto com um nome como SSMService-Trust.json
com a política de confiança a seguir. Certifique-se de salvar o arquivo com a extensão de arquivo .json
. Especifique a Conta da AWS e a Região da AWS no ARN onde você criou a ativação híbrida.
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"",
"Effect":"Allow",
"Principal":{
"Service":"ssm.amazonaws.com"
},
"Action":"sts:AssumeRole",
"Condition":{
"StringEquals":{
"aws:SourceAccount":"123456789012
"
},
"ArnEquals":{
"aws:SourceArn":"arn:aws:ssm:region
:123456789012
:*"
}
}
}
]
}
-
Abra o PowerShell no modo administrativo e no diretório em que você criou o arquivo JSON, execute oNew-IAMRoleda seguinte maneira para criar uma função de serviço. Este exemplo cria uma função chamada SSMServiceRole
. É possível escolher outro nome, se você preferir.
New-IAMRole `
-RoleName SSMServiceRole `
-AssumeRolePolicyDocument (Get-Content -raw SSMService-Trust.json)
-
Use Register-IAMRolePolicy conforme a seguir para permitir a função de serviço que você criou para criar um token de sessão. O token de sessão concede ao seu nó gerenciado permissão para executar comandos usando o Systems Manager.
As políticas que você adicionar para um perfil de serviço para nós gerenciados em um ambiente híbrido e multinuvem serão as mesmas políticas usadas para criar um perfil de instância para instâncias do EC2. Para obter mais informações sobre as políticas da AWS usadas nos comandos a seguir, consulte Configurar permissões de instância obrigatórias para o Systems Manager.
(Obrigatório) Execute o comando a seguir para permitir que um nó gerenciado use a funcionalidade básica do serviço do AWS Systems Manager.
Register-IAMRolePolicy `
-RoleName SSMServiceRole `
-PolicyArn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
Se você tiver criado uma política de bucket do S3 personalizada para sua função de serviço, execute o comando a seguir para permitir que o SSM Agent acesse os buckets que você especificou na política. Substitua account-id
e my-bucket-policy-name
pelo ID da Conta da AWS e o nome do bucket.
Register-IAMRolePolicy `
-RoleName SSMServiceRole `
-PolicyArn arn:aws:iam::account-id
:policy/my-bucket-policy-name
(Opcional) Execute o comando a seguir para permitir que o SSM Agent acesse o AWS Directory Service em seu nome para solicitações para ingressar no domínio pelo nó gerenciado. Seu perfil de servidor precisará dessa política somente se você integrar seus nós a um diretório do Microsoft AD.
Register-IAMRolePolicy `
-RoleName SSMServiceRole `
-PolicyArn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess
(Opcional) Execute o comando a seguir para permitir que o agente do CloudWatch seja executado nos seus nós gerenciados. Este comando permite ler informações em um nó e gravá-las no CloudWatch. Seu perfil de serviço precisará dessa política somente se você pretende usar serviços como o Amazon EventBridge ou Amazon CloudWatch Logs.
Register-IAMRolePolicy `
-RoleName SSMServiceRole `
-PolicyArn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
Avance para Criar uma ativação híbrida para registrar nós no Systems Manager.