다음을 통해 공유


운영자 Nexus에서 관리 자격 증명 회전을 위한 Key Vault 설정

Azure 운영자 Nexus는 비밀 및 인증서를 활용하여 플랫폼 전체에서 구성 요소 보안을 관리합니다. 운영자 Nexus 플랫폼은 이러한 비밀 및 인증서의 회전을 처리합니다. 기본적으로 연산자 Nexus는 자격 증명을 관리되는 Key Vault에 저장합니다. 회전된 자격 증명을 자체 Key Vault에 유지하려면 사용자는 회전된 자격 증명을 받도록 자체 Key Vault를 구성해야 합니다. 이 구성을 사용하려면 사용자가 Azure 운영자 Nexus 인스턴스에 대한 Key Vault를 설정해야 합니다. 만든 후에는 운영자 Nexus 플랫폼이 업데이트된 자격 증명을 작성할 수 있도록 고객 Key Vault에 역할 할당을 추가하고 고객 키 자격 증명 모음을 Nexus 클러스터 리소스에 연결해야 합니다.

필수 조건

참고 항목

단일 Key Vault는 임의의 수의 클러스터에 사용할 수 있습니다.

클러스터 관리자에 대한 관리 ID를 사용하여 Key Vault 구성

2024-06-01-public-preview API 버전부터 클러스터 관리자의 관리 ID는 키 자격 증명 모음에 회전된 자격 증명을 제공하기 위해 쓰기 액세스에 사용됩니다. Cluster Manager ID는 시스템 할당 또는 사용자 할당일 수 있으며 API 또는 CLI를 통해 직접 관리할 수 있습니다.

다음 예제에서는 클러스터 관리자에 대한 관리 ID를 구성하는 방법을 설명합니다.

  • 시스템 할당 ID를 사용하여 클러스터 관리자 만들기 또는 업데이트
        az networkcloud clustermanager create --name "clusterManagerName" --location "location" \
        --analytics-workspace-id "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
        --fabric-controller-id "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName" \
        --managed-resource-group-configuration name="my-managed-rg" --tags key1="myvalue1" key2="myvalue2" --resource-group "resourceGroupName" --mi-system-assigned

  • 사용자 할당 ID를 사용하여 클러스터 관리자 만들기 또는 업데이트
        az networkcloud clustermanager create --name <Cluster Manager Name> --location <Location> \
        --analytics-workspace-id "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/microsoft.operationalInsights/workspaces/logAnalyticsWorkspaceName" \
        --fabric-controller-id "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedNetworkFabric/networkFabricControllers/fabricControllerName" \
        --managed-resource-group-configuration name="my-managed-rg" --tags key1="myvalue1" key2="myvalue2" \
        --resource-group <Resource Group Name> --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAI"

  • 클러스터 관리자에 시스템 할당 ID 추가
        az networkcloud clustermanager update --name <Cluster Manager Name> --resource-group <Resource Group Name> --mi-system-assigned

  • 클러스터 관리자에 사용자 할당 ID 추가
        az networkcloud clustermanager update --name <Cluster Manager Name> --resource-group <Resource Group Name> \
        --mi-user-assigned "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUAI"

Nexus 클러스터 비밀 보관 구성

고객 Key Vault를 Nexus 클러스터의 비밀 보관 파일로 등록합니다. 키 자격 증명 모음 리소스 ID는 클러스터에서 구성하고 클러스터의 비밀을 저장할 수 있도록 설정해야 합니다.

예시:

# Set and enable Customer Key Vault on Nexus cluster
az networkcloud cluster update --ids /subscriptions/<subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.NetworkCloud/clusters/<Nexus Cluster Name> --secret-archive "{key-vault-id:<Key Vault Resource ID>,use-key-vault:true}"

# Show Customer Key Vault setting (secretArchive) on the Nexus cluster
az networkcloud cluster show --ids /subscriptions/<subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.NetworkCloud/clusters/<Nexus Cluster Name> --query secretArchive

추가 도움말:

az networkcloud cluster update --secret-archive ?? --help

클러스터 관리자 관리 ID에 대한 보안 주체 ID 가져오기

관리 ID가 구성되면 CLI를 사용하여 클러스터 관리자 내에서 ID 및 관련 보안 주체 ID 데이터를 봅니다.

예시:

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

시스템 할당 ID 예제:

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

사용자 할당 ID 예제:

    "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"
            }
        }
    },

관리 ID 보안 주체 ID에 적절한 역할을 할당하려면 자격 증명 회전 을 위해 Key Vault에 대한 관리 ID 액세스 권한을 부여합니다.

클러스터에 대한 관리 ID를 사용하여 Key Vault 구성

Important

자격 증명 회전을 위해 키 자격 증명 모음을 구성하는 이 방법은 미리 보기로 제공됩니다. 이 메서드는 방화벽을 사용하도록 설정하지 않은 키 자격 증명 모음에서만 사용할 수 있습니다. 환경에 키 자격 증명 모음 방화벽을 사용하도록 설정해야 하는 경우 기존 Cluster Manager ID 메서드를 사용합니다.

2024-10-01-preview API부터 클러스터 관리자 대신 Nexus 클러스터 리소스의 관리 ID를 사용할 수 있습니다. 클러스터 관리 ID는 시스템 할당 또는 사용자 할당일 수 있으며 API 또는 CLI를 통해 직접 관리할 수 있습니다.

참고 항목

Nexus Cluster 관리 ID가 키 자격 증명 모음에 대해 구성된 경우 이러한 설정은 클러스터 관리자에 대한 관리 ID를 사용하여 Key Vault 구성에 구성된 설정을 대체합니다.

Nexus 클러스터 비밀 보관 설정 구성

Nexus 클러스터 비밀 보관 설정 은 회전된 자격 증명이 저장되는 Azure Key Vault URI와 액세스하는 데 사용되는 관리 ID를 지정합니다.

다음 예제에서는 Nexus 클러스터에 대한 관리 ID를 구성하고 비밀 보관 설정의 일부로 구성하는 방법을 설명합니다.

참고 항목

비밀 보관 설정은 Key Vault 리소스 ID가 아닌 Key Vault URI를 지정하며 지정된 관리 ID는 Nexus 클러스터에 대해 구성되어야 합니다.

  • 시스템 할당 ID를 사용하여 Nexus 클러스터를 만들어 회전된 자격 증명에 대한 Key Vault에 액세스합니다.
az networkcloud cluster create --name "<cluster-name>" \
  --resource-group "<cluster-resource-group>" \
  ...
  --mi-system-assigned \
  --secret-archive-settings identity-type="SystemAssignedIdentity" vault-uri="https://<key vault name>.vault.azure.net/"
  ...
  --subscription "<subscription>"

  • 사용자 할당 ID를 사용하여 Nexus 클러스터를 만들어 회전된 자격 증명에 대한 Key Vault에 액세스합니다.
az networkcloud cluster create --name "<cluster-name>" \
  --resource-group "<cluster-resource-group>" \
  ...
  --mi-user-assigned "<user-assigned-identity-resource-id>" \
  --secret-archive-settings identity-type="UserAssignedIdentity" identity-resource-id="<user-assigned-identity-resource-id>" vault-uri="https://<key vault name>.vault.azure.net/"
  ...
  --subscription "<subscription>"

  • 기존 Nexus 클러스터를 시스템 할당 ID로 업데이트하여 회전된 자격 증명을 위해 Key Vault에 액세스합니다.
az networkcloud cluster update --ids <cluster-resource-id> \
  --mi-system-assigned \
  --secret-archive-settings identity-type="SystemAssignedIdentity" vault-uri="https://<key vault name>.vault.azure.net/"

  • 사용자 할당 ID로 기존 Nexus 클러스터 업데이트
az networkcloud cluster update --ids <cluster-resource-id> \
  --mi-user-assigned "<user-assigned-identity-resource-id>" \
  --secret-archive-settings identity-type="UserAssignedIdentity" identity-resource-id="<user-assigned-identity-resource-id>" vault-uri="https://<key vault name>.vault.azure.net/"

추가 도움말:

az networkcloud cluster update --secret-archive-settings '??' --help

클러스터 관리 ID의 보안 주체 ID 가져오기

Nexus 클러스터에 대해 관리 ID가 구성되면 CLI를 사용하여 ID를 보고 비밀 보관 설정에 지정된 관리 ID에 대한 principalId를 가져옵니다.

예시:

az networkcloud cluster show --ids <cluster-resource-id>

시스템 할당 ID 예제:

    "identity": {
        "principalId": "2cb564c1-b4e5-4c71-bbc1-6ae259aa5f87",
        "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
        "type": "SystemAssigned"
    },

사용자 할당 ID 예제:

    "identity": {
        "type": "UserAssigned",
        "userAssignedIdentities": {
            "/subscriptions/<subscriptionID>/resourcegroups/<resourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<userAssignedIdentityName>": {
                "clientId": "e67dd610-99cf-4853-9fa0-d236b214e984",
                "principalId": "8e6d23d6-bb6b-4cf3-a00f-4cd640ab1a24"
            }
        }
    },

관리 ID 보안 주체 ID에 적절한 역할을 할당하려면 자격 증명 회전 을 위해 Key Vault에 대한 관리 ID 액세스 권한을 부여합니다.

자격 증명 회전을 위해 Key Vault에 관리 ID 액세스 권한 부여

참고 항목

Nexus 클러스터를 만들기 전과 배포 전에 사용자가 할당한 관리 ID를 만들어 키 자격 증명 모음에 대한 액세스 권한을 할당할 수 있습니다. 클러스터를 만든 후 배포 전에 시스템 할당 ID에 키 자격 증명 모음에 대한 액세스 권한을 부여해야 합니다.

  • 운영자 Nexus Key Vault 기록기 서비스 역할을 할당합니다. Azure 역할 기반 액세스 제어가 Access 구성 보기에서 키 자격 증명 모음에 대한 권한 모델로 선택되어 있는지 확인합니다. 그런 다음 Access Control 보기에서 역할 할당을 추가하려면 선택합니다.
역할 이름 역할 정의 ID
운영자 Nexus Key Vault 기록기 서비스 역할(미리 보기) 44f0a1a8-6fea-4b35-980a-8ff50c487c97

예:
az role assignment create --assignee <Managed Identity Principal Id> --role 44f0a1a8-6fea-4b35-980a-8ff50c487c97 --scope /subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.KeyVault/vaults/<Key Vault Name>

사용자 할당 관리 ID를 사용하는 경우 사용자 할당 ID에 사용 권한 추가를 계속 진행합니다.

사용자 할당 ID에 권한 추가

사용자가 할당한 관리 ID를 사용하여 Key Vault에 액세스하는 경우 고객은 Nexus 플랫폼에 대한 해당 ID에 대한 액세스를 프로비전해야 합니다. 특히 Microsoft.ManagedIdentity/userAssignedIdentities/assign/action Microsoft Entra ID에 대한 사용자 할당 ID에 AFOI-NC-MGMT-PME-PROD 권한을 추가해야 합니다. 향후 해결될 플랫폼의 알려진 제한 사항입니다.

  1. Azure Portal을 열고 해당 사용자 할당 ID를 찾습니다.
  2. 액세스 제어(IAM)에서 역할 할당 추가를 클릭합니다.
  3. 역할 선택: 관리 ID 연산자입니다. (역할에서 관리 ID 연산자를 제공하는 사용 권한을 참조하세요).
  4. 사용자, 그룹 또는 서비스 주체에 대한 액세스 권한을 할당합니다.
  5. 멤버 선택: AFOI-NC-MGMT-PME-PROD 애플리케이션.
  6. 검토하고 할당합니다.