네트워킹 및 보안 기능 구성
Azure Database for MySQL – 유연한 서버의 주요 네트워킹 및 보안 기능에는 액세스 제어, 연결, ID, 역할 및 권한 관리를 위한 중앙 집중식 플랫폼인 Microsoft Entra ID 지원이 포함됩니다. 또한 MySQL 유연한 서버는 기본적으로 전송 중인 모든 데이터를 암호화하고 Azure 또는 고객 관리형 키를 사용하여 미사용 데이터를 암호화할 수 있도록 합니다.
네트워킹
네트워크 액세스 구성
MySQL 유연한 서버를 만들 때 Azure Virtual Network를 통한 프라이빗 액세스 또는 선택적 프라이빗 엔드포인트를 사용하여 허용 목록에 있는 IP 주소에 대한 공용 액세스를 선택할 수 있습니다. 기본 사항 섹션을 완료한 후 다음: 네트워킹을 선택한 다음 공용 액세스 및 프라이빗 엔드포인트 또는 프라이빗 액세스를 선택합니다.
공용 액세스 및 프라이빗 엔드포인트를 선택하면 데이터베이스를 인터넷에 노출할지 여부를 선택할 수 있습니다. 공용 액세스 허용이 선택되지 않은 경우 데이터베이스는 공용 IP 주소를 사용하지 않고 프라이빗 엔드포인트에서만 액세스할 수 있습니다. 공용 인터넷 액세스를 유지하려면 공용 액세스 허용을 선택한 다음 방화벽 규칙 섹션에서 허용 목록에 IP 주소 또는 범위를 추가합니다. Azure 네트워크의 모든 Azure 서비스를 허용 목록에 추가하려면 Azure 내의 모든 Azure 서비스에서 이 서버에 대한 공용 액세스 허용을 선택합니다.
공용 액세스 외에 또는 대신 프라이빗 엔드포인트를 구성할 수 있습니다. Wingtip Toys는 온-프레미스 네트워크와 Azure 간에 VPN을 운영할 계획이므로 프라이빗 엔드포인트를 건너뛰겠습니다. 프라이빗 링크 설정에 대한 자세한 내용은 참조 설명서를 참조하세요.
Virtual Network의 연결만 허용하려면 프라이빗 액세스를 선택한 다음 적절한 구독, 가상 네트워크 및 서브넷을 선택합니다. 가상 네트워크 및 서브넷을 선택하지 않으면 새 네트워크 및 서브넷이 만들어집니다.
마지막으로, 변경될 수 있는 IP 주소 대신 정규화된 도메인 이름으로 연결하려면 프라이빗 DNS 통합을 설정해야 합니다. 기존 DNS 영역을 선택하거나 Azure에서 새 영역을 만들도록 합니다.
전송 중 암호화 구성
기본적으로 MySQL 유연한 서버는 TLS(전송 계층 보안) 버전 1.2를 사용하여 암호화된 연결만 허용합니다. TLS 1.3을 지원하는 새 애플리케이션을 개발하는 경우 최신 버전을 지원하거나 적용하는 것이 좋습니다. 이렇게 하려면 다음 단계를 수행하십시오.
- Azure Portal에서 TLS 1.3을 사용하여 연결하려는 MySQL 유연한 서버를 선택합니다.
- 서버 매개 변수 섹션에서 상위 또는 전체 필터의 검색 창에 tls_version을 입력합니다.
- 값 드롭다운 목록에서 TLSv1.2 및/또는 TLSv1.3을 선택한 다음 저장을 선택합니다.
require_secure_transport
매개 변수의 값을 해제로 설정하여 암호화되지 않은 연결을 허용할 수도 있지만, 엄밀히 필요한 경우가 아니면 권장되지 않습니다.
Microsoft Defender for Cloud
클라우드용 Microsoft Defender는 비정상적이거나 의심스러운 데이터베이스 작업을 검색하고 경고하는 비용 효율적인 방법입니다. 사용하도록 설정하려면 다음 단계를 수행합니다.
Azure Portal에서 Defender로 보호하려는 MySQL 유연한 서버를 선택합니다.
클라우드용 Microsoft Defender 섹션에서 사용을 선택합니다.
경고 구성 방법을 포함하여 Defender에 대해 자세히 알아보려면 참조 설명서를 확인합니다.
Microsoft Entra ID 인증을 사용하여 사용하도록 설정 및 연결
시작하기 전에 적절하게 구성된 UMI(사용자 관리 ID)가 필요합니다. ID에는 디렉터리 읽기 권한자 역할 또는 다음과 같은 개별 권한이 필요합니다. User.Read.All, GroupMember.Read.All 및 Application.Read.ALL. 이러한 권한을 추가하는 방법에 대한 자세한 내용은 이 자습서를 참조하세요.
Azure Database for MySQL 유연한 서버에 대해 Microsoft Entra ID 인증을 사용하도록 설정하려면 다음 단계를 수행합니다.
Azure Portal에서 Microsoft Entra ID를 사용하여 연결하려는 MySQL 유연한 서버를 선택합니다.
보안 섹션에서 인증을 선택합니다.
액세스 할당 대상 제목 아래에서 다음 중 하나를 선택합니다. Microsoft Entra 인증만(네이티브 MySQL 사용자/암호 로그인 사용 안 함) 또는 MySQL 및 Microsoft Entra 인증(네이티브 MySQL 및 Microsoft Entra 로그인 허용).
ID 선택 제목 아래에서 이 단원의 앞부분에서 언급한 UMI를 선택합니다.
Microsoft Entra 관리자가 될 Microsoft Entra 사용자 또는 그룹을 선택합니다. 그룹을 선택하면 해당 그룹의 모든 멤버가 관리자가 됩니다. 관리 사용자 또는 그룹은 하나만 가질 수 있으며 다른 관리 사용자를 선택하면 이전 관리 사용자가 바뀝니다.
Microsoft Entra ID가 사용하도록 설정되면 이제 다음 단계를 수행하여 Microsoft Entra ID 인증을 사용하여 MySQL 유연한 서버에 연결할 수 있습니다.
Azure를 사용하여 셸을 인증합니다. Azure Cloud Shell을 사용하는 경우 ID가 세션에서 이미 구성되어 있으므로 로그인할 필요가 없습니다. 인증되지 않은 터미널을 사용하는 경우 다음 명령을 실행합니다.
az login az account set --subscription <subscription_id>
인증된 셸에서 다음 명령을 실행하여 액세스 토큰을 검색합니다.
az account get-access-token --resource-type oss-rdbms
로그인하려면 제공된 액세스 토큰을 복사하여 암호로 사용합니다. 액세스 토큰을 mysql 클라이언트에 직접 전달하려면 Linux에서 다음 명령을 실행합니다.
mysql -h mydb.mysql.database.azure.com \ --user user@tenant.onmicrosoft.com \ --enable-cleartext-plugin \ --password=`az account get-access-token --resource-type oss-rdbms --output tsv --query accessToken`
PowerShell을 사용하는 경우 다음 명령을 실행합니다.
mysql -h mydb.mysql.database.azure.com \ --user user@tenant.onmicrosoft.com \ --enable-cleartext-plugin \ --password=$(az account get-access-token --resource-type oss-rdbms --output tsv --query accessToken)
MySQL Workbench와 같은 다른 클라이언트를 사용하는 경우 액세스 토큰을 암호 필드에 붙여넣기만 하면 됩니다.
고객 관리형 키로 미사용 데이터 암호화
Azure Portal 또는 Azure CLI를 사용하여 미사용 암호화를 구성할 수 있습니다. 그러나 고객 관리형 키로 암호화를 사용하도록 설정하려면 먼저 다음 필수 조건이 충족되었는지 확인해야 합니다.
UMI(사용자 관리 ID). 키 자격 증명 모음에 액세스하려면 데이터베이스에 대한 UMI가 필요합니다.
사용 권한. 역할 기반 액세스(IAM) 또는 자격 증명 모음 액세스 정책을 설정하고 UMI에 다음 권한을 부여합니다. 가져오기, 나열, 키 래핑 및 키 래핑 해제입니다.
[일시 삭제] 사용(/azure/key-vault/general/soft-delete-overview" /l "soft-delete-behavior). 실수로 암호화 키에 대한 액세스 권한을 상실하면 데이터가 영구적으로 손실될 수 있습니다. 보호 계층으로 일시 삭제를 사용하도록 설정합니다. Azure Portal을 사용하여 새 키 자격 증명 모음을 만들면 기본적으로 일시 삭제가 사용하도록 설정됩니다.
자격 증명 모음 이름은 알지만 ID는 모르는 경우 다음을 실행하여 찾아볼 수 있습니다.
az keyvault show --name $KEY_VAULT_NAME
기존 자격 증명 모음에서 일시 삭제를 사용하도록 설정하려면 다음을 실행합니다.
az resource update --id $KEY_VAULT_ID --set properties.enableSoftDelete=true
제거 방지 사용. 일시 삭제된 키는 사용자 또는 코드 오류로 인해 보존 기간이 끝나기 전에 여전히 잘못 제거될 수 있습니다. 제거 보호를 사용하면 삭제된 개체가 영구적으로 제거되기 전에 보존 기간이 설정됩니다.
이제 Azure Portal 또는 Azure CLI를 사용하여 미사용 데이터를 암호화하도록 고객 관리형 키를 구성할 수 있습니다.
Azure Portal을 사용하는 경우:
유연한 서버 인스턴스로 이동한 다음 보안에서 데이터 암호화를 선택합니다.
데이터 암호화에서 + 선택을 선택합니다. 사용자가 할당한 관리 ID 선택 대화 상자에서 필수 조건에서 식별된 사용자가 할당한 관리 ID를 선택하고 ID를 선택한 다음 추가를 선택합니다.
그런 다음 키 식별자 입력을 선택하고 ID를 입력하거나, 키 선택 대화 상자에서 식별자를 지정하거나 키 자격 증명 모음 및 키를 선택하여 키를 선택합니다.
저장을 선택합니다.
Azure CLI를 사용하는 경우 다음 명령을 실행합니다.
az mysql flexible-server update --resource-group $RESOURCE_GROUP --name $TEST_SERVER --key $KEY_IDENTIFIER --identity $IDENTITY