이 문서의 내용
적용 대상: Azure Database for PostgreSQL - 유연한 서버
이 문서에서는 Azure Database for PostgreSQL 유연한 서버 인스턴스에 대해 시스템 할당 관리 ID를 사용하거나 사용하지 않도록 설정하는 방법을 알아볼 수 있습니다. 하나 이상의 사용자 할당 관리 ID를 인스턴스에 추가하거나 제거하는 방법을 알아볼 수도 있습니다.
기존 서버에 대해 시스템 할당 관리 ID를 사용하도록 설정
Azure Portal 사용:
포털에서 서버를 찾습니다(열려 있지 않은 경우). 이 작업을 수행하는 한 가지 방법은 검색 창에 서버 이름을 입력하는 것입니다. 이름이 일치하는 리소스가 표시되면 해당 리소스를 선택합니다.
리소스 메뉴의 보안 아래에서 ID를 선택합니다 . 그런 다음 시스템 할당 관리 ID 섹션에서 [켜기 ] 옵션을 선택합니다. 저장 을 선택합니다.
프로세스가 완료되면 시스템이 할당한 관리 ID를 사용하도록 설정되었다는 알림이 표시됩니다.
az postgres 유연한 서버 업데이트 명령은 시스템 할당 관리 ID를 사용하도록 설정하고 사용하지 않도록 설정하는 기본 제공 지원을 제공하지 않습니다. 해결 방법으로 az rest 명령을 사용하여 서버 - REST API 업데이트 를 직접 호출할 수 있습니다.
# Enable system assigned managed identity
subscriptionId=<subscription-id>
resourceGroup=<resource-group>
server=<server>
result=$(az postgres flexible-server show --resource-group $resourceGroup --name $server --query "identity.type" --output tsv)
if [ -z "$result" ]; then
az rest --method patch --url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/$server?api-version=2024-08-01 --body '{"identity":{"type":"SystemAssigned"}}'
elif [ "$result" == "UserAssigned" ]; then
az rest --method patch --url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/$server?api-version=2024-08-01 --body '{"identity":{"type":"SystemAssigned,UserAssigned"}}'
else
echo "System Assigned Managed identity is already enabled."
fi
기존 서버에 대해 시스템 할당 관리 ID를 사용하지 않도록 설정
Azure Portal 사용:
포털에서 서버를 찾습니다(열려 있지 않은 경우). 이 작업을 수행하는 한 가지 방법은 검색 창에 서버 이름을 입력하는 것입니다. 이름이 일치하는 리소스가 표시되면 해당 리소스를 선택합니다.
리소스 메뉴의 보안 아래에서 ID를 선택합니다 . 그런 다음 시스템 할당 관리 ID 섹션에서 끄기 옵션을 선택합니다. 저장 을 선택합니다.
프로세스가 완료되면 시스템이 할당한 관리 ID를 사용할 수 없음을 알리는 알림이 표시됩니다.
az postgres 유연한 서버 업데이트 명령은 시스템 할당 관리 ID를 사용하도록 설정하고 사용하지 않도록 설정하는 기본 제공 지원을 제공하지 않습니다. 해결 방법으로 az rest 명령을 사용하여 서버 - REST API 업데이트 를 직접 호출할 수 있습니다.
# Disable system assigned managed identity
subscriptionId=<subscription-id>
resourceGroup=<resource-group>
server=<server>
result=$(az postgres flexible-server show --resource-group $resourceGroup --name $server --query "identity.type" --output tsv)
if [ "$result" == "SystemAssigned" ]; then
az rest --method patch --url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.DBforPostgreSQL/flexibleServers/$server?api-version=2024-08-01 --body '{"identity":{"type":"None"}}'
elif [ "$result" == "SystemAssigned,UserAssigned" ]; then
echo "System Assigned Managed identity cannot be disabled as the instance has User Assigned Managed identities assigned."
else
echo "System Assigned Managed identity is already disabled."
fi
시스템 할당 관리 ID 표시
Azure Portal 사용:
포털에서 서버를 찾습니다(열려 있지 않은 경우). 이 작업을 수행하는 한 가지 방법은 검색 창에 서버 이름을 입력하는 것입니다. 이름이 일치하는 리소스가 표시되면 해당 리소스를 선택합니다.
리소스 메뉴의 개요에서 JSON 보기를 선택합니다 .
열리는 Resource JSON 패널에서 ID 속성을 찾 은 다음, 그 안에서 시스템 할당 관리 ID에 대한 principalId 및 tenantId 를 찾을 수 있습니다.
# Show the system assigned managed identity
resourceGroup=<resource-group>
server=<server>
az postgres flexible-server identity list --resource-group $resourceGroup --server-name $server --query "{principalId:principalId, tenantId:tenantId}" --output table
시스템 할당 관리 ID 확인
Azure Portal 사용:
열려 있지 않은 경우 포털에서 엔터프라이즈 애플리케이션 서비스를 찾습니다. 이를 수행하는 한 가지 방법은 검색 창에 이름을 입력하는 것입니다. 일치하는 이름을 가진 서비스가 표시되면 선택합니다.
애플리케이션 유형 == 관리 ID를 선택합니다 .
애플리케이션 이름 또는 개체 ID 텍스트 상자에 Azure Database for PostgreSQL 유연한 서버 인스턴스의 이름을 입력합니다.
# Verify the system assigned managed identity
server=<server>
az ad sp list --display-name $server
사용자가 할당한 관리 ID를 기존 서버에 연결
이 문서에서는 Azure Database for PostgreSQL 유연한 서버의 기존 인스턴스에 연결하려는 사용자 할당 관리 ID를 만들었다고 가정합니다.
자세한 내용은 Microsoft Entra ID에서 사용자 할당 관리 ID를 관리하는 방법을 참조 하세요.
Azure Database for PostgreSQL 유연한 서버의 인스턴스에 원하는 만큼 사용자 할당 관리 ID를 연결할 수 있습니다.
포털을 통해 사용자 할당 관리 ID를 Azure Database for PostgreSQL 유연한 서버 인스턴스에 연결할 수 없습니다.
az postgres flexible-server identity assign 명령을 통해 사용자 할당 ID를 Azure Database for PostgreSQL 유연한 서버 인스턴스에 연결할 수 있습니다.
# Associate user assigned managed identity
resourceGroup=<resource-group>
server=<server>
identity=<identity>
az postgres flexible-server identity assign --resource-group $resourceGroup --server-name $server --identity $identity
사용자가 할당한 관리 ID를 기존 서버에 분리
이 서비스는 Azure Database for PostgreSQL 유연한 서버의 인스턴스에 연결된 사용자 할당 관리 ID의 분리를 지원합니다.
해당 규칙의 예외는 암호화 키에 액세스하는 데 사용해야 하는 ID로 지정된 사용자 할당 관리 ID입니다. 이 사례는 고객 관리형 키를 사용하여 데이터 암호화를 사용하여 배포된 서버에서만 가능합니다.
포털을 통해 Azure Database for PostgreSQL 유연한 서버 인스턴스에서 사용자 할당 관리 ID를 분리하는 기능은 지원되지 않습니다.
az postgres flexible-server identity remove 명령을 통해 Azure Database for PostgreSQL 유연한 서버 인스턴스에서 사용자 할당 ID를 분리 할 수 있습니다.
# Dissociate user assigned managed identity
resourceGroup=<resource-group>
server=<server>
identity=<identity>
az postgres flexible-server identity remove --resource-group $resourceGroup --server-name $server --identity $identity
데이터 암호화 키에 액세스하는 데 사용되는 사용자 할당 관리 ID를 제거하려고 하면 다음 오류가 발생합니다.
Cannot remove identity <identity> because it's used for data encryption.
연결된 사용자 할당 관리 ID 표시
Azure Portal 사용:
포털에서 서버를 찾습니다(열려 있지 않은 경우). 이 작업을 수행하는 한 가지 방법은 검색 창에 서버 이름을 입력하는 것입니다. 이름이 일치하는 리소스가 표시되면 해당 리소스를 선택합니다.
리소스 메뉴의 개요에서 JSON 보기를 선택합니다 .
열리는 리소스 JSON 패널에서 ID 속성을 찾 은 다음 그 안에 userAssignedIdentities를 찾을 수 있습니다. 해당 개체는 하나 이상의 키/값 쌍으로 구성되며, 각 키는 사용자가 할당한 관리 ID의 리소스 식별자를 나타내며 해당 값은 해당 관리 ID와 연결된 principalId 및 clientId로 만들어집니다.
# List all associated user assigned managed identities
resourceGroup=<resource-group>
server=<server>
az postgres flexible-server identity list --resource-group $resourceGroup --server-name $server --query "userAssignedIdentities"
관련 콘텐츠