연결 및 신원

Visual Studio Code PostgreSQL 확장은 여러 인증 방법, SSL/TLS 암호화 및 서버 그룹 및 저장된 연결과 같은 조직 도구를 지원하는 연결 대화 상자를 제공합니다. 이 문서에서는 대화 상자 열기, 인증 방법 선택, 연결 저장 및 재사용, 서버 구성 등의 핵심 연결 작업을 다룹니다.

Tip

SSH 터널, 연결 문자열 구문 분석 또는 인증서 파일 구성의 경우 고급 연결 옵션을 참조하세요.

연결 대화 상자 열기

다음과 같은 여러 가지 방법으로 연결 대화 상자를 열 수 있습니다.

  • 연결: 연결 섹션 헤더를 마우스로 가리키고 새 연결 추가 ( + 아이콘)를 선택합니다.
  • 명령 팔레트: PGSQL 실행: 새 연결 추가
  • 저장된 연결 또는 최근 연결: 사이드 패널의 저장된 연결 또는 최근 연결 목록에서 연결 카드를 선택하여 해당 설정을 대화 상자에 로드합니다.

새 대화 상자를 열면 헤더가 새 연결을 읽고 제목이 PostgreSQL 서버에 연결됨을 읽습니다. 기존 연결을 편집하면 헤더가 연결 편집으로 변경됩니다.

입력 모드 선택

연결 방법: 대화 상자 맨 위에 있는 탭을 통해 연결 세부 정보를 제공하는 방법을 선택할 수 있습니다.

Tab Description
매개 변수 서버 이름, 인증 유형, 사용자 이름, 암호, 데이터베이스 이름연결 이름과 같은 개별 필드를 입력합니다. 이것이 기본 모드입니다.
연결 문자열 지원되는 형식으로 연결 문자열 붙여넣습니다. 확장은 문자열을 구문 분석하고 읽기 전용 연결 세부 정보 패널에 추출된 서버 이름, 사용자 이름데이터베이스 이름을 표시합니다.
Azure 찾아보기 Azure 구독, 리소스 그룹 및 서버를 찾아 Azure Database for PostgreSQL 유연한 서버 또는 Azure HorizonDB(미리 보기) 클러스터를 직접 선택합니다. Visual Studio Code 로그인한 Azure 계정이 필요합니다.

세 가지 모드는 모두 대화 상자 아래쪽에 있는 동일한 연결 저장테스트 단추를 공유합니다. 고급 단추는 모든 모드에서 고급 연결 설정 서랍을 엽니다.

연결 매개 변수 채우기

매개 변수 탭을 사용하면 대화 상자에 다음 기본 필드가 표시됩니다.

Field Description
서버 이름 PostgreSQL 서버의 호스트 이름 또는 IP 주소입니다.
인증 유형 인증하는 데 사용되는 메서드입니다. 인증 유형을 참조하세요.
사용자 이름 PostgreSQL 데이터베이스 사용자 또는 역할 인증 유형암호 또는 AWS IAM(RDS/Aurora)인 경우 표시됩니다.
암호 사용자 계정의 password입니다. 인증 유형암호일 때 표시됩니다.
암호 저장 암호를 안전하게 저장하려면 이 확인란을 선택합니다. 암호 스토리지를 참조하세요.
데이터베이스 이름 연결할 데이터베이스의 이름입니다. 기본 데이터베이스에 연결하려면 비워 둡니다.
연결 이름 이 연결에 대한 선택적 이름입니다. 확장은 연결 트리와 저장된 연결 목록에 이 이름을 표시합니다.

인증 유형에 따라 추가 필드가 표시됩니다. Entra Auth의 경우 대화 상자에 Entra 계정, Entra 사용자 이름테넌트가 표시됩니다. AWS IAM(RDS/오로라)의 경우 대화 상자에 AWS 프로필AWS 지역이 표시됩니다.

메모

포트 필드는 최상위 옵션 아래에 있는 고급 연결 설정 서랍에 있습니다. 기본 포트는 5432입니다.

인증 유형

인증 유형 드롭다운 목록에서는 네 가지 옵션을 제공합니다.

암호

암호 인증은 표준 PostgreSQL 방법입니다. 서버가 인증 구성(일반적으로 pg_hba.conf)에 대해 유효성을 검사하는 사용자 이름 및 암호를 제공합니다.

  1. 인증 유형을암호로 설정합니다.
  2. 사용자 이름 및 암호를 입력합니다.
  3. 필요에 따라 암호를 안전하게 저장하려면 암호 저장 을 선택합니다.
  4. 저장 및 연결을 선택합니다.

암호 스토리지

암호 저장을 선택하면 확장은 운영 체제의 자격 증명 관리자를 위임하는 Visual Studio Code SecretStorage API를 통해 암호를 저장합니다.

  • macOS: 키 집합
  • Windows: 자격 증명 관리자
  • Linux: libsecret (GNOME Keyring 또는 KWallet)

저장된 암호는 특정 연결과 연결되며 일반 텍스트 설정 파일에 저장되지 않습니다.

"Microsoft Entra" 인증

Microsoft Entra 인증(이전 Azure Active Directory)은 Azure Database for PostgreSQL 유연한 서버에 대한 토큰 기반 암호 없는 인증을 제공합니다. 대화 상자는 이 옵션 Entra Auth에 레이블을 지정합니다.

메모

Entra 인증을 사용하려면 Entra 인증을 사용하는 Azure Database for PostgreSQL 유연한 서버 인스턴스가 필요합니다. 구성 세부 정보는 Azure Database for PostgreSQL Microsoft Entra 인증을 참조하세요.

Entra 인증에 연결하려면 다음을 수행합니다.

  1. Entra 계정을 추가합니다. 명령 팔레트를 열고 PGSQL: Microsoft Entra 계정 추가를 실행합니다. 열리는 브라우저 창에서 Entra 자격 증명으로 로그인합니다.
  2. 연결 대화 상자를 엽니다. 인증 유형을Entra Auth로 설정합니다.
  3. 계정을 선택합니다. Entra 계정 드롭다운 목록에서 추가한 계정을 선택합니다.
  4. 테넌트를 선택합니다. 계정이 여러 테넌트에 속하는 경우 Tenant 드롭다운 목록에서 적절한 테넌트를 선택하세요.
  5. Entra 사용자 이름을 입력합니다. ID에 매핑된 PostgreSQL 역할의 Entra 사용자 이름을 입력합니다.
  6. 연결. 저장 및 연결을 선택합니다. 확장은 액세스 토큰을 획득하고 사용자를 대신하여 PostgreSQL 서버에 인증합니다.

저장된 Entra 연결 프로필은 레거시 AzureMFA 값을 계속 사용합니다. 정식 bearer-token:entra-id 값은 서버 기반 디스패치 및 향후 프로필 마이그레이션을 위해 예약됩니다.

Entra 계정을 제거하려면 PGSQL: 명령 팔레트에서 Microsoft Entra 계정 제거를 실행하고 제거할 계정을 선택합니다. 계정을 제거하지 않고 캐시된 토큰을 지우려면 PGSQL: Microsoft Entra 계정 토큰 캐시 지우기를 실행합니다.

이중 계정 모델

확장은 Azure 시나리오에 대한 이중 계정 모델을 지원합니다. 데이터베이스 인증에 하나의 Entra 계정과 Azure 리소스(구독, 리소스 그룹 및 서버)를 검색하는 데 다른 계정을 사용할 수 있습니다.

  • 연결 대화 상자의 Entra 계정 필드는 데이터베이스에 인증하는 ID를 제어합니다.
  • Azure 찾아보기 탭은 구독 및 리소스를 나열하는 데 Visual Studio Code에 로그인한 Azure 계정(Azure Resources 확장을 통해 로그인한 계정)을 사용합니다.

Tip

이 분리는 데이터베이스 관리자 계정이 Azure 구독을 관리하는 계정과 다른 경우에 유용합니다. 각 작업에 대해 올바른 사용 권한을 사용하도록 개별적으로 구성합니다.

AWS IAM(RDS/오로라)

AWS IAM 인증은 저장된 암호 대신 AWS 서명된 데이터베이스 인증 토큰을 사용합니다. 이 옵션은 IAM 데이터베이스 인증을 사용하도록 설정된 Amazon RDS for PostgreSQL 또는 Amazon Aurora PostgreSQL 데이터베이스 엔드포인트에만 사용합니다. 수동으로 입력한 AWS 지역은 지역 유추를 보완할 수 있지만 사용자 지정 PostgreSQL 호스트, 비 RDS 호스트 또는 CNAME 별칭이 지원되지는 않습니다. 대화 상자는 이 옵션 AWS IAM(RDS/Aurora)에 레이블을 지정합니다.

메모

PostgreSQL 데이터베이스 역할은 서버에 있어야 하며 IAM 데이터베이스 인증을 사용할 수 있어야 합니다. RDS 및 Aurora PostgreSQL의 경우 역할을 rds_iam부여합니다. 자세한 내용은 MariaDB, MySQL 및 PostgreSQL에 대한 IAM 데이터베이스 인증을 참조하세요.

AWS IAM 인증에 연결하려면 다음을 수행합니다.

  1. AWS 자격 증명을 준비합니다. 조직에 필요한 AWS CLI 흐름을 구성합니다. 예를 들면 aws configure, aws sso login --profile <profile> 또는 조직별 credential_process 설정이 있습니다.
  2. 연결 대화 상자를 엽니다. 인증 유형을AWS IAM(RDS/Aurora)으로 설정합니다.
  3. 서버 엔드포인트를 입력합니다. 서버 이름에 Amazon RDS 또는 Aurora PostgreSQL 엔드포인트를 사용합니다.
  4. 데이터베이스 역할을 입력합니다. 사용자 이름에 PostgreSQL 데이터베이스 사용자 또는 역할을 입력합니다. 이것은 AWS 프로필, IAM 사용자, IAM 역할 또는 ARN이 아닙니다.
  5. AWS 자격 증명 원본을 선택합니다. AWS 프로필을 선택하거나 입력합니다. 기본 AWS 자격 증명 체인을 사용하려면 AWS 프로필을 비워 둡니다.
  6. 필요한 경우 AWS 지역을 설정합니다. 확장은 가능하면 표준 RDS 및 오로라 호스트 이름에서 지역을 유추합니다. 호스트 이름에 지역이 포함되지 않은 경우 AWS 지역에 입력합니다.
  7. 연결. 저장 및 연결을 선택합니다. 확장은 수명이 짧은 인증 토큰에 서명하고 새 연결에 대해 PostgreSQL 암호로 사용합니다.

AWS 자격 증명 체인은 환경 변수, 공유 AWS 구성 및 자격 증명 파일, AWS SSO 프로필 및 credential_process 프로필을 지원합니다. EC2 또는 ECS 인스턴스/컨테이너 메타데이터 자격 증명을 사용하지 않으며 메타데이터 지원 프로필 체인을 credential_source 사용하지 않습니다.

AWS IAM 데이터베이스 인증 토큰은 15분 동안 유효합니다. 확장은 기본 AWS 자격 증명이 유효한 상태로 유지되는 동안 필요에 따라 새 토큰을 가져옵니다. 수동 토큰 새로 고침 단계는 필요하지 않습니다.

없음

없음은 인증을 완전히 생략합니다. 확장은 자격 증명을 보내지 않고 연결됩니다. 이 옵션은 인증 또는 이와 유사한 자격 증명이 없는 구성으로 trust 구성된 PostgreSQL 서버에 적용됩니다.

연결, 테스트 및 연결 끊기

연결 세부 정보를 입력한 후 연결 대화 상자 및 연결 트리의 작업을 사용하여 프로필을 저장하고, 연결, 편집 또는 서버를 제거합니다.

저장 및 연결(&S)

연결 세부 정보를 입력한 후 저장 및 연결을 선택하여 연결을 설정합니다. 이 단추는 다음 두 가지 작업을 수행합니다.

  1. VS Code 설정에서 연결을 프로필로 저장합니다.
  2. 서버에 연결합니다.

연결이 성공하면 서버가 연결 트리에 나타납니다. 연결 대화 상자의 저장된 연결최근 연결 목록에도 연결이 표시됩니다.

연결 테스트

연결을 테스트하여 프로필을 저장하거나 연결 트리에 서버를 추가하지 않고 연결 매개 변수를 확인합니다. 테스트가 실행되는 동안 단추는 회전자를 표시한 다음 성공에 대한 확인 표시 또는 실패 시 경고 아이콘을 표시합니다.

연결 끊기

서버에서 연결을 끊려면 다음을 수행합니다.

  • 연결: 서버 노드를 마우스 오른쪽 단추로 클릭하고 연결을 끊습니다.
  • 명령 팔레트: PGSQL 실행: 연결 끊기.

기존 연결 편집

저장된 연결을 편집하려면 연결 트리에서 서버를 마우스 오른쪽 단추로 클릭하고 연결 편집을 선택합니다. 연결 대화 상자는 연결 편집 헤더와 현재 프로필 이름을 제목으로 사용하여 편집 모드로 열립니다. 변경하고 저장 및 연결을 선택하여 업데이트된 설정과 다시 연결합니다.

고급 연결 설정

기본 필드 아래의 고급 단추를 선택하여 고급 연결 설정 서랍을 엽니다. 서랍에는 다음이 포함됩니다.

  • 최상위 옵션: 범위 (사용자 또는 작업 영역), 포트, 애플리케이션 이름, 연결 시간 제한다중 서브넷 장애 조치(Failover).
  • 그룹화된 섹션: 원본, 보안, 서버, 클라이언트, SSL, CopilotSSH 터널에 대한 축소 가능한 아코디언 섹션입니다.

범위 옵션은 연결 프로필이 저장되는 위치를 제어합니다.

Scope 프로필이 저장되는 위치
User VS Code 사용자 설정(전역, 모든 작업 영역에서 사용 가능)
Workspace VS Code 작업 영역 설정(공동 작업자와 공유).vscode/settings.json

SSL 및 SSH 터널 구성 세부 정보는 고급 연결 옵션을 참조하세요.

각 연결별 Copilot 액세스 모드

고급 서랍의 Copilot 섹션에는 세 가지 옵션이 있는 Copilot 액세스 모드 드롭다운 목록이 포함되어 있습니다.

Option 영향
전역 설정 사용 전역 pgsql.copilot.accessMode 값을 상속합니다.
읽기 전용 이 연결에서 Copilot 읽기 전용 작업으로 제한합니다.
읽기/쓰기 Copilot이 이 연결에 대해 읽기 및 쓰기 작업을 수행하도록 허용합니다.

SSL 및 TLS

SSL/TLS는 Visual Studio Code PostgreSQL 서버 간의 연결을 암호화합니다. SSL 모드를 고급 연결 설정 드로어의 SSL 섹션 또는 연결 문자열에서 구성합니다.

SSL 모드

모드 Description
비활성화 SSL 암호화가 없습니다. 연결이 암호화되지 않았습니다.
허용 먼저 암호화되지 않은 연결을 시도합니다. 서버에서 요구하는 경우 SSL로 돌아갑니다.
선호 먼저 SSL을 시도합니다. 는 SSL 협상이 실패할 경우 암호화되지 않은 연결로 대체됩니다. 이는 많은 PostgreSQL 클라이언트의 기본값입니다.
필요 SSL 암호화가 필요하지만 서버 인증서를 확인하지 않습니다. 수동 도청으로부터 보호합니다.
Verify-CA SSL이 필요하고 서버 인증서가 신뢰할 수 있는 CA(인증 기관)에 의해 서명되어 있는지 확인합니다.
전체 확인 SSL이 필요하고, CA를 확인하고, 서버 호스트 이름이 인증서의 일반 이름 또는 주체 대체 이름과 일치하는지 확인합니다. 가장 강력한 보호를 제공합니다.

메모

Azure Database for PostgreSQL 기본적으로 SSL이 필요합니다. 최대 보안을 위해 대부분의 시나리오에 필요 또는 DigiCert Global Root G2 인증서와 함께 Verify-Full을 사용합니다.

Tip

인증서 파일 구성 및 상호 TLS 시나리오는 고급 연결 옵션을 참조하세요.

저장된 연결 및 최근 연결 관리

연결 대화 상자에는 다음 두 개의 목록이 있는 측면 패널이 포함됩니다.

  • 저장된 연결: 저장 및 연결로 이전에 저장한 연결입니다. 각 카드에는 서버 표시 이름이 표시됩니다. 카드 위로 마우스를 가져가서 삭제 단추를 표시합니다. 카드를 선택하여 해당 설정을 대화 상자에 로드합니다.
  • 최근 연결: 연결 이름으로 저장했는지 여부에 관계없이 최근에 사용한 연결입니다. 마우스를 가져가서 제거 단추를 표시합니다.

최근 연결 목록은 설정으로 제한됩니다pgsql.maxRecentConnections. 프로필 및 데이터베이스당 동시 열린 연결의 최대 수는 설정에 의해 pgsql.maxConnections 제어됩니다(기본값: 10).

서버 그룹

서버 그룹은 연결 트리에서 연결을 구성하는 데 도움이 됩니다 . 각 그룹에 사용자 지정 이름과 색을 할당하여 개발, 스테이징 및 프로덕션과 같은 환경을 한눈에 쉽게 식별할 수 있습니다.

서버 그룹 만들기

  1. 연결 트리를 마우스 오른쪽 단추 클릭하고 서버 그룹 만들기를 선택합니다.
  2. 대화 상자에서 이름, 선택적 설명을 입력하고 그룹의 을 선택합니다.

서버 그룹 편집 또는 제거

  • 편집: 연결 트리에서 서버 그룹을 마우스 오른쪽 단추로 클릭하고 서버 그룹 편집 을 선택하여 이름, 설명 또는 색을 변경합니다.
  • 제거: 서버 그룹을 마우스 오른쪽 단추로 클릭하고 제거를 선택합니다. 그룹의 연결은 삭제되지 않습니다. 기본 그룹으로 이동합니다.

그룹에 연결 할당

연결을 만들거나 편집할 때 연결 대화 상자에는 주 필드 영역에 서버 그룹 드롭다운 목록이 포함됩니다. 목록에서 그룹을 선택하여 해당 그룹에 대한 연결을 할당합니다.

그룹 색은 연결 트리의 그룹 이름 옆에 색이 지정된 막대로 표시되어 빠른 시각적 식별을 제공합니다.

Azure 메타데이터

Azure Database for PostgreSQL 유연한 서버에 연결할 때 연결 대화 상자에 양식과 함께 Azure 메타데이터 패널이 표시할 수 있습니다. 이 패널에서는 메타데이터 Azure 가져오기를 선택한 후 서버의 구독리소스 그룹을 표시합니다. Azure 메타데이터를 포함하면 서버 대시보드 및 Azure Monitor 메트릭과 같은 관리 기능을 사용할 수 있습니다.

일반적인 연결 문제 해결

연결 시도가 실패하면 일반적으로 네트워크, 인증 또는 SSL 설정이 원인입니다. 다음 섹션에서는 가장 일반적인 사례를 다룹니다.

연결이 거부되거나 시간 초과

인증을 시작하기 전에 연결이 실패하면 먼저 서버 이름과포트 를 확인합니다. PostgreSQL이 실행 중이고, 컴퓨터에서 포트에 연결할 수 있으며, 모든 네트워크 방화벽 규칙에서 연결을 허용하는지 확인합니다. 느린 네트워크에 더 많은 시간을 허용하도록 고급 연결 설정 서랍에서 연결 시간 제한을 조정할 수 있습니다.

SSL 또는 인증서 유효성 검사 오류

서버에 암호화가 필요한 경우 고급 서랍의 SSL 섹션에서 선택한 SSL 모드가 서버 구성과 일치하는지 확인합니다. Verify-CAVerify-Full의 경우 올바른 CA 인증서가 구성되어 있는지 확인합니다. 인증서 파일 세부 정보는 고급 연결 옵션을 참조하세요.

로그인 또는 토큰 문제 Microsoft Entra

Entra 인증이 실패하면 대상 Azure Database for PostgreSQL 유연한 서버에 Entra 인증이 사용하도록 설정되어 있는지 확인한 다음 연결 대화 상자에서 올바른 계정 및 테넌트가 선택되었는지 확인합니다. 필요한 경우 PGSQL: Microsoft Entra 계정 제거를 실행한 후 계정을 다시 추가하세요. 캐시된 토큰을 다시 설정하려면 PGSQL: Microsoft Entra 계정 토큰 캐시 지우기를 실행합니다.

AWS IAM 프로필 또는 토큰 문제

AWS IAM 인증에 실패하는 경우 서버 이름이 사용자 지정 호스트 이름 또는 CNAME 별칭이 아닌 Amazon RDS 또는 Aurora PostgreSQL 엔드포인트인지 확인합니다. 사용자 이름이 PostgreSQL 데이터베이스 역할이고 해당 역할에 서버에서 IAM 데이터베이스 인증이 사용하도록 설정되어 있는지 확인합니다. 선택한 AWS 프로필 이 지원되는 AWS 자격 증명을 가져올 수 있는지 확인합니다. 예를 들어 명명된 프로필에 대해 실행 aws sts get-caller-identity --profile <profile> 하거나 기본 자격 증명 체인을 사용하는 경우 생략 --profile 합니다. 지원되는 엔드포인트에 대해 지역 유추가 실패하면 AWS 지역을 수동으로 입력합니다.

연결 문자열 파싱 시 올바른 필드가 채워지지 않습니다.

붙여넣은 연결 문자열이 예상되는 값을 채우지 않으면 고급 연결 옵션에서 지원되는 입력 패턴을 검토하세요. 원본 형식이 비정상적인 경우 매개 변수 탭으로 전환하고 값을 수동으로 입력합니다.