Azure Database for PostgreSQL용 Azure AI 확장은 Azure AI Services, Azure OpenAI 및 Azure Machine Learning을 사용하여 SAMI(시스템 할당 관리 ID)를 지원하여 고객에게 향상된 보안 이점을 제공합니다. 사용자는 Microsoft Entra ID를 사용하여 액세스 키 없이 인증하여 무단 액세스 위험을 줄이고 자격 증명 관리를 간소화할 수 있습니다. 이 통합을 통해 ID와 권한이 안전하고 효율적으로 처리되어 데이터베이스 보안을 위한 강력한 프레임워크를 제공합니다.
구독 주요 이점
- 저장할 비밀 없음 – 구독 키를 수동으로 관리하거나 회전할 필요가 없습니다.
- 향상된 보안 – 로그 또는 코드 리포지토리에 API 키를 노출할 위험이 없습니다.
- 더 간단한 유지 관리 - Azure는 백그라운드에서 인증을 처리하여 운영 오버헤드를 줄입니다.
시스템에서 할당한 관리 ID 만들기
- Azure 포털로 이동하십시오.
- 포털 내에서 Azure Database for PostgreSQL 유연한 서버 인스턴스를 선택합니다.
- 관리 ID 활성화:
- 서버 개요 페이지의 왼쪽 탐색 메뉴에서 보안을 확장하고 ID를 선택합니다.
- 시스템이 할당한 관리 ID에 대해 켜기 라디오 단추를 선택합니다.
- 저장을 선택하여 관리 ID를 사용하도록 설정합니다.
자세한 내용은 관리 ID를 방문하세요.
관리 ID 할당
- Azure Portal로 이동하여 Azure AI Services 리소스를 선택합니다.
- 메뉴에서 액세스 제어(IAM)를 선택합니다.
- 추가를 선택한 다음 역할 할당 추가를 선택합니다.
- Cognitive Services 사용자 역할을 선택합니다.
- 멤버 섹션에서 관리 ID를 선택합니다.
- PostgreSQL 서버의 구독 및 관리 ID를 선택합니다.
- 저장을 선택하여 역할을 할당합니다.
- 서버의 개요 페이지로 돌아가서 다시 시작 단추를 클릭하여 서버를 다시 부팅합니다.
자세한 내용은 'Azure AI Services를 사용하는 관리 ID'를 참조하세요.
Azure OpenAI용 액세스 제어(IAM)
- Azure Portal로 이동하여 구독에 배포된 Azure OpenAI 리소스를 선택합니다. 리소스를 빠르게 식별하려면 Azure OpenAI 유형별로 리소스를 필터링할 수 있습니다.
- 리소스 메뉴에서 액세스 제어(IAM)를 선택합니다.
- 추가를 선택한 다음 역할 할당 추가를 선택합니다.
- Cognitive Services OpenAI 사용자 역할을 선택합니다.
- 멤버 섹션에서 관리 ID를 선택합니다.
- PostgreSQL 서버의 구독 및 관리 ID를 선택합니다.
- 저장을 선택하여 역할을 할당합니다.
자세한 내용은 Azure OpenAI를 사용하여 관리 ID를 방문하세요.
Azure Machine Learning용 액세스 제어(IAM)
- Azure Portal로 이동하여 Azure Machine Learning 리소스를 선택합니다.
- 리소스 메뉴에서 액세스 제어(IAM)를 선택합니다.
- 추가를 선택한 다음 역할 할당 추가를 선택합니다.
- Azure Machine Learning 데이터 과학자 역할을 선택합니다.
- 멤버 섹션에서 관리 ID를 선택합니다.
- PostgreSQL 서버의 구독 및 관리 ID를 선택합니다.
- 저장을 선택하여 역할을 할당합니다.
- 모델 엔드포인트의 인증 유형이 Microsoft Entra 토큰 기반으로 선택되어 있는지 확인합니다.
azure_ai 데이터베이스 권한 부여 설정 업데이트
관리 ID 또는 구독 키 인증을 사용하도록 PostgreSQL용 Azure AI 확장을 구성하려면 데이터베이스 권한 부여 설정을 업데이트해야 합니다. 이 프로세스를 통해 확장이 Azure AI Services, Azure OpenAI 또는 Azure Machine Learning으로 올바르게 인증됩니다. 아래 단계에 따라 사용 사례의 적절한 권한 부여 유형 및 엔드포인트를 설정합니다.
권한 부여 유형을 관리 ID로 설정
- OpenAI의 경우 다음 SQL 명령을 실행합니다.
SELECT azure_ai.set_setting('azure_openai.auth_type', 'managed-identity');
- Cognitive Services의 경우 다음 SQL 명령을 실행합니다.
SELECT azure_ai.set_setting('azure_cognitive.auth_type', 'managed-identity');
- 번역 서비스를 사용하는 경우 다음 SQL 명령을 실행하여 번역기 리소스의 리소스 ID를 설정해야 합니다.
SELECT azure_ai.set_setting('azure_cognitive.translator_resource_id', '<Your_translator_resource_id>');
- Machine Learning Services의 경우 다음 SQL 명령을 실행합니다.
SELECT azure_ai.set_setting('azure_ml.auth_type', 'managed-identity');
엔드포인트 설정
- Azure OpenAI의 경우 다음 SQL 명령을 실행하여 엔드포인트를 설정합니다.
SELECT azure_ai.set_setting('azure_openai.endpoint', 'https://<Your_openai_account>.openai.azure.com');
설정 확인
PostgreSQL용 Azure AI 확장을 구성한 후에는 설정이 올바르게 적용되었는지 확인해야 합니다. 설정을 확인하면 통합이 올바르게 구성되고 Azure AI Services, Azure OpenAI 또는 Azure Machine Learning과 상호 작용할 준비가 되었는지 확인합니다. 다음 SQL 명령을 사용하여 현재 구성을 확인하고 올바른 권한 부여 유형 및 엔드포인트가 있는지 확인합니다.
SELECT azure_ai.get_setting('azure_openai.auth_type');
SELECT azure_ai.get_setting('azure_openai.endpoint');
구성 테스트
관리 ID를 설정하고 PostgreSQL용 Azure AI 확장을 구성한 후에는 통합이 예상대로 작동하는지 확인해야 합니다. 테스트를 통해 데이터베이스가 Azure AI Services, Azure OpenAI 및 Azure Machine Learning을 사용하여 성공적으로 인증할 수 있습니다. 다음 예제에서는 샘플 함수 호출을 실행하여 구성의 유효성을 검사하고 인증 오류 없이 서비스가 작동하는지 확인하는 방법을 보여 줍니다.
SELECT azure_cognitive.analyze_sentiment('Your text here');
권한 부여 오류 없이 함수가 성공적으로 실행되는지 확인합니다.
OpenAI 서비스 테스트
OpenAI 서비스를 테스트하면 PostgreSQL용 Azure AI 확장과 Azure OpenAI 간의 통합이 제대로 작동합니다. 샘플 함수 호출을 실행하여 관리 ID 또는 구독 키 인증이 올바르게 구성되어 있고 데이터베이스가 OpenAI 모델과 성공적으로 상호 작용할 수 있는지 확인할 수 있습니다. 아래 예제에 따라 포함 만들기 기능을 테스트하고 인증 오류 없이 서비스가 작동하는지 확인합니다.
SELECT azure_openai.create_embeddings('Your model deployment name', 'Your text here');
권한 부여 오류 없이 함수가 성공적으로 실행되는지 확인합니다.
기계 학습 서비스 테스트
기계 학습 서비스를 테스트하면 PostgreSQL용 Azure AI 확장과 Azure Machine Learning 간의 통합이 예상대로 작동합니다. 샘플 함수 호출을 실행하여 관리 ID 또는 구독 키 인증이 올바르게 구성되었는지 확인할 수 있습니다. 이 단계에서는 데이터베이스가 배포된 기계 학습 모델과 성공적으로 상호 작용하여 예측 또는 기타 모델 작업을 원활하게 실행할 수 있음을 확인합니다. 아래 예제를 사용하여 모델 호출 기능을 테스트하고 인증 오류 없이 서비스가 작동하는지 확인합니다.
SELECT azure_ml.invoke('Your model input', 'Your model deployment name');
권한 부여 오류 없이 함수가 성공적으로 실행되는지 확인합니다.
SELECT azure_ml.invoke('Your model input', 'Your model deployment name');
권한 부여 오류 없이 함수가 성공적으로 실행되는지 확인합니다.
구독 키 인증
구독 키 인증을 사용하도록 되돌려야 하는 경우 아래 단계를 수행합니다. 관리 ID 대신 인증에 구독 키를 사용하도록 다시 전환하려는 경우에 유용합니다.
PostgreSQL 데이터베이스에 연결
원하는 PostgreSQL 클라이언트를 사용하여 데이터베이스에 연결합니다.
구독 키 권한 부여 유형 설정
- OpenAI의 경우 다음 SQL 명령을 실행합니다.
SELECT azure_ai.set_setting('azure_openai.auth_type', 'subscription-key');
SELECT azure_ai.set_setting('azure_openai.endpoint','https://<Your_OpenAI_Endpoint>');
SELECT azure_ai.set_setting('azure_openai.subscription_key', '<Key>');
- Cognitive Services의 경우 다음 SQL 명령을 실행합니다.
SELECT azure_ai.set_setting('azure_cognitive.auth_type', 'subscription-key');
SELECT azure_ai.set_setting('azure_cognitive.endpoint','https://<endpoint>.cognitiveservices.azure.com');
SELECT azure_ai.set_setting('azure_cognitive.subscription_key', '<Key>');
- Machine Learning Services의 경우 다음 SQL 명령을 실행합니다.
SELECT azure_ai.set_setting('azure_ml.auth_type', 'subscription-key');
SELECT azure_ai.set_setting('azure_ml.scoring_endpoint','<URI>');
SELECT azure_ai.set_setting('azure_ml.endpoint_key', '<Key>');