

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á.

# Conectando recursos do Azure
<a name="connecting-azure-connecting-azure-resources"></a>

A integração com os Recursos do Azure permite que o AWS DevOps Agente descubra e investigue recursos em suas assinaturas do Azure durante investigações de incidentes. O agente usa o Azure Resource Graph para descobrir recursos e pode acessar métricas, registros e dados de configuração em seu ambiente do Azure.

Essa integração segue um processo de duas etapas: registrar o Azure no nível da AWS conta e associar assinaturas específicas do Azure a Agent Spaces individuais.

## Pré-requisitos
<a name="prerequisites"></a>

Antes de conectar os Recursos do Azure, verifique se você tem:
+ Acesso ao console do AWS DevOps agente
+ Uma conta do Azure com acesso à assinatura de destino
+ Para o método de consentimento do administrador: uma conta com permissão para realizar o consentimento do administrador no Microsoft Entra ID
+ Para o método de registro de aplicativos: um aplicativo Entra com permissões para configurar credenciais de identidade federada e [federação de identidade de saída](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-federation.html) ativada em sua conta AWS 

**Observação:** você também pode iniciar o registro em um Espaço do Agente. Navegue até **Fontes secundárias**, clique em **Adicionar** e selecione **Azure**. Se o Azure Cloud ainda não estiver registrado, o console o guiará primeiro pelo registro.

## Registrando recursos do Azure por meio do consentimento do administrador
<a name="registering-azure-resources-via-admin-consent"></a>

O método Admin Consent usa um fluxo baseado em consentimento com o aplicativo gerenciado pelo AWS DevOps agente.

### Etapa 1: iniciar o registro
<a name="step-1-start-the-registration"></a>

1. Faça login no console AWS de gerenciamento e navegue até o console do AWS DevOps agente

1. Acesse a página **Provedores de Capacidades**

1. Localize a seção **Azure Cloud** e clique em **Registrar**

1. Selecione o método de registro **do Admin Consent**

### Etapa 2: Consentimento completo do administrador
<a name="step-2-complete-admin-consent"></a>

1. Revise as permissões que estão sendo solicitadas

1. Clique para continuar — você será redirecionado para a página de consentimento do administrador do Microsoft Entra

1. Faça login com uma conta principal de usuário que tenha permissão para realizar o consentimento do administrador

1. Revise e conceda consentimento para a inscrição do AWS DevOps Agente

### Etapa 3: Concluir a autorização do usuário
<a name="step-3-complete-user-authorization"></a>

1. Após o consentimento do administrador, você receberá uma solicitação de autorização do usuário para verificar sua identidade como membro do inquilino autorizado

1. Entre com uma conta pertencente ao mesmo locatário do Azure

1. Após a autorização, você é redirecionado de volta para o console do AWS DevOps agente com um status de sucesso

### Etapa 4: atribuir funções
<a name="step-4-assign-roles"></a>

Consulte [Atribuição de funções do Azure](#assigning-azure-roles) abaixo. Procure um **AWS DevOps agente** ao selecionar membros.

## Registrando recursos do Azure por meio do registro de aplicativos
<a name="registering-azure-resources-via-app-registration"></a>

O método de registro do aplicativo usa seu próprio aplicativo Entra com credenciais de identidade federadas.

### Etapa 1: iniciar o registro
<a name="step-1-start-the-registration"></a>

1. No console do AWS DevOps agente, acesse a página **Capability Providers**

1. Localize a seção **Azure Cloud** e clique em **Registrar**

1. Selecione o método de **registro do aplicativo**

### Etapa 2: Crie e configure seu aplicativo Entra
<a name="step-2-create-and-configure-your-entra-application"></a>

Siga as instruções exibidas no console para:

1. Ative a federação de identidade de saída em sua AWS conta (no console do IAM, acesse **Configurações da conta** → Federação de **identidade de saída**)

1. Crie um aplicativo Entra em seu Microsoft Entra ID ou use um existente

1. Configurar credenciais de identidade federada no aplicativo

### Etapa 3: fornecer detalhes do registro
<a name="step-3-provide-registration-details"></a>

Preencha o formulário de inscrição com:
+ **ID do inquilino** — Seu identificador de inquilino do Azure
+ **Nome do inquilino — Um nome** de exibição para o inquilino
+ **ID do cliente** — O ID do aplicativo (cliente) do aplicativo Entra que você criou
+ **Público** — O identificador de público para a credencial federada

### Etapa 4: criar a função do IAM
<a name="step-4-create-the-iam-role"></a>

Uma função do IAM será criada automaticamente quando você enviar o registro pelo console. Ele permite que o AWS DevOps Agente assuma as credenciais e invoque. `sts:GetWebIdentityToken`

### Etapa 5: atribuir funções
<a name="step-5-assign-roles"></a>

Consulte [Atribuição de funções do Azure](#assigning-azure-roles) abaixo. Pesquise o aplicativo Entra que você criou ao selecionar membros.

### Etapa 6: Concluir o registro
<a name="step-6-complete-the-registration"></a>

1. Confirme a configuração no console do AWS DevOps agente

1. Clique em **Enviar** para concluir o registro

## Atribuição de funções do Azure
<a name="assigning-azure-roles"></a>

Após o registro, conceda ao aplicativo acesso de leitura à sua assinatura do Azure. Essa etapa é a mesma para os métodos de consentimento do administrador e registro do aplicativo.

1. No Portal do Azure, navegue até sua assinatura de destino

1. Vá para **Controle de acesso (IAM)**

1. Clique em **Adicionar** > **Adicionar atribuição de função**

1. Selecione a função **Leitor** e clique em **Avançar**

1. Clique em **Selecionar membros**, pesquise o aplicativo (**AWS DevOps Agente** para consentimento do administrador ou seu próprio aplicativo Entra para registro do aplicativo)

1. Selecione o aplicativo e clique em **Revisar \$1 atribuir**

1. (Opcional) Para permitir que o agente acesse clusters do Azure Kubernetes Service (AKS), conclua a seguinte configuração de acesso ao AKS.

**Requisito de segurança:** O responsável pelo serviço deve receber somente a função de **Leitor** (e, opcionalmente, as funções somente de leitura do AKS listadas abaixo). A função Reader serve como um limite de segurança que restringe o agente a operações somente de leitura e limita o impacto de ataques indiretos de injeção imediata. A atribuição de funções com permissões de gravação ou ação aumenta significativamente o raio de explosão da injeção imediata e pode resultar no comprometimento dos recursos do Azure. AWS DevOps O agente executa somente operações de leitura. O agente não modifica, cria nem exclui recursos do Azure.

### Configuração de acesso AKS (opcional)
<a name="aks-access-setup-optional"></a>

#### Etapa 1: acesso no nível do Azure Resource Manager (ARM)
<a name="step-1-azure-resource-manager-arm-level-access"></a>

Atribua a **função de usuário do Azure Kubernetes Service Cluster ao aplicativo**.

No Portal do Azure, acesse **Assinaturas** → selecione assinatura → **Controle de Acesso (IAM)** → **Adicionar atribuição de função** → selecione Função de **Usuário do Azure Kubernetes Service Cluster** → atribuir ao aplicativo (**AWS DevOps Agente** para Consentimento do Administrador ou seu próprio aplicativo Entra para Registro do Aplicativo).

Isso abrange todos os clusters do AKS na assinatura. Para definir o escopo para clusters específicos, atribua no nível do grupo de recursos ou do cluster individual.

#### Etapa 2: acesso à API Kubernetes
<a name="step-2-kubernetes-api-access"></a>

Escolha uma opção com base na configuração de autenticação do seu cluster:

**Opção A: Controle de Acesso Baseado em Função (RBAC) do Azure para Kubernetes (recomendado)**

1. **Ative o Azure RBAC no cluster, se ainda não estiver habilitado: Portal do Azure → Cluster AKS → **Configurações** → **Configuração de segurança** → **Autenticação e autorização** → selecione Azure RBAC**

1. Atribuir função somente para leitura: Portal do Azure → **Assinaturas** → selecionar assinatura → **Controle de acesso (IAM)** → **Adicionar atribuição de função → selecionar **Azure Kubernetes** Service RBAC Reader → atribuir** ao aplicativo

Isso abrange todos os clusters do AKS na assinatura.

**Opção B: Azure Active Directory (Azure AD) \$1 Kubernetes RBAC**

Use isso se seu cluster já usa a configuração padrão de autenticação do Azure AD e você prefere não habilitar o RBAC do Azure. Isso requer `kubectl` configuração por cluster.

1. Salve o seguinte manifesto como`devops-agent-reader.yaml`:

```
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: devops-agent-reader
rules:
  - apiGroups: [""]
    resources: ["namespaces", "pods", "pods/log", "services", "events", "nodes"]
    verbs: ["get", "list"]
  - apiGroups: ["apps"]
    resources: ["deployments", "replicasets", "statefulsets", "daemonsets"]
    verbs: ["get", "list"]
  - apiGroups: ["metrics.k8s.io"]
    resources: ["pods", "nodes"]
    verbs: ["get", "list"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: devops-agent-reader-binding
subjects:
  - kind: User
    name: "<SERVICE_PRINCIPAL_OBJECT_ID>"
    apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: ClusterRole
  name: devops-agent-reader
  apiGroup: rbac.authorization.k8s.io
```

1. `<SERVICE_PRINCIPAL_OBJECT_ID>`Substitua pelo ID do objeto do seu diretor de serviço. Para encontrá-lo: Portal do Azure → Inserir ID → Aplicativos corporativos → pesquise o nome do aplicativo (**AWS DevOps Agente** para consentimento do administrador ou seu próprio aplicativo Entra para registro do aplicativo).

1. Aplique a cada cluster:

```
az aks get-credentials --resource-group <rg> --name <cluster-name>
kubectl apply -f devops-agent-reader.yaml
```

**Observação:** clusters usando somente contas locais (sem o Azure AD) não são compatíveis. Recomendamos habilitar a integração do Azure AD em seu cluster para usar esse recurso.

### Função personalizada com menos privilégios (opcional)
<a name="least-privileged-custom-role-optional"></a>

Para um controle de acesso mais rígido, você pode criar uma função personalizada do Azure com escopo exclusivo para os provedores de recursos que o AWS DevOps Agente usa, em vez da função ampla do Reader:

```
{
  "Name": "AWS DevOps Agent - Azure Reader",
  "Description": "Least-privilege read-only access for AWS DevOps Agent incident investigations.",
  "Actions": [
    "Microsoft.AlertsManagement/*/read",
    "Microsoft.Compute/*/read",
    "Microsoft.ContainerRegistry/*/read",
    "Microsoft.ContainerService/*/read",
    "Microsoft.ContainerService/managedClusters/commandResults/read",
    "Microsoft.DocumentDB/*/read",
    "Microsoft.Insights/*/read",
    "Microsoft.KeyVault/vaults/read",
    "Microsoft.ManagedIdentity/*/read",
    "Microsoft.Monitor/*/read",
    "Microsoft.Network/*/read",
    "Microsoft.OperationalInsights/*/read",
    "Microsoft.ResourceGraph/resources/read",
    "Microsoft.ResourceHealth/*/read",
    "Microsoft.Resources/*/read",
    "Microsoft.Sql/*/read",
    "Microsoft.Storage/*/read",
    "Microsoft.Web/*/read"
  ],
  "NotActions": [],
  "DataActions": [],
  "NotDataActions": [],
  "AssignableScopes": [
    "/subscriptions/{your-subscription-id}"
  ]
}
```

## Associando uma assinatura a um Agent Space
<a name="associating-a-subscription-with-an-agent-space"></a>

Depois de registrar o Azure no nível da conta, associe assinaturas específicas aos seus Agent Spaces:

1. No console do AWS DevOps agente, selecione seu Espaço do agente

1. Vá para a guia **Capacidades**

1. Na seção **Fontes secundárias**, clique em **Adicionar**

1. Selecione **Azure**

1. Forneça a **ID de assinatura** para a assinatura do Azure que você deseja associar

1. Clique em **Adicionar** para concluir a associação

Você pode associar várias assinaturas ao mesmo Espaço do Agente para dar visibilidade ao agente em todo o seu ambiente do Azure.

## Gerenciando conexões do Azure Resources
<a name="managing-azure-resources-connections"></a>
+ **Visualizando assinaturas conectadas** — Na guia **Capacidades**, a seção **Fontes secundárias** lista todas as assinaturas conectadas do Azure.
+ **Removendo uma assinatura** — Para desconectar uma assinatura de um Espaço do Agente, selecione-a na lista **Fontes secundárias** e clique em **Remover**. Isso não afeta o registro no nível da conta.
+ **Removendo o registro** — Para remover totalmente o registro do Azure Cloud, acesse a página **Capability Providers** e exclua o registro. Todas as associações do Agent Space devem ser removidas primeiro.