다음을 통해 공유


az networkcloud cluster baremetalmachinekeyset를 사용하여 운영 체제 미설치 컴퓨터에 대한 긴급 액세스 관리

주의

이 프로세스는 Azure를 사용한 다른 모든 문제 해결 옵션이 소진된 경우 긴급 상황에서 사용됩니다. BMM 노드에서 실행되는 모든 쓰기 또는 편집 작업을 수행하려면 영향을 받은 BMM 노드로 Microsoft 지원을 복원하기 위해 사용자가 '이미지 다시 설치'를 합니다. 이러한 운영 체제 미설치 컴퓨터에 대한 SSH 액세스는 지정된 점프 호스트 목록에서 이 방법을 통해 관리되는 사용자로 제한됩니다.

사용자가 운영 체제 미설치 컴퓨터와 관련된 문제를 조사 및 해결해야 하고 Azure를 통한 다른 모든 방법이 소진되는 경우는 드뭅니다. Azure Operator Nexus는 사용자가 이러한 운영 체제 미설치 컴퓨터에 대한 SSH 액세스를 관리할 수 있도록 az networkcloud cluster baremetalmachinekeyset 명령을 제공합니다. 키 집합을 만들 때 사용자에게 제공된 사용자 계정 이름을 제공된 Microsoft Entra 그룹 ID --azure-group-id <Entra Group ID>와 상호 참조하여 적절한 권한 부여를 위해 사용자에 대한 Microsoft Entra ID 유효성 검사가 수행됩니다.

키 집합의 사용자는 4시간마다 유효성을 검사하고 키 집합이 변경될 때도 유효성을 검사합니다. 그런 다음 각 사용자의 상태가 "활성" 또는 “유효하지 않음"으로 설정됩니다. 잘못된 사용자는 키 집합에 남아 있지만 해당 키는 모든 호스트에서 제거되어 액세스가 허용되지 않습니다. 사용자가 유효하지 않은 이유는 다음과 같습니다.

  • 사용자의 사용자 계정 이름이 지정되지 않았습니다.
  • 사용자의 사용자 계정 이름이 지정된 Entra 그룹의 멤버가 아닙니다.
  • 지정된 Entra 그룹이 없습니다(이 경우 키 집합의 모든 사용자가 잘못됨).
  • 키 집합이 만료되었습니다(이 경우 키 집합의 모든 사용자가 잘못됨).

참고 항목

이제 모든 사용자에 대해 Microsoft Entra ID 유효성 검사가 적용되므로 키 집합에 사용자 계정 이름이 필요합니다. 모든 사용자의 사용자 계정 이름을 지정하지 않는 현재 키 집합은 만료 날짜까지 계속 작동합니다. 사용자 계정 이름이 없는 키 집합이 만료되면 다시 유효하려면 모든 사용자에 대해 키 집합을 사용자 계정 이름으로 업데이트해야 합니다. 2024년 12월 이전에 모든 사용자의 사용자 계정 이름으로 업데이트되지 않은 키 집합은 위험 Invalid합니다. 사용자가 사용자 계정 이름을 지정하지 못하면 전체 키 집합이 무효화됩니다.

키 집합 및 각 개별 사용자에게는 다른 정보를 전달하는 자세한 상태 메시지도 있습니다.

  • 키 집합의 detailedStatusMessage는 키 집합이 만료되었는지 여부와 클러스터에서 키 집합을 업데이트하는 동안 발생한 문제에 대한 기타 정보를 알려줍니다.
  • 사용자의 statusMessage는 사용자가 활성 상태인지 유효하지 않은 상태인지 알려주며, 사용자의 최신 활성/유효하지 않은 상태로 아직 업데이트되지 않은 컴퓨터의 목록을 보여줍니다. 각각의 경우 문제의 원인이 알려져있다면 포함됩니다.

명령이 실행되면 활성 Kubernetes 노드를 사용하여 클러스터의 각 운영 체제 미설치 컴퓨터에서 실행됩니다. 원래 명령 당시 사용할 수 없었던 운영 체제 미설치 컴퓨터에서 명령을 다시 시도하여 주기적으로 실행되는 조정 프로세스가 있습니다. 또한 az networkcloud baremetalmachine reimage 또는 az networkcloud baremetalmachine replace 명령(BareMetal 함수 참조)을 통해 클러스터로 반환되는 모든 운영 체제 미설치 컴퓨터는 클러스터로 반환되는 즉시 활성 키 집합을 컴퓨터로 전송하는 신호를 보냅니다. 여러 명령은 수신된 순서대로 실행됩니다.

그룹의 사용자 수에는 제한이 없습니다.

주의

점프 호스트 IP 주소 관련 참고 사항

  • 키 집합 만들기/업데이트 프로세스는 클러스터의 각 컴퓨터에 대한 IP 테이블에 점프 호스트 IP 주소를 추가합니다. IP 테이블 업데이트는 해당 점프 호스트에서만 SSH 액세스를 허용하도록 제한합니다.
  • 점프 호스트에 대한 클러스터 연결 IP 주소를 지정하는 것이 중요합니다. 이러한 IP 주소는 점프 호스트에 액세스하는 데 사용되는 공용 IP 주소와 다를 수 있습니다.
  • 하나 이상의 키 집합이 정의되어 있지만 모든 키 집합의 점프 호스트에서 ssh 액세스가 허용됩니다. 예를 들어 키 집합 A가 점프 호스트 A를 지정하고 키 집합 B가 점프 호스트 B를 지정하는 경우 키 집합의 사용자는 점프 호스트 A 또는 B를 사용할 수 있습니다.
  • 키 집합이 정의되어 있지 않지만, 머신에 네트워크 연결이 가능한 모든 점프 호스트에서 ssh 액세스가 허용됩니다.

필수 조건

  • 적절한 Azure CLI 확장의 최신 버전을 설치합니다.
  • 온-프레미스 클러스터는 Azure에 연결되어 있어야 합니다.
  • Cluster 리소스의 리소스 그룹 이름을 가져옵니다.
  • 이 프로세스는 실행 중인 모든 운영 체제 미설치 컴퓨터에 키 집합을 적용합니다.
  • 추가된 사용자는 Microsoft Entra 그룹의 일부여야 합니다. 자세한 내용은 그룹 관리 방법을 참조하세요.
  • 키 집합 관리에 대한 액세스를 제한하려면 사용자 지정 역할을 만듭니다. 자세한 내용은 Azure 사용자 지정 역할을 참조하세요. 이 경우 Microsoft.NetworkCloud/clusters/bareMetalMachineKeySets에 대한 권한을 추가 또는 제외합니다. 가능한 옵션은 /read, /write, /delete입니다.

참고 항목

이 문서에 설명된 명령을 통해 운영 체제 미설치 컴퓨터 액세스 권한이 생성, 수정 또는 삭제되면 백그라운드 프로세스에서 이러한 변경 내용을 컴퓨터에 전달합니다. 이 프로세스는 Operator Nexus 소프트웨어 업그레이드 중에 일시 중지됩니다. 업그레이드가 진행 중인 것을 아는 경우 명령 프롬프트가 이 프로세스의 완료까지 기다리지 않도록 명령에서 --no-wait 옵션을 사용할 수 있습니다.

운영 체제 미설치 컴퓨터 키 집합 만들기

baremetalmachinekeyset create 명령은 사용자 그룹을 위해 클러스터의 운영 체제 미설치 컴퓨터에 대한 SSH 액세스 권한을 만듭니다.

명령 구문은 다음과 같습니다.

az networkcloud cluster baremetalmachinekeyset create \
  --name "<bare metal machine Keyset Name>" \
  --extended-location name="<Extended Location ARM ID>" \
    type="CustomLocation" \
  --location "<Azure Region>" \
  --azure-group-id "<Azure Group ID>" \
  --expiration "<Expiration Timestamp>" \
  --jump-hosts-allowed "<List of jump server IP addresses>" \
  --os-group-name "<Name of the Operating System Group>" \
  --privilege-level "<"Standard" or "Superuser">" \
  --user-list '[{"description":"<User List Description>","azureUserName":"<User Name>",\
    "sshPublicKey":{"keyData":"<SSH Public Key>"}, \
    "userPrincipalName":""}]', \
  --tags key1="<Key Value>" key2="<Key Value>" \
  --cluster-name "<Cluster Name>" \
  --resource-group "<cluster_RG>"

만들기 인수

  --azure-group-id                            [Required] : The object ID of Azure Active Directory
                                                           group that all users in the list must
                                                           be in for access to be granted. Users
                                                           that are not in the group do not have
                                                           access.
  --bare-metal-machine-key-set-name --name -n [Required] : The name of the bare metal machine key
                                                           set.
  --cluster-name                              [Required] : The name of the cluster.
  --expiration                                [Required] : The date and time after which the users
                                                           in this key set are removed from
                                                           the bare metal machines. The maximum
                                                           expiration date is a year from creation
                                                           date. Format is: "YYYY-MM-DDTHH:MM:SS.000Z".
  --extended-location                         [Required] : The extended location of the cluster
                                                           associated with the resource.
    Usage: --extended-location name=XX type=XX
      name: Required. The resource ID of the extended location on which the resource is created.
      type: Required. The extended location type: "CustomLocation".
  --jump-hosts-allowed                        [Required] : The list of IP addresses of jump hosts
                                                           with management network access from
                                                           which a login is be allowed for the
                                                           users. Supports IPv4 or IPv6 addresses.
  --privilege-level                           [Required] : The access level allowed for the users
                                                           in this key set.  Allowed values:
                                                           "Standard" or "Superuser".
  --resource-group -g                         [Required] : Name of cluster resource group. Optional if
                                                           configuring the default group using `az
                                                           configure --defaults group=<name>`.
  --user-list                                 [Required] : The unique list of permitted users.
    Usage: --user-list azure-user-name=XX description=XX key-data=XX
      azure-user-name: Required. User name used to login to the server.
      description: The free-form description for this user.
      key-data: Required. The public ssh key of the user.
      userPrincipalName: Required. The User Principal Name of the User.

      Multiple users can be specified by using more than one --user-list argument.
  --os-group-name                                        : The name of the group that users are assigned
                                                           to on the operating system of the machines.
  --tags                                                 : Space-separated tags: key[=value]
                                                           [key[=value] ...]. Use '' to clear
                                                           existing tags.
  --location -l                                          : Azure Region. Values from: `az account
                                                           list-locations`. You can configure the
                                                           default location using `az configure
                                                           --defaults location=<location>`.
  --no-wait                                              : Do not wait for the long-running
                                                           operation to finish.

전역 Azure CLI 인수(모든 명령에 적용 가능)

  --debug                                                : Increase logging verbosity to show all
                                                           debug logs.
  --help -h                                              : Show this help message and exit.
  --only-show-errors                                     : Only show errors, suppressing warnings.
  --output -o                                            : Output format.  Allowed values: json,
                                                           jsonc, none, table, tsv, yaml, yamlc.
                                                           Default: json.
  --query                                                : JMESPath query string. See
                                                           http://jmespath.org/ for more
                                                           information and examples.
  --subscription                              [Required] : Name or ID of subscription. Optional if
                                                           configuring the default subscription
                                                           using `az account set -s NAME_OR_ID`.
  --verbose                                              : Increase logging verbosity. Use --debug
                                                           for full debug logs.

다음은 두 점프 호스트에서 표준 액세스 권한을 보유한 두 명의 사용자가 있는 새 키 집합을 만드는 예제입니다.

az networkcloud cluster baremetalmachinekeyset create \
  --name "bareMetalMachineKeySetName" \
  --extended-location name="/subscriptions/subscriptionId/resourceGroups/cluster_RG/providers/Microsoft.ExtendedLocation/customLocations/clusterExtendedLocationName" \
    type="CustomLocation" \
  --location "eastus" \
  --azure-group-id "f110271b-XXXX-4163-9b99-214d91660f0e" \
  --expiration "2022-12-31T23:59:59.008Z" \
  --jump-hosts-allowed "192.0.2.1" "192.0.2.5" \
  --os-group-name "standardAccessGroup" \
  --privilege-level "Standard" \
  --user-list '[{"description":"Needs access for troubleshooting as a part of the support team","azureUserName":"userABC", "sshPublicKey":{"keyData":"ssh-rsa  AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1XoyYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm"},"userPrincipalName":"example@contoso.com"},\
  {"description":"Needs access for troubleshooting as a part of the support team","azureUserName":"userXYZ","sshPublicKey":{"keyData":"ssh-rsa  AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXTSTRnIDpcf5qytjs1XoyYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm"}, "userPrincipalName":"example@contoso.com"}]' \
  --tags key1="myvalue1" key2="myvalue2" \
  --cluster-name "clusterName"
  --resource-group "cluster_RG"

--user-list 구조를 만드는 데 도움이 필요하면 Azure CLI 축약형을 참조하세요.

운영 체제 미설치 컴퓨터 키 집합 삭제

baremetalmachinekeyset delete 명령은 사용자 그룹의 운영 체제 미설치 컴퓨터에 대한 SSH 액세스 권한을 제거합니다. 그룹의 모든 구성원이 클러스터의 운영 체제 미설치 컴퓨터에 대한 SSH 액세스 권한을 더 이상 갖지 않습니다.

명령 구문은 다음과 같습니다.

az networkcloud cluster baremetalmachinekeyset delete \
  --name "<bare metal machine Keyset Name>" \
  --cluster-name "<Cluster Name>" \
  --resource-group "<cluster_RG>"

삭제 인수

    --bare-metal-machine-key-set-name --name -n [Required] : The name of the bare metal machine key set to be
                                                             deleted.
    --cluster-name                              [Required] : The name of the cluster.
    --resource-group -g                         [Required] : Name of cluster resource group. Optional if configuring the
                                                             default group using `az configure --defaults
                                                             group=<name>`.
    --no-wait                                              : Do not wait for the long-running operation to
                                                             finish.
    --yes -y                                               : Do not prompt for confirmation.

다음은 "clusterName" 클러스터에서 "bareMetalMachineKeysetName" 키 집합 그룹을 제거하는 예제입니다.

az networkcloud cluster baremetalmachinekeyset delete \
  --name "bareMetalMachineKeySetName" \
  --cluster-name "clusterName" \
  --resource-group "cluster_RG"

운영 체제 미설치 컴퓨터 키 집합 업데이트

baremetalmachinekeyset update 명령을 사용하면 사용자가 기존 키 집합 그룹을 변경할 수 있습니다.

명령 구문은 다음과 같습니다.

az networkcloud cluster baremetalmachinekeyset update \
  --name "<bare metal machine Keyset Name>" \
  --jump-hosts-allowed "<List of jump server IP addresses>" \
  --privilege-level "<"Standard" or "Superuser">" \
  --user-list '[{"description":"<User List Description>","azureUserName":"<User Name>",\
   "sshPublicKey":{"keyData":"<SSH Public Key>"}, \
   "userPrincipalName":""}]', \
  --tags key1="<Key Value>" key2="<Key Value> "\
  --cluster-name "<Cluster Name>" \
  --resource-group "<cluster_RG>"

업데이트 인수

  --bare-metal-machine-key-set-name --name -n [Required] : The name of the bare metal machine key set.
  --cluster-name                              [Required] : The name of the cluster.
  --expiration                                           : The date and time after which the users
                                                           in this key set are removed from
                                                           the bare metal machines. The maximum
                                                           expiration date is a year from creation
                                                           date. Format is: "YYYY-MM-DDTHH:MM:SS.000Z".
  --jump-hosts-allowed                                   : The list of IP addresses of jump hosts
                                                           with management network access from
                                                           which a login is allowed for the
                                                           users. Supports IPv4 or IPv6 addresses.
  --privilege-level                                      : The access level allowed for the users
                                                           in this key set.  Allowed values:
                                                           "Standard" or "Superuser".
  --user-list                                            : The unique list of permitted users.
    Usage: --user-list azure-user-name=XX description=XX key-data=XX
      azure-user-name: Required. User name used to login to the server.
      description: The free-form description for this user.
      key-data: Required. The public SSH key of the user.
      userPrincipalName: Required. The User Principal Name of the User.

      Multiple users can be specified by using more than one --user-list argument.
  --resource-group -g                         [Required] : Name of cluster resource group. Optional if
                                                           configuring the default group using `az
                                                           configure --defaults group=<name>`.
  --tags                                                 : Space-separated tags: key[=value]
                                                           [key[=value] ...]. Use '' to clear
                                                           existing tags.
  --no-wait                                              : Do not wait for the long-running
                                                           operation to finish.

다음은 "baremetalMachineKeySetName" 그룹에 두 명의 새 사용자를 추가하고 그룹의 만료 시간을 변경하는 예제입니다.

az networkcloud cluster baremetalmachinekeyset update \
  --name "bareMetalMachineKeySetName" \
 --expiration "2023-12-31T23:59:59.008Z" \
  --user-list '[{"description":"Needs access for troubleshooting as a part of the support team",\
  "azureUserName":"userABC", \
  "sshPublicKey":{"keyData":"ssh-rsa  AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXISTRnIDpcf5qytjs1XoyYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm"}, \
  "userPrincipalName":"example@contoso.com"},\
  {"description":"Needs access for troubleshooting as a part of the support team",\
    "azureUserName":"userXYZ", \
    "sshPublicKey":{"keyData":"ssh-rsa  AAtsE3njSONzDYRIZv/WLjVuMfrUSByHp+jfaaOLHTIIB4fJvo6dQUZxE20w2iDHV3tEkmnTo84eba97VMueQD6OzJPEyWZMRpz8UYWOd0IXeRqiFu1lawNblZhwNT/ojNZfpB3af/YDzwQCZgTcTRyNNhL4o/blKUmug0daSsSXTSTRnIDpcf5qytjs1XoyYyJMvzLL59mhAyb3p/cD+Y3/s3WhAx+l0XOKpzXnblrv9d3q4c2tWmm/SyFqthaqd0= admin@vm"}, \
    "userPrincipalName":"example@contoso.com"}]' \
   --cluster-name "clusterName" \
  --resource-group "cluster_RG"

운영 체제 미설치 컴퓨터 키 집합 나열

baremetalmachinekeyset list 명령을 사용하면 사용자가 클러스터의 기존 키 집합 그룹을 볼 수 있습니다.

명령 구문은 다음과 같습니다.

az networkcloud cluster baremetalmachinekeyset list \
  --cluster-name "<Cluster Name>" \
  --resource-group "<cluster_RG>"

나열 인수

  --cluster-name                              [Required] : The name of the cluster.
  --resource-group -g                         [Required] : Name of cluster resource group. Optional if
                                                           configuring the default group using `az
                                                           configure --defaults group=<name>`.

운영 체제 미설치 컴퓨터 키 집합 세부 정보 표시

baremetalmachinekeyset show 명령을 사용하면 사용자가 클러스터에서 기존 키 집합 그룹의 세부 정보를 볼 수 있습니다.

명령 구문은 다음과 같습니다.

az networkcloud cluster baremetalmachinekeyset show \
  --cluster-name "<Cluster Name>" \
  --resource-group "<cluster_RG>"

표시 인수

  --bare-metal-machine-key-set-name --name -n [Required] : The name of the bare metal machine key
                                                           set.
  --cluster-name                              [Required] : The name of the cluster.
  --resource-group -g                         [Required] : Name of cluster resource group. You can
                                                           configure the default group using `az
                                                           configure --defaults group=<name>`.