

• O AWS Systems Manager CloudWatch Dashboard não estará mais disponível a partir de 30 de abril de 2026. Os clientes podem continuar usando o console do Amazon CloudWatch para visualizar, criar e gerenciar os painéis do Amazon CloudWatch exatamente como fazem hoje. Para obter mais informações, consulte a [documentação do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

# Pré-requisitos do Azure
<a name="cloud-connector-prereqs-azure"></a>

Conclua as etapas a seguir no ambiente do Azure. Você precisa dos seguintes valores dos pré-requisitos da AWS:
+ **URL do emissor**: o URL do emissor do AWS OIDC da seção anterior.
+ **Assunto**: o ARN do perfil de federação do Systems Manager para Azure, por exemplo: `arn:aws:iam::{{ACCOUNT_ID}}:role/service-role/SSM-AzureRole-{{connector-name}}-{{id8}}`

**Para configurar o lado do Azure da federação**

1. 

**Criar uma aplicação do Azure Entra ID**

   Crie um registro de aplicação no Microsoft Entra ID (antigo Azure Active Directory). Anote o *ID da aplicação (cliente)* na saída.

   ```
   az ad app create --display-name "{{AWSSSMAzureIntegration}}" --query appId
   ```

1. 

**Criar uma entidade principal de serviço para a aplicação**

   Crie uma entidade principal de serviço associada à aplicação. Anote o *ID* da entidade principal do serviço na saída.

   ```
   az ad sp create --id {{APPLICATION_ID}}
   ```

1. 

**Adicionar uma credencial de identidade federada**

   Adicione uma credencial de identidade federada à aplicação que confia no emissor do AWS OIDC. Isso permite que o Azure aceite tokens emitidos pela AWS em nome do perfil de federação do Systems Manager Azure (consulte [Perfil de federação do Azure](cloud-connector-azure-federation-role.md)).

   ```
   az ad app federated-credential create \
       --id {{APPLICATION_ID}} \
       --parameters "{
           \"name\": \"aws-ssm-federation\",
           \"issuer\": \"{{AWS_OIDC_ISSUER_URL}}\",
           \"subject\": \"arn:aws:iam::{{ACCOUNT_ID}}:role/service-role/SSM-AzureRole-{{CONNECTOR_NAME}}-{{ID8}}\",
           \"audiences\": [\"api://AzureADTokenExchange\"]
       }"
   ```

   Substitua:
   + {{APPLICATION\_ID}}: o ID da aplicação (cliente) da Etapa 1.
   + {{AWS\_OIDC\_ISSUER\_URL}}: o URL do emissor do AWS OIDC (por exemplo, `https://a1667813-695b-5415-b0f7-d473d62bb123.tokens.sts.global.api.aws`).
   + {{ACCOUNT\_ID}}: seu ID da Conta da AWS.
   + {{CONNECTOR\_NAME}}: o nome de exibição limpo do seu Cloud Connector.
   + {{ID8}}: os primeiros oito caracteres do UUID atribuídos ao perfil de federação do Azure. Você pode encontrar isso no nome do perfil após criar o Cloud Connector no Console de gerenciamento da AWS ou especificá-lo ao criar o perfil manualmente (consulte [Perfil de federação do Azure](cloud-connector-azure-federation-role.md)).

1. 

**Criar o perfil personalizado de Run Command para VMs**

   Crie um perfil personalizado que conceda as permissões mínimas necessárias para que o Systems Manager execute comandos nas VMs do Azure. Substitua {{SUBSCRIPTION\_ID}} pelo ID de assinatura do Azure que você deseja gerenciar.

   ```
   az role definition create --role-definition '{
       "Name": "AWSSSMVMExtensionRole-{{SUBSCRIPTION_ID}}",
       "Description": "Allows AWS Systems Manager to run commands on Azure VMs",
       "Actions": [
           "Microsoft.Compute/virtualMachines/read",
           "Microsoft.Compute/virtualMachines/runCommand/action",
           "Microsoft.Compute/virtualMachines/runCommands/*"
       ],
       "AssignableScopes": [
           "/subscriptions/{{SUBSCRIPTION_ID}}"
       ]
   }'
   ```

   Para o escopo no nível de locatário (todas as assinaturas no locatário), use um escopo de grupo de gerenciamento:

   ```
   az role definition create --role-definition '{
       "Name": "AWSSSMVMExtensionRole-{{TENANT_ID}}",
       "Description": "Allows AWS Systems Manager to run commands on Azure VMs",
       "Actions": [
           "Microsoft.Compute/virtualMachines/read",
           "Microsoft.Compute/virtualMachines/runCommand/action",
           "Microsoft.Compute/virtualMachines/runCommands/*"
       ],
       "AssignableScopes": [
           "/providers/Microsoft.Management/managementGroups/{{TENANT_ID}}"
       ]
   }'
   ```

   Para verificar se o perfil foi criado:

   ```
   az role definition list --name "AWSSSMVMExtensionRole-{{SUBSCRIPTION_ID}}" --output table
   ```

1. 

**Atribua o perfil de Run Command para VMs à entidade principal do serviço**

   Atribua o perfil personalizado à entidade principal do serviço que você criou na Etapa 2. O escopo determina quais recursos do Azure o Systems Manager pode gerenciar.

   Para o escopo no nível de assinatura (repita para cada assinatura):

   ```
   az role assignment create \
       --assignee {{SERVICE_PRINCIPAL_ID}} \
       --role "AWSSSMVMExtensionRole-{{SUBSCRIPTION_ID}}" \
       --scope "/subscriptions/{{SUBSCRIPTION_ID}}"
   ```

   Para o escopo no nível de grupo de gerenciamento:

   ```
   az role assignment create \
       --assignee {{SERVICE_PRINCIPAL_ID}} \
       --role "AWSSSMVMExtensionRole-{{TENANT_ID}}" \
       --scope "/providers/Microsoft.Management/managementGroups/{{TENANT_ID}}"
   ```

1. 

**Criar uma aplicação do Azure Entra ID para**

   Crie outro registro de aplicação para usar ao registrar o estado dos recursos do Azure. Anote o *ID da aplicação (cliente)* na saída.

   ```
   az ad app create \
       --display-name "AWSConfigAzureIntegration-{{ACCOUNT_ID}}-{{TENANT_ID_PREFIX}}" \
       --query appId
   ```

   Crie uma entidade principal de serviço para a aplicação:

   ```
   az ad sp create --id {{CONFIG_APPLICATION_ID}}
   ```

1. 

**Adicionar uma credencial de identidade federada para**

   Adicione uma credencial de identidade federada à aplicação. O assunto é o ARN do perfil vinculado ao serviço (criado automaticamente quando você cria o conector do Config em uma etapa posterior).

   ```
   az ad app federated-credential create \
       --id {{CONFIG_APPLICATION_ID}} \
       --parameters "{
           \"name\": \"aws-config-federation\",
           \"issuer\": \"{{AWS_OIDC_ISSUER_URL}}\",
           \"subject\": \"arn:aws:iam::{{ACCOUNT_ID}}:role/aws-service-role/thirdparty.config.amazonaws.com/AWSServiceRoleForConfigThirdParty\",
           \"audiences\": [\"api://AzureADTokenExchange\"]
       }"
   ```

1. 

**Atribuir o perfil de leitor à entidade principal do serviço**

   Atribua o perfil de leitor integrado do Azure à entidade principal do serviço no nível de locatário (grupo de gerenciamento). Isso permite descobrir os recursos do Azure.

   ```
   az role assignment create \
       --assignee {{CONFIG_SERVICE_PRINCIPAL_ID}} \
       --role "acdd72a7-3385-48ef-bd42-f606fba81ae7" \
       --scope "/providers/Microsoft.Management/managementGroups/{{TENANT_ID}}"
   ```

1. 

**Crie um Hub de Eventos para streaming do log de atividades do Azure**

    Usa um Hub de Eventos do Azure para receber eventos do log de atividades que indicam alterações nos recursos. Crie um namespace, hub e grupo de consumidores do Hub de Eventos em uma de suas assinaturas do Azure.

   ```
   # Create a resource group for the Event Hub
   az group create \
       --subscription "{{HOSTING_SUBSCRIPTION_ID}}" \
       --name "AWSConfigAzureResources" \
       --location eastus
   
   # Create an Event Hub namespace with a discovery tag
   az eventhubs namespace create \
       --subscription "{{HOSTING_SUBSCRIPTION_ID}}" \
       --resource-group "AWSConfigAzureResources" \
       --name "{{EVENT_HUB_NAMESPACE}}" \
       --location eastus \
       --sku Standard \
       --tags "AWSConfig-{{ACCOUNT_ID}}-{{AWS_REGION}}=activitylog"
   
   # Create the Event Hub
   az eventhubs eventhub create \
       --subscription "{{HOSTING_SUBSCRIPTION_ID}}" \
       --resource-group "AWSConfigAzureResources" \
       --namespace-name "{{EVENT_HUB_NAMESPACE}}" \
       --name "activitylog" \
       --partition-count 4
   
   # Create the consumer group for AWS Config
   az eventhubs eventhub consumer-group create \
       --subscription "{{HOSTING_SUBSCRIPTION_ID}}" \
       --resource-group "AWSConfigAzureResources" \
       --namespace-name "{{EVENT_HUB_NAMESPACE}}" \
       --eventhub-name "activitylog" \
       --name "AWSConfig"
   ```

   Substitua {{EVENT\_HUB\_NAMESPACE}} por um nome globalmente exclusivo (por exemplo, `awsconfig-{{ACCOUNT_ID}}-{{REGION}}`) e {{HOSTING\_SUBSCRIPTION\_ID}} pela assinatura do Azure que hospedará os recursos do Hub de Eventos.

1. 

**Atribua o perfil de receptor de dados dos Hubs de Eventos à entidade principal serviço**

   Permita que a entidade principal do serviço leia do Hub de Eventos:

   ```
   EVENT_HUB_ID=$(az eventhubs eventhub show \
       --subscription "{{HOSTING_SUBSCRIPTION_ID}}" \
       --resource-group "AWSConfigAzureResources" \
       --namespace-name "{{EVENT_HUB_NAMESPACE}}" \
       --name "activitylog" \
       --query id \
       -o tsv)
   
   az role assignment create \
       --assignee {{CONFIG_SERVICE_PRINCIPAL_ID}} \
       --role "a638d3c7-ab3a-418d-83e6-5f17a39d4fde" \
       --scope "$EVENT_HUB_ID"
   ```

1. 

**Configurar a exportação do log de atividades para o Hub de Eventos**

   Para cada assinatura do Azure que você deseja monitorar, crie uma configuração de diagnóstico que exporte eventos do log de atividades para o Hub de Eventos:

   ```
   az provider register \
       --namespace Microsoft.Insights \
       --subscription "{{SUBSCRIPTION_ID}}"
   
   az rest --method PUT \
       --url "https://management.azure.com/subscriptions/{{SUBSCRIPTION_ID}}/providers/Microsoft.Insights/diagnosticSettings/{{EVENT_HUB_NAMESPACE}}?api-version=2021-05-01-preview" \
       --body "{
           \"properties\": {
               \"eventHubAuthorizationRuleId\": \"/subscriptions/{{HOSTING_SUBSCRIPTION_ID}}/resourceGroups/AWSConfigAzureResources/providers/Microsoft.EventHub/namespaces/{{EVENT_HUB_NAMESPACE}}/authorizationRules/RootManageSharedAccessKey\",
               \"eventHubName\": \"activitylog\",
               \"logs\": [{\"category\": \"Administrative\", \"enabled\": true}]
           }
       }"
   ```

   Repita essa etapa para cada assinatura que deseja monitorar.

Depois de concluir a configuração do Azure, anote os valores a seguir. Você precisará deles ao criar o Cloud Connector:
+ **ID do locatário**: seu ID do diretório (locatário) do Azure AD.
+ **ID do SSM Application (cliente)**: o ID da aplicação do Systems Manager Azure AD (Etapa 1).
+ **ID do Config Application (cliente)**: o ID da aplicação do Azure AD (Etapa 6).
+ **IDs de assinaturas**: as assinaturas do Azure que você deseja gerenciar.
+ **Nome do host do namespace do Hub de Eventos**: o nome do host totalmente qualificado do namespace do Hub de Eventos (por exemplo, `{{EVENT_HUB_NAMESPACE}}.servicebus.windows.net`).