시스템 관리 ID 또는 서비스 주체 파일을 사용하여 Azure Resource Manager에 인증하는 방법에는 두 가지가 있습니다. 옵션은 여기에 설명되어 있습니다.
Azure 시스템 관리 ID
AzAcSnap 9에서는 작업용 서비스 주체 대신 시스템 관리 ID를 사용할 수 있습니다. 이 기능을 사용하면 VM(가상 머신)에 서비스 주체 자격 증명을 저장할 필요가 없습니다. Azure Cloud Shell을 사용하여 Azure 관리 ID를 설정하려면 다음 단계를 수행합니다.
Bash를 사용하는 Cloud Shell 세션 내에서 다음 예제를 사용하여 셸 변수를 적절하게 설정하고 Azure 관리 ID를 만들려는 구독에 적용합니다. SUBSCRIPTION, VM_NAME 및 RESOURCE_GROUP을 사이트별 값으로 설정합니다.
가상 머신에 대한 관리 ID를 만듭니다. 다음 명령은 AzAcSnap VM의 관리 ID를 설정(또는 이미 설정된 경우 표시)합니다.
az vm identity assign --name "${VM_NAME}" --resource-group "${RESOURCE_GROUP}"
역할을 할당하기 위한 보안 주체 ID를 가져옵니다.
PRINCIPAL_ID=$(az resource list -n ${VM_NAME} --query [*].identity.principalId --out tsv)
주 ID에 기여자 역할을 할당합니다.
az role assignment create --assignee "${PRINCIPAL_ID}" --role "${ROLE}" --scope "${SCOPE}"
선택적 RBAC
RBAC(역할 기반 액세스 제어)에서 사용자 지정 역할 정의를 사용하여 관리 ID에 대한 권한을 제한할 수 있습니다. 가상 머신이 스냅샷을 관리할 수 있도록 적합한 역할 정의를 만듭니다. Azure 애플리케이션 일치 스냅샷 도구를 사용하기 위한 팁과 요령에서 예제 사용 권한 설정을 찾을 수 있습니다.
그런 다음, Azure VM 보안 주체 ID에 역할을 할당합니다(SystemAssignedIdentity로도 표시됨).
az role assignment create --assignee ${PRINCIPAL_ID} --role "AzAcSnap on ANF" --scope "${SCOPE}"
서비스 주체 파일 생성
Cloud Shell 세션에서 기본적으로 서비스 주체와 연결하려는 구독에 로그온했는지 확인합니다.
az account show
구독이 올바르지 않으면 az account set 명령을 사용합니다.
az account set -s <subscription name or id>
다음 예제와 같이 Azure CLI를 사용하여 서비스 주체를 만듭니다.
az ad sp create-for-rbac --name "AzAcSnap" --role Contributor --scopes /subscriptions/{subscription-id} --sdk-auth
Generating a RSA private key
........................................................................................................+++++
....................................+++++
writing new private key to 'svmadmin01.key'
-----
PEM 파일의 내용을 출력합니다.
PEM 파일의 내용은 SVM에 client-ca를 추가하는 데 사용됩니다.
! PEM 파일의 내용을 Microsoft BareMetal Infrastructure(BMI) 관리자에게 보냅니다.