Compartir vía


Compatibilidad del clúster de Operator Nexus de Azure para las identidades administradas y los recursos proporcionados por el usuario

Para mejorar la seguridad de la plataforma Operator Nexus, ahora se admiten identidades administradas para los clústeres de Operator Nexus. Las identidades administradas proporcionan una manera segura de que las aplicaciones accedan a otros recursos de Azure y eliminen la necesidad de que los usuarios administren las credenciales. Además, Operator Nexus ahora tiene un modelo de recursos proporcionado por el usuario. Además de mejorar la seguridad, este cambio proporciona una experiencia de usuario coherente en toda la plataforma.

Las identidades administradas se usan con los siguientes recursos de usuario proporcionados en los clústeres de Operator Nexus:

  • Cuentas de almacenamiento usadas para la salida de los comandos run-* de equipos sin sistema operativo.
  • Almacenes de claves usados para la rotación de credenciales.
  • Áreas de trabajo de Log Analytics que se usan para capturar algunas métricas.

Para más información sobre las identidades administradas en Azure, consulte Identidades administradas para recursos de Azure. Los clústeres de Operator Nexus admiten varias identidades administradas asignadas por el usuario (UAMI) o una identidad administrada asignada por el sistema (SAMI).

Aunque un usuario puede optar por usar cualquier tipo de identidad administrada, se recomiendan las UAMI. Permiten a los usuarios preconfigurar recursos con el acceso adecuado a la UAMI con antelación a la creación o actualización del clúster de Operator Nexus. La misma UAMI se puede usar para todos los recursos, o si los usuarios quieren acceso detallado, pueden definir UAMI para cada recurso.

Una vez agregada, la identidad solo se puede quitar a través de la llamada API en este momento. Para obtener información sobre el uso de la API para actualizar las identidades administradas de clúster, consulte Actualizar identidades de clúster. En esta sección se incluye información sobre cómo eliminar las identidades administradas.

Requisitos previos

Nota:

La funcionalidad de identidad administrada para el área de trabajo de Log Analytics y Key Vault existe con la API 2024-10-01-preview y estará disponible con la API de disponibilidad general 2025-02-01.

Clústeres de Operator Nexus con identidades administradas asignadas por el usuario (UAMI)

Se recomienda definir primero todos los recursos proporcionados por el usuario (cuenta de almacenamiento, LAW y Key Vault), las identidades administradas asociadas a esos recursos y, a continuación, asignar a la identidad administrada el acceso adecuado al recurso. Si estos pasos no se realizan antes de la creación del clúster, los pasos deben completarse antes de la implementación del clúster.

Los impactos de no configurar estos recursos por tiempo de implementación para un nuevo clúster son los siguientes:

  • Cuenta de almacenamiento: no se pueden escribir las salidas de comando run-* en la cuenta de almacenamiento.
  • LAW: se produce un error en la implementación del clúster, ya que se requiere LAW para instalar extensiones de software durante la implementación.
  • Key Vault: se produce un error en las rotaciones de credenciales, ya que hay una comprobación para garantizar el acceso de escritura al almacén de claves proporcionado por el usuario antes de realizar la rotación de credenciales.

La actualización del clúster se puede realizar en cualquier momento. Cambiar la configuración de LAW puede provocar una breve interrupción en el envío de métricas a LAW, ya que es posible que sea necesario volver a instalar las extensiones que usan LAW.

Se deben seguir los pasos siguientes para usar las UAMI con los clústeres de Nexus y los recursos asociados.

  1. Crear la UAMI o las UAMI
  2. Crear los recursos y asignar la UAMI a los recursos
  3. Crear o actualizar el clúster para usar identidades administradas asignadas por el usuario y recursos proporcionados por el usuario

Crear la UAMI o las UAMI

  1. Cree la UAMI o las UAMIs para los recursos en cuestión. Para obtener más información sobre crear identidades administradas, consulte Administración de identidades administradas asignadas por el usuario.

Crear los recursos y asignar la UAMI a los recursos

Configuración de cuentas de almacenamiento

  1. Cree una cuenta de almacenamiento o identifique una cuenta de almacenamiento existente que quiera usar. Consulte Crear una cuenta de almacenamiento de Azure.
  2. Cree un contenedor de Blob Storage en la cuenta de almacenamiento. Consulte Crear un contenedor.
  3. Asigne el rol Storage Blob Data Contributor a los usuarios y a la UAMI que necesitan acceso a la salida del comando run-*. Consulte Asignación de un rol de Azure para acceder a datos de blobs.
  4. Para limitar el acceso a la cuenta de almacenamiento a un conjunto seleccionado de redes virtuales o IP, consulte Configuración de firewalls y redes virtuales de Azure Storage.
    1. Las direcciones IP de todos los usuarios que ejecutan comandos run-* deben agregarse a las listas de Virtual Networks o Firewall de la cuenta de almacenamiento.
    2. Asegúrese de que Allow Azure services on the trusted services list to access this storage account. en Exceptions está seleccionado.

Configuración de Áreas de trabajo de Log Analytics

  1. Cree un área de trabajo de Log Analytics (LAW) o identifique una LAW existente que quiera usar. Vea Creación de un área de trabajo de Log Analytics.
  2. Asigne el rol Log Analytics Contributor al UAMI para el área de trabajo de Log Analytics. Consulte Administración del acceso a las áreas de trabajo de Log Analytics.

Configuración de Key Vault

  1. Cree un almacén de claves o identifique un almacén de claves existente que quiera usar. Consulte Creación de un almacén de claves.
  2. Habilite el almacén de claves para el Control de acceso basado en roles (RBAC). Con sulte Habilitación de los permisos de Azure RBAC en Key Vault.
  3. Asigne el rol de Operator Nexus Key Vault Writer Service Role (Preview) a la UAMI para Key Vault. Consulte Asignar un rol.
    1. El Id. de definición de roles para el rol de servicio de escritura de Key Vault de Operator Nexus es 44f0a1a8-6fea-4b35-980a-8ff50c487c97. Este formato es necesario si se usa la línea de comandos de Azure para realizar la asignación de roles.
  4. Cuando se usa una UAMI para acceder a un almacén de claves, se debe aprovisionar el acceso a esa identidad para la plataforma Nexus. En concreto, debe agregarse el permiso Microsoft.ManagedIdentity/userAssignedIdentities/assign/action a la identidad asignada por el usuario para Microsoft Entra ID AFOI-NC-MGMT-PME-PROD. Es una limitación conocida de la plataforma que se abordará en el futuro.
    1. Abra Azure Portal y busque la identidad asignada por el usuario en cuestión.
    2. En Control de acceso (IAM), seleccione Agregar asignación de roles.
    3. Seleccione Rol: Operador de identidad administrada. (Consulte los permisos que el rol proporciona managed-identity-operator).
    4. Asigne acceso a: Usuario, grupo o entidad de servicio.
    5. Seleccione Miembro: aplicación AFOI-NC-MGMT-PME-PROD.
    6. Revise y asigne.
  5. Para limitar el acceso al almacén de claves a un conjunto seleccionado de redes virtuales o IP, consulte Configuración de firewalls y redes virtuales de Azure Key Vault.
    1. Las direcciones IP de todos los usuarios que requieren acceso a Key Vault deben agregarse a las listas de Virtual Networks o Firewall de Key Vault.
    2. Asegúrese de que Allow trusted Microsoft services to bypass this firewall. en Exceptions está seleccionado.

Crear o actualizar el clúster Nexus para usar identidades administradas asignadas por el usuario y recursos proporcionados por el usuario

Definición de UAMI en el clúster

Al crear o actualizar un clúster con una identidad administrada asignada por el usuario, use el parámetro --mi-user-assigned junto con el identificador de recurso de la UAMI. Si desea especificar varios UAMI, enumere los identificadores de recursos de los UAMIs con un espacio entre ellos. Cada UAMI que se usa para un almacén de claves, LAW o cuenta de almacenamiento debe proporcionarse en esta lista.

Al crear el clúster, puede especificar las UAMIs en --mi-user-assigned y definir también la configuración del recurso. Al actualizar un clúster para cambiar una UAMI, primero debe actualizar el clúster para establecer los valores de --mi-user-assigned y, a continuación, actualizar el clúster para modificar la configuración de recursos para usarla.

Configuración de cuentas de almacenamiento

La construcción de datos --command-output-settings se usa para definir la cuenta de almacenamiento donde se escribe la salida de Ejecutar comando. Consta de los siguientes campos:

  • container-url: la dirección URL del contenedor de la cuenta de almacenamiento que se va a usar en las identidades especificadas.
  • identity-resource-id: el identificador de recurso de identidad administrada asignada por el usuario que se va a usar. Mutuamente excluyente con un tipo de identidad asignado por el sistema.
  • identity-type: el tipo de identidad administrada que se va a seleccionar. Use UserAssignedIdentity.

Configuración del área de trabajo de Log Analytics

La construcción de datos --analytics-output-settings se usa para definir la LAW donde se envían las métricas. Consta de los siguientes campos:

  • analytics-workspace-id: el identificador de recurso del área de trabajo de análisis que va a usar la identidad especificada.
  • identity-resource-id: el identificador de recurso de identidad administrada asignada por el usuario que se va a usar. Mutuamente excluyente con un tipo de identidad asignado por el sistema
  • identity-type: el tipo de identidad administrada que se va a seleccionar. Use UserAssignedIdentity.

Configuración de Key Vault

La construcción de datos --secret-archive-settings se usa para definir el almacén de claves donde se escriben las credenciales rotadas. Consta de los siguientes campos:

  • identity-resource-id: el identificador de recurso de identidad administrada asignada por el usuario que se va a usar.
  • identity-type: el tipo de identidad administrada que se va a seleccionar. Use UserAssignedIdentity.
  • vault-uri: el URI del almacén de claves usado como archivo secreto.

Ejemplos de comandos de creación de clústeres

Ejemplo 1: este ejemplo es un comando de creación de clúster abreviado que usa un UAMI en la cuenta de almacenamiento, LAW y Key Vault.

az networkcloud cluster create --name "clusterName" -g "resourceGroupName" \

    ...

    --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
    --command-output-settings identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
    container-url="https://myaccount.blob.core.windows.net/mycontainer?restype=container" \
    --analytics-output-settings analytics-workspace-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
    identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
    --secret-archive-settings vault-uri="https://mykv.vault.azure.net/"
    identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \

Ejemplo 2: Este ejemplo es un comando de creación de clúster abreviado que usa dos UAMI. La cuenta de almacenamiento y LAW usan la primera UAMI y Key Vault usa la segunda.

az networkcloud cluster create --name "clusterName" -g "resourceGroupName" \

    ...

    --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myFirstUAMI" "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mySecondUAMI" \
    --command-output-settings identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myFirstUAMI" \
    container-url="https://myaccount.blob.core.windows.net/mycontainer?restype=container" \
    --analytics-output-settings analytics-workspace-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
    identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myFirstUAMI" \
    --secret-archive-settings vault-uri="https://mykv.vault.azure.net/"
    identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mySecondUAMI"

Ejemplos de actualización del clúster

La actualización de un clúster es un proceso de dos pasos. Si necesita cambiar la UAMI para un recurso, primero debe actualizar el clúster para incluirlo en el campo --mi-user-assigned y, a continuación, actualizar el --identity-resource-id correspondiente para la cuenta de almacenamiento, LAW o Key Vault.

Si hay varias UAMI en uso, se debe especificar la lista completa de UAMI en el campo --mi-user-assigned al actualizar. Si un SAMI está en uso en el clúster y va a agregar una UAMI, debe incluir --mi-system-assigned en el comando de actualización. Si no se incluyen identidades administradas existentes, se quitarán.

Para LAW y Key Vault, la transición de las construcciones de datos existentes a las nuevas construcciones que usan identidades administradas se puede realizar a través de una actualización de clúster.

Ejemplo 1: agregar un UAMI a un clúster. A continuación, asigne la UAMI a la configuración de archivo secreto (Key Vault). Si este clúster tuviera definido un SAMI, se quitaría el SAMI.

Actualización del clúster para agregar la UAMI myUAMI.

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
   --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \

Actualización del clúster para asignar myUAMI a la configuración del archivo secreto.

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
    --secret-archive-settings identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
    vault-uri="https://keyvaultname.vault.azure.net/"

Ejemplo 2: agregar una UAMI mySecondUAMI a un clúster que ya tiene myFirstUAMI que se conserva. A continuación, actualice el clúster para asignar mySecondUAMI a la configuración de salida del comando (cuenta de almacenamiento).

Actualización del clúster para agregar la UAMI mySecondUAMI mientras se mantiene myFirstUAMI.

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
   --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myFirstUAMI" "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mySecondUAMI" \

Actualización del clúster para asignar mySecondUAMI a la configuración del salida del comando.

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
    --command-output-settings identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mySecondUAMI" \
    container-url="https://myaccount.blob.core.windows.net/mycontainer?restype=container"

Ejemplo 3: actualizar un clúster que ya tiene un SAMI y agregar una UAMI. El SAMI se mantiene. A continuación, asigne la UAMI a la configuración de salida de Log Analytics (LAW).

Precaución

Cambiar la configuración de LAW puede provocar una breve interrupción en el envío de métricas a LAW, ya que es posible que sea necesario volver a instalar las extensiones que usan LAW.

Actualización del clúster para agregar la UAMI mUAMI.

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
   --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
   --mi-system-assigned

Actualización del clúster para asignar myUAMI a la configuración del salida de análisis de registros.

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
    --analytics-output-settings analytics-workspace-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
    identity-type="UserAssignedIdentity" \
    identity-resource-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI"

Visualización del identificador de la entidad de seguridad de la identidad administrada asignada por el usuario

Para encontrar el id. de recurso de identidad, seleccione "Vista JSON" en el recurso de identidad; el id. está en la parte superior del panel que aparece. La dirección URL del contenedor se puede encontrar en la pestaña Configuración: Propiedades de > del recurso de contenedor.

La CLI también se puede usar para ver la identidad y los datos del identificador de entidad de seguridad asociados dentro del clúster.

Ejemplo:

az networkcloud cluster show --ids /subscriptions/<Subscription ID>/resourceGroups/<Cluster Resource Group Name>/providers/Microsoft.NetworkCloud/clusters/<Cluster Name>

Salida:

    "identity": {
        "type": "UserAssigned",
        "userAssignedIdentities": {
            "/subscriptions/subscriptionID/resourcegroups/<resourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userAssignedIdentityName>": {
                "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
                "principalId": "bbbbbbbb-cccc-dddd-2222-333333333333"
            }
        }
    },

Clústeres de Operator Nexus con identidades administradas asignadas por el sistema

El uso de una identidad administrada asignada por el sistema (SAMI) sigue un patrón diferente a las UAMI. Aunque los recursos proporcionados por el usuario (cuenta de almacenamiento, LAW y Key Vault) se pueden crear antes de la creación del clúster, el SAMI no existe hasta que se crea el clúster. Los usuarios deben consultar el clúster para obtener el SAMI, asignar los privilegios correctos al SAMI para cada recurso y, a continuación, actualizar el clúster con la configuración de los recursos que especifica la identidad asignada por el sistema.

Para un nuevo clúster, estos pasos deben completarse antes de la implementación del clúster. Los impactos de no configurar estos recursos por tiempo de implementación para un nuevo clúster son los siguientes:

  • Cuenta de almacenamiento: no se pueden escribir las salidas de comando run-* en la cuenta de almacenamiento.
  • LAW: se produce un error en la implementación del clúster, ya que se requiere LAW para instalar extensiones de software durante la implementación.
  • Key Vault: se produce un error en las rotaciones de credenciales, ya que hay una comprobación para garantizar el acceso de escritura al almacén de claves proporcionado por el usuario antes de realizar la rotación de credenciales.

La actualización del clúster se puede realizar en cualquier momento. Cambiar la configuración de LAW puede provocar una breve interrupción en el envío de métricas a LAW, ya que es posible que sea necesario volver a instalar las extensiones que usan LAW.

Se deben seguir los pasos siguientes para usar las UAMI con los clústeres de Nexus y los recursos asociados.

  1. Crear o actualizar el clúster con un SAMI
  2. Consultar el clúster para obtener el SAMI
  3. Crear los recursos y asignar el SAMI a los recursos
  4. Actualizar el clúster con la información de recursos proporcionada por el usuario
  5. Implementación del clúster (si es nuevo)

Crear o actualizar el clúster con un SAMI

Al crear o actualizar un clúster con una identidad administrada asignada por el sistema, use el parámetro --mi-system-assigned. El proceso de creación o actualización del clúster genera la información de SAMI.

Ejemplo 1: este ejemplo es un comando de creación de clúster abreviado que especifica un SAMI.

az networkcloud cluster create --name "clusterName" -g "resourceGroupName" \

    ...

    --mi-system-assigned

Ejemplo 2: este ejemplo actualiza un clúster para agregar un SAMI. Se quitan las UAMI definidas en el clúster.

az networkcloud cluster update --name "clusterName" -g "resourceGroupName" \
    --mi-system-assigned

Ejemplo 3: este ejemplo actualiza un clúster para agregar un SAMI y mantiene la UAMI existente, myUAMI.

az networkcloud cluster update --name "clusterName" -g "resourceGroupName" \
    --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAMI" \
    --mi-system-assigned

Consultar el clúster para obtener el SAMI

Para encontrar el id. de recurso de identidad, seleccione "Vista JSON" en el recurso de identidad en Azure Portal.

La CLI también se puede usar para ver la identidad y los datos del identificador de entidad de seguridad asociados dentro del clúster.

Anote el principalId de la identidad que se usa al conceder acceso a los recursos.

Ejemplo:

az networkcloud cluster show --ids /subscriptions/<Subscription ID>/resourceGroups/<Cluster Resource Group Name>/providers/Microsoft.NetworkCloud/clusters/<Cluster Name>

Ejemplo de identidad asignada por el sistema:

    "identity": {
        "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
        "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
        "type": "SystemAssigned"
    },

Crear los recursos y asignar el SAMI a los recursos

Configuración de cuentas de almacenamiento

  1. Cree una cuenta de almacenamiento o identifique una cuenta de almacenamiento existente que quiera usar. Consulte Crear una cuenta de almacenamiento de Azure.
  2. Cree un contenedor de Blob Storage en la cuenta de almacenamiento. Consulte Crear un contenedor.
  3. Asigne el rol Storage Blob Data Contributor a los usuarios y a el SAMI que necesitan acceso a la salida del comando run-*. Consulte Asignación de un rol de Azure para acceder a datos de blobs.
    1. Para limitar el acceso a la cuenta de almacenamiento a un conjunto seleccionado de redes virtuales o IP, consulte Configuración de firewalls y redes virtuales de Azure Storage.
    2. Las direcciones IP de todos los usuarios que ejecutan comandos run-* deben agregarse a las listas de Virtual Networks o Firewall de la cuenta de almacenamiento.
    3. Asegúrese de que Allow Azure services on the trusted services list to access this storage account. en Exceptions está seleccionado.

Configuración de Áreas de trabajo de Log Analytics

  1. Cree un área de trabajo de Log Analytics (LAW) o identifique una LAW existente que quiera usar. Vea Creación de un área de trabajo de Log Analytics.
  2. Asigne el rol Log Analytics Contributor al SAMI para el área de trabajo de Log Analytics. Consulte Administración del acceso a las áreas de trabajo de Log Analytics.

Configuración de Key Vault

  1. Cree un almacén de claves o identifique un almacén de claves existente que quiera usar. Consulte Creación de un almacén de claves.
  2. Habilite el almacén de claves para el Control de acceso basado en roles (RBAC). Con sulte Habilitación de los permisos de Azure RBAC en Key Vault.
  3. Asigne el rol de Operator Nexus Key Vault Writer Service Role (Preview) al SAMI para Key Vault. Consulte Asignar un rol.
    1. El Id. de definición de roles para el rol de servicio de escritura de Key Vault de Operator Nexus es 44f0a1a8-6fea-4b35-980a-8ff50c487c97. Este formato es necesario si se usa la línea de comandos de Azure para realizar la asignación de roles.
  4. Para limitar el acceso al almacén de claves a un conjunto seleccionado de redes virtuales o IP, consulte Configuración de firewalls y redes virtuales de Azure Key Vault.
    1. Las direcciones IP de todos los usuarios que requieren acceso a Key Vault deben agregarse a las listas de Virtual Networks o Firewall de Key Vault.
    2. Asegúrese de que Allow trusted Microsoft services to bypass this firewall. en Exceptions está seleccionado.

Actualizar el clúster con la información de recursos proporcionada por el usuario

Configuración de cuentas de almacenamiento

La construcción de datos --command-output-settings se usa para definir la cuenta de almacenamiento donde se escribe la salida de Ejecutar comando. Consta de los siguientes campos:

  • container-url: la dirección URL del contenedor de la cuenta de almacenamiento que se va a usar en las identidades especificadas.
  • identity-resource-id: no es necesario cuando se usa un SAMI
  • identity-type: el tipo de identidad administrada que se va a seleccionar. Use SystemAssignedIdentity.

Configuración del área de trabajo de Log Analytics

La construcción de datos --analytics-output-settings se usa para definir la LAW donde se envían las métricas. Consta de los siguientes campos:

  • analytics-workspace-id: el identificador de recurso del área de trabajo de análisis que va a usar la identidad especificada.
  • identity-resource-id: no es necesario cuando se usa un SAMI
  • identity-type: el tipo de identidad administrada que se va a seleccionar. Use SystemAssignedIdentity.

Configuración de Key Vault

La construcción de datos --secret-archive-settings se usa para definir el almacén de claves donde se escriben las credenciales rotadas. Consta de los siguientes campos:

  • identity-resource-id: no es necesario cuando se usa un SAMI
  • identity-type: el tipo de identidad administrada que se va a seleccionar. Use SystemAssignedIdentity.
  • vault-uri: el URI del almacén de claves usado como archivo secreto.

Ejemplos de actualización del clúster

La actualización de un clúster sigue el mismo patrón que la creación. Si necesita cambiar la UAMI para un recurso, debe incluirlo tanto en el campo --mi-user-assigned como en el --identity-resource-id correspondiente para la cuenta de almacenamiento, LAW o Key Vault. Si hay varias UAMI en uso, se debe especificar la lista completa de UAMI en el campo --mi-user-assigned al actualizar.

Para LAW y Key Vault, la transición de las construcciones de datos existentes a las nuevas construcciones que usan UAMI se puede realizar a través de una actualización de clúster.

Importante

Al actualizar un clúster con una o varias UAMI en uso, debe incluir las UAMI existentes en la lista de identidades de --mi-user-assigned al agregar un SAMI o actualizar. Si un SAMI está en uso en el clúster y va a agregar una UAMI, debe incluir --mi-system-assigned en el comando de actualización. Si no lo hace, se quitarán las identidades administradas correspondientes.

Ejemplo 1: agregar o actualizar la configuración de salida del comando (cuenta de almacenamiento) para un clúster.

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
    --command-output-settings identity-type="SystemAssignedIdentity" \
    container-url="https://myaccount.blob.core.windows.net/mycontainer?restype=container"

Ejemplo 2: agregar o actualizar la configuración de salida de Log Analytics (LAW) para un clúster.

Precaución

Cambiar la configuración de LAW puede provocar una breve interrupción en el envío de métricas a LAW, ya que es posible que sea necesario volver a instalar las extensiones que usan LAW.

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
    --analytics-output-settings analytics-workspace-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
    identity-type="SystemAssignedIdentity" \

Ejemplo 3: agregar o actualizar la configuración de archivo secreto (Key Vault) para un clúster.

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
    --secret-archive-settings identity-type="SystemAssignedIdentity" \
    vault-uri="https://keyvaultname.vault.azure.net/"

Ejemplo 4: este ejemplo combina los tres recursos mediante un SAMI en una actualización.

az networkcloud cluster update --name "clusterName" --resource-group "resourceGroupName" \
    --command-output-settings identity-type="SystemAssignedIdentity" \
    container-url="https://myaccount.blob.core.windows.net/mycontainer?restype=container"
    --analytics-output-settings analytics-workspace-id="/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
    identity-type="SystemAssignedIdentity" \
    --secret-archive-settings identity-type="SystemAssignedIdentity" \
    vault-uri="https://keyvaultname.vault.azure.net/"

Actualización de identidades de clúster mediante API

Las identidades administradas de clúster se pueden asignar a través de la CLI. La desasignación de las identidades puede hacerse mediante llamadas a la API. Nota: <APIVersion> es la versión de API 2024-07-01 o posterior.

  • Para quitar todas las identidades administradas, ejecute:

    az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_RG/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME?api-version=<APIVersion> --body "{\"identity\":{\"type\":\"None\"}}"
    
  • Si se agregaron identidades administradas asignadas por el usuario y asignadas por el sistema, se puede quitar el usuario asignado actualizando el type a SystemAssigned:

    az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_RG/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME?api-version=<APIVersion> --body @~/uai-body.json
    

    Ejemplo del cuerpo de la solicitud (uai-body.json):

    {
    "identity": {
          "type": "SystemAssigned"
    }
    }
    
  • Si se agregaron identidades administradas asignadas por el usuario y asignadas por el sistema, se puede quitar el sistema actualizando el type a UserAssigned:

    az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_RG/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME?api-version=<APIVersion> --body @~/uai-body.json
    

    Ejemplo del cuerpo de la solicitud (uai-body.json):

    {
    "identity": {
          "type": "UserAssigned",
      "userAssignedIdentities": {
      	"/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": {}
      }
    }
    }
    
  • Si se agregaron varias identidades administradas asignadas por el usuario, se puede quitar una de ellas ejecutando:

    az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_RG/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME?api-version=<APIVersion> --body @~/uai-body.json
    

    Ejemplo del cuerpo de la solicitud (uai-body.json):

    {
    "identity": {
          "type": "UserAssigned",
      "userAssignedIdentities": {
      	"/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": null
      }
    }
    }