Autonomous Database용 Microsoft Azure Active Directory 사용자 인증 및 권한 부여
OAuth2
액세스 토큰을 사용하여 연결할 수 있도록 Oracle Autonomous Database on Dedicated Exadata Infrastructure 인스턴스를 구성할 수 있습니다.Oracle Autonomous Database on Dedicated Exadata Infrastructure와 Microsoft Azure AD 통합 정보
Oracle Autonomous Database on Dedicated Exadata Infrastructure 및 Microsoft Azure AD는 사용자 및 애플리케이션이 Azure AD 자격 증명을 사용하여 데이터베이스에 접속할 수 있도록 구성할 수 있습니다.
Azure AD 사용자 및 애플리케이션은 Azure AD SSO(Single Sign On) 자격 증명을 사용하여 데이터베이스에 액세스할 수 있습니다.Azure AD users and applications can log in with Azure AD Single Sign On (SSO) credentials to access the database. 이는 사용자 또는 애플리케이션이 Azure AD에서 처음 요청하는 Azure AD OAuth2
액세스 토큰으로 수행됩니다. 이 OAuth2
액세스 토큰은 사용자 ID 및 데이터베이스 액세스 정보를 포함하고 데이터베이스로 전송됩니다. 다중 요소 및 암호 없는 인증 구성에 대한 자세한 내용은 Microsoft 문서 Passwordless authentication options for Azure Active Directory를 참조하십시오.
다음 Oracle Database 환경에서 이 통합을 수행할 수 있습니다.
- 온-프레미스(On-Premise) Oracle Database 릴리스 19.18 이상
- Oracle Autonomous Database on Shared Exadata Infrastructure
- Oracle Autonomous Database on Dedicated Exadata Infrastructure
- Oracle Base Database Service
- Oracle Exadata Cloud Service(Oracle ExaCS)
Azure AD 구성에 대한 지침은 "Oracle Database"라는 용어를 사용하여 이러한 환경을 포괄합니다.
이러한 유형의 통합을 통해 Azure AD 사용자는 Oracle Autonomous Database on Dedicated Exadata Infrastructure 인스턴스에 액세스할 수 있습니다. Azure AD 사용자 및 애플리케이션은 Azure AD SSO(Single Sign On) 자격 증명으로 로그인하여 데이터베이스에 전송할 Azure AD OAuth2
액세스 토큰을 가져올 수 있습니다.
Azure AD 관리자는 Oracle Autonomous Database on Dedicated Exadata Infrastructure를 생성하고 Azure AD에 등록합니다. Azure AD 내에서 이것은 응용 프로그램 등록에 대한 짧은 앱 등록이라고합니다. 이는 Azure AD가 Azure AD를 사용하는 소프트웨어에 대해 알아야 하는 디지털 정보입니다. 또한 Azure AD 관리자는 Azure AD에서 데이터베이스 앱 등록을 위한 애플리케이션(앱) 역할을 생성합니다. 앱 역할은 Azure 사용자, 그룹 및 애플리케이션을 데이터베이스 스키마 및 역할에 연결합니다. Azure AD 관리자는 Azure AD 사용자, 그룹 또는 응용 프로그램을 앱 역할에 할당합니다.The Azure AD administrator assigns Azure AD users, groups, or applications to the app roles. 이러한 앱 롤은 데이터베이스 전역 스키마, 전역 롤 또는 스키마와 롤 모두에 매핑됩니다. 앱 롤에 지정된 Azure AD 사용자, 그룹 또는 애플리케이션은 데이터베이스 전역 스키마, 전역 롤 또는 스키마와 롤 모두에 매핑됩니다.An Azure AD user, group, or application that is assigned to an app role will be mapped to a database global schema, global role, or to both a schema and a role. Oracle 전역 스키마는 Azure AD 사용자에게만 매핑될 수도 있습니다. Azure AD 게스트 사용자(비조직 사용자) 또는 Azure AD 서비스 주체(애플리케이션)는 Azure AD 앱 롤을 통해서만 데이터베이스 전역 스키마에 매핑할 수 있습니다. Oracle 전역 롤은 Azure 앱 롤에서만 매핑할 수 있으며 Azure 사용자로부터 매핑할 수 없습니다.
Oracle APEX, Database Actions, Oracle Graph Studio, Oracle Database API for MongoDB 등의 Oracle Autonomous Database on Dedicated Exadata Infrastructure 도구는 Azure AD 토큰을 사용해 데이터베이스와 연결할 때와 호환되지 않습니다.
Azure AD 토큰을 지원하도록 업데이트된 툴 및 애플리케이션은 Azure AD로 사용자를 직접 인증하고 Oracle Autonomous Database on Dedicated Exadata Infrastructure 인스턴스에 데이터베이스 액세스 토큰을 전달할 수 있습니다. 파일 위치에서 Azure AD 토큰을 사용하도록 SQL*Plus와 같은 기존 데이터베이스 툴을 구성할 수 있습니다. 이 경우 Microsoft PowerShell 또는 Azure CLI와 같은 도구를 사용하여 Azure AD 토큰을 검색하고 파일 위치에 넣을 수 있습니다. Azure AD OAuth2
데이터베이스 액세스 토큰은 만료 시간과 함께 발행됩니다. Oracle Database 클라이언트 드라이버는 토큰이 유효한 형식이며 데이터베이스에 전달하기 전에 만료되지 않았는지 확인합니다. 데이터베이스에 대해 토큰의 범위가 지정됩니다. 즉, 토큰이 사용될 데이터베이스에 대한 정보가 토큰에 있음을 의미합니다. Azure AD 주체가 데이터베이스 Azure AD 앱 등록에 할당된 앱 역할은 액세스 토큰의 일부로 포함됩니다.The app roles the Azure AD principal was assigned to in the database Azure AD app registration are included as part of the access token. Azure AD 토큰의 디렉토리 위치에는 사용자가 토큰 파일을 위치에 쓰고 데이터베이스 클라이언트가 이러한 파일을 검색할 수 있는 충분한 권한만 있어야 합니다(예: 사용자가 읽고 쓰는 것). 토큰은 데이터베이스에 대한 액세스를 허용하므로 파일 시스템 내에서 보호되어야 합니다.
Azure AD 사용자는 여러 가지 방법을 사용하여 Azure AD에서 토큰을 요청하여 Azure 로그인 창을 열고 Azure AD 자격 증명을 입력할 수 있습니다.Azure AD users can request a token from Azure AD using a number of methods to open an Azure login window to enter their Azure AD credentials.
Oracle Autonomous Database on Dedicated Exadata Infrastructure는 다음과 같은 Azure AD 주체를 나타내는 토큰을 허용합니다.
- Azure AD 테넌시에 사용자를 등록한 Azure AD 사용자
- Azure AD 테넌시에서 게스트 사용자로 등록된 Guest 사용자
- Service - 클라이언트 인증서 플로우를 사용하여 데이터베이스에 자체적으로 접속하는 등록된 애플리케이션입니다(접속 풀 사용 사례).
Oracle Autonomous Database on Dedicated Exadata Infrastructure는 다음과 같은 Azure AD 인증 플로우를 지원합니다.
- 브라우저를 사용하여 클라이언트 환경에서 사용자(애플리케이션 아님)가 Azure AD에 대해 인증하는 데 가장 일반적으로 사용되는 권한 부여 코드
- 클라이언트 인증서 - 일반 유저가 아닌 자신으로 연결하는 데이터베이스 응용 프로그램용
- On-Behalf-Of(OBO) - 응용 프로그램이 로그인한 사용자를 대신하여 데이터베이스에 보낼 액세스 토큰을 요청하는 경우
- 리소스 소유자 암호 자격 증명(ROPC)은 운용 환경에서 권장되지 않지만 팝업 브라우저 사용자 인증이 통합하기 어려운 테스트 환경에서 사용할 수 있습니다. ROPC는 토큰 요청 호출의 일부가 되려면 Azure AD 사용자 이름 및 비밀번호 인증서가 필요합니다.
Autonomous Database와 Microsoft Azure AD 통합의 아키텍처
Microsoft Azure Active Directory 토큰은 확장과 함께 OAuth2 표준을 따릅니다. Azure AD 토큰을 사용하여 Oracle 데이터베이스에 액세스하는 것은 OCI IAM 토큰을 사용하는 것과 유사합니다. 자세한 설명은 보안 가이드의 Oracle Database와 Microsoft Azure AD 통합 아키텍처를 참조하십시오.
Azure AD 사용자가 Autonomous Database에 매핑
Microsoft Azure 사용자는 Autonomous Database 인스턴스에 인증하기 전에 Autonomous Database 스키마에 매핑되고 롤을 통해 필요한 권한을 가져야 합니다. Microsoft Azure에서 사용자, 그룹 및 애플리케이션을 매핑하는 다양한 방법에 대한 자세한 내용은 Azure AD Users Mapping to the Oracle Database in Security Guide을 참조하십시오.
Azure AD를 사용하여 Autonomous Database에 연결하는 사용 사례
Oracle Database는 Microsoft Azure Active Directory를 사용하여 Autonomous Database 인스턴스에 접속하기 위한 세 가지 유형의 사용 사례를 지원합니다. 자세한 내용은 Azure AD를 사용하여 Oracle Database에 접속하기 위한 사용 사례를 참조하십시오.
Oracle Autonomous Database on Dedicated Exadata Infrastructure로 Microsoft Azure AD ID를 인증하는 일반 프로세스
Oracle Database 관리자와 Microsoft Azure AD 관리자는 역할을 수행하여 Azure AD 사용자가 Azure AD OAuth2 액세스 토큰을 사용하여 데이터베이스에 연결할 수 있도록 합니다.
일반 프로세스는 다음과 같습니다.
- Oracle Database 관리자는 Oracle Database 환경이 Microsoft Azure AD 통합 요구 사항을 충족하는지 확인합니다. Oracle Database Requirements for the Microsoft Azure AD Integration을 참조하십시오.
- Azure AD 관리자는 데이터베이스에 대한 Azure AD 앱 등록을 생성하고, Oracle Database 관리자는 데이터베이스가 데이터베이스 액세스를 위해 Azure AD 토큰을 사용할 수 있도록 합니다.
앱 등록 프로세스의 일부로 Azure AD 관리자는 Azure 사용자, 그룹 및 애플리케이션 간의 매핑과 Oracle Database 스키마 및 역할 간의 매핑에 사용할 Azure 앱 롤을 생성합니다.
- Oracle Database 관리자는 전역 스키마를 생성하여 Azure AD 사용자(배타적 스키마 매핑) 또는 Azure 앱 롤(공유 스키마 매핑)에 매핑합니다. Azure AD 사용자 또는 응용 프로그램은 하나의 스키마에 매핑되어야 합니다.
- 선택적으로 Oracle 관리자는 전역 Oracle Database 역할을 만들어 Azure 앱 롤에 매핑합니다.
- Oracle Autonomous Database on Dedicated Exadata Infrastructure 인스턴스에 접속하려는 Azure AD 최종 사용자는 클라이언트 애플리케이션을 Azure AD 클라이언트로 등록합니다(Oracle 데이터베이스 등록 방법과 유사).
응용 프로그램 클라이언트가 공용이 아닌 경우 Azure AD 클라이언트는 클라이언트 식별과 클라이언트 암호를 가집니다.The Azure AD client will have a client identification and a client secret, unless the application client is public. 응용 프로그램 클라이언트가 공용인 경우 응용 프로그램 클라이언트 식별만 필요합니다.
- Azure AD 최종 사용자(데이터베이스 관리자가 될 수 있는 사용자)는 PowerShell 또는 Azure 명령줄 인터페이스와 같은 유틸리티를 사용하여 연결하여
OAuth2
데이터베이스 액세스 토큰을 검색하고 로컬 파일 디렉토리에 저장합니다. 또한 애플리케이션은 Azure AD에서 직접 Azure ADOAuth2
액세스 토큰을 요청하여 데이터베이스 클라이언트 API를 통해 전달할 수 있습니다. Azure ADOAuth2
토큰 전달에 대한 자세한 내용은 다음 Oracle Database 클라이언트 설명서를 참조하십시오.- JDBC-thin 클라이언트: Oracle Database JDBC Developer's Guide
- OCI(Oracle Call Interface): Oracle Call Interface Programmer's Guide
- ODP(Oracle Data Provider for .NET): Oracle Data Provider for .NET Developer's Guide for Microsoft WindowsOracle Database에 연결
- Oracle Autonomous Database on Dedicated Exadata Infrastructure 인스턴스에 연결되면 Azure AD 최종 사용자는 필요에 따라 데이터베이스 작업을 수행합니다.
Autonomous Database에서 Azure AD 인증 사용
Azure AD 관리자 및 Autonomous Database 관리자는 Autonomous Database에서 Azure AD 인증을 구성하는 단계를 수행합니다.
필요 조건
-
Autonomous Database는 버전 19.18 이상입니다.
-
TLS 포트 2484에서 데이터베이스에 대한 연결. 비TLS 연결은 지원되지 않습니다.
-
데이터베이스가 Azure AD 공개 키를 요청할 수 있도록 Azure AD에 대한 아웃바운드 네트워크 연결.Outbound network connectivity to Azure AD so that the database can request the Azure AD public key.
-
Azure AD에 등록할 Autonomous Database입니다.
-
Exadata Cloud@Customer 배포의 경우 사용자 환경의 HTTP 프록시 설정에서 데이터베이스가 Azure AD를 사용하도록 허용해야 합니다.
해당 설정은 콘솔을 사용하여 Cloud@Customer에서 Exadata Database Service 프로비전에 설명된 대로 Exadata Cloud@Customer 인프라를 생성하는 동안 플리트 관리자가 정의합니다.주:
HTTP 프록시를 포함한 네트워크 구성은 Exadata 인프라가 활성화 필요 상태가 될 때까지만 편집할 수 있습니다. 활성화된 후에는 해당 설정을 편집할 수 없습니다.이미 프로비전된 Exadata 인프라에 대해 HTTP 프록시를 설정하려면 My Oracle Support에서 SR(서비스 요청)이 필요합니다. 자세한 내용은 My Oracle Support에서 서비스 요청 생성을 참조하십시오.
절차
Microsoft Azure AD 통합을 위해 Autonomous Database를 구성하려면 다음 작업을 구현하십시오.
-
Microsoft Azure AD 테넌시에 Autonomous Database 인스턴스 등록: Azure AD 관리자 권한이 있는 사용자는 Microsoft Azure AD를 사용하여 Oracle Database 인스턴스를 Microsoft Azure AD 테넌시에 등록합니다. 보안 가이드의 Microsoft Azure AD 테넌시로 Oracle Autonomous Database 인스턴스 등록을 참조하십시오.
-
Microsoft Azure AD v2 액세스 토큰 사용: 조직에서 v1 토큰 대신 Microsoft Azure AD v2 액세스 토큰을 사용하는 경우, 토큰에서
upn:
클레임을 지원하기 위해 Azure AD에서 추가 변경이 필요할 수 있습니다. 보안 가이드의 Microsoft Azure AD v2 액세스 토큰 사용 및 Azure AD 액세스 토큰 버전 확인을 참조하십시오. -
Microsoft Azure AD에서 앱 롤 관리: Azure AD에서는 Azure AD 사용자 및 그룹에 지정되고 Oracle Database 전역 스키마 및 롤에 매핑될 앱 롤을 생성하고 관리할 수 있습니다. 보안 가이드의 Microsoft Azure AD에서 앱 역할 관리를 참조하십시오.
-
NAT 게이트웨이를 사용하여 Microsoft Azure AD에 대한 아웃바운드 접속을 구성합니다.
Oracle Cloud Infrastructure 문서의 NAT 게이트웨이 생성 지침에 따라 Autonomous Database 리소스가 상주하는 VCN(가상 클라우드 네트워크)에서 NAT 게이트웨이를 생성합니다.
NAT 게이트웨이를 생성한 후 각 서브넷(VCN 내)에 경로 규칙 및 송신 보안 규칙을 추가합니다. 여기서 Autonomous Database 리소스는 게이트웨이를 사용하여 Azure AD 인스턴스에서 퍼블릭 키를 얻을 수 있습니다.
-
서브넷의 서브넷 세부 정보 페이지로 이동합니다.
-
서브넷 정보 탭에서 서브넷의 경로 테이블 이름을 눌러 경로 테이블 세부정보 페이지를 표시합니다.
-
기존 경로 규칙의 테이블에서 다음 특성을 가진 규칙이 이미 있는지 확인합니다.
- 대상: 0.0.0.0/0
- 대상 유형: NAT 게이트웨이
- 대상: VCN에서 방금 생성한 NAT 게이트웨이의 이름입니다.
해당 규칙이 없는 경우 경로 규칙 추가를 누르고 해당 특성을 가진 경로 규칙을 추가합니다.
-
서브넷에 대한 서브넷 세부정보 페이지로 돌아갑니다.
-
서브넷의 보안 목록 테이블에서 서브넷의 보안 목록 이름을 눌러 해당 보안 목록 세부정보 페이지를 표시합니다.
-
사이드 메뉴의 리소스에서 송신 규칙을 누릅니다.
-
기존 송신 규칙의 테이블에서 다음 특성을 가진 규칙이 이미 있는지 확인합니다.
- 대상 유형: CIDR
- 대상: 0.0.0.0/0
- IP 프로토콜: TCP
- 소스 포트 범위: 443
- 대상 포트 범위: 모두
해당 규칙이 없으면 Add Egress Rules를 누르고 이러한 특성을 가진 송신 규칙을 추가합니다.
-
-
Entra ID 끝점의 접근성 테스트
보안 설명서의 Azure 끝점의 접근성 테스트에 설명된 단계에 따라 Oracle Database 인스턴스가 Entra ID 끝점에 액세스할 수 있는지 확인합니다.
데이터베이스가 Microsoft Entra ID 엔드포인트에 연결할 수 없는 경우, ACL 정책을 설정한 후에도 위에 나열된 필수 조건을 확인하여 필요 조건에 따라 네트워크를 올바르게 구성했는지 확인하십시오. 문제가 지속되면 네트워킹을 검토하여 데이터베이스 인스턴스가 MS Entra ID 엔드포인트에 연결할 수 있는지 확인하십시오.
-
Azure AD를 Autonomous Database의 외부 ID 제공자로 구성:
기본적으로 Autonomous Database 및 Autonomous Container Database는 사용자를 Oracle Cloud Infrastructure(IAM) 인증 및 권한 부여와 연결하도록 구성됩니다. 응용 프로그램 DBA는 이를 CMU-AD(Centrally Managed Users with Active Directory) 또는 Kerberos와 같은 다른 외부 인증 체계로 변경할 수도 있습니다. 그러나 Autonomous Database는 한 번에 하나의 외부 인증 체계만 사용으로 설정할 수 있습니다.
Autonomous Database 인스턴스에서 Azure AD를 외부 ID 제공자로 사용으로 설정하려면 다음을 수행합니다.
DBMS_CLOUD_ADMIN
PL/SQL 패키지에 대한EXECUTE
권한을 가진 사용자로 Autonomous Database 인스턴스에 로그인합니다. ADMIN 사용자는 이 권한이 있습니다.- 지정된 시간에 Autonomous Database에 대해 하나의 외부 인증 체계만 사용으로 설정할 수 있으므로
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION
프로시저를 실행하여 데이터베이스에 대해 이미 사용으로 설정된 외부 인증 체계를 사용 안함으로 설정합니다.프로시저를 실행하려면 ADMIN 사용자로 로그인하거나DBMS_CLOUD_ADMIN
에 대한EXECUTE
권한이 있어야 합니다.BEGIN DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION; END; /
- Azure AD 필수 매개변수를 사용하여
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION
프로시저를 실행합니다.BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION( type =>'AZURE_AD', params => JSON_OBJECT('tenant_id' VALUE 'tenant_id', 'application_id' VALUE 'application_id', 'application_id_uri' VALUE 'application_id_uri'), force => TRUE ); END;
이 절차에서는 Azure AD 매개 변수가 다음과 같습니다.
type
: 외부 인증 제공자를 지정합니다. 그림과 같이 Azure AD의 경우'AZURE_AD'
를 사용합니다.params
: 필요한 Azure AD 매개변수의 값은 Azure Active Directory용 앱 등록 개요 창의 Azure 포털에서 사용할 수 있습니다. Azure AD에 필요한params
는 다음과 같습니다.tenant_id
: Azure 계정의 테넌트 ID입니다. 테넌트 ID는 Autonomous Database 인스턴스의 Azure AD 애플리케이션 등록을 지정합니다.application_id
: Autonomous Database 인스턴스에서 외부 인증에 대한 롤/스키마 매핑을 지정하기 위해 Azure AD에서 생성된 Azure 애플리케이션 ID입니다.application_id_uri
: Azure 애플리케이션에 지정된 고유 URI입니다.이 식별자는 Autonomous Database 인스턴스에 대한 식별자입니다. 이름은 도메인이 적격해야 합니다. 이 이름은 교차 테넌시 리소스 액세스를 지원합니다.
이 매개변수의 최대 길이는 256자입니다.
force
: Autonomous Database 인스턴스에 대해 다른EXTERNAL AUTHENTICATION
메소드가 구성되어 있고 사용 안함으로 설정하려면 이 매개변수를TRUE
로 설정합니다.
예:BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION( type =>'AZURE_AD', params => JSON_OBJECT('tenant_id' VALUE '29981886-6fb3-44e3-82', 'application_id' VALUE '11aa1a11-aaa', 'application_id_uri' VALUE 'https://example.com/111aa1aa'), force => TRUE ); END;
그러면
IDENTITY_PROVIDER_TYPE
시스템 매개변수가 설정됩니다.예를 들어, 다음을 사용하여IDENTITY_PROVIDER_TYPE
를 확인할 수 있습니다.SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type'; NAME VALUE ---------------------- -------- identity_provider_type AZURE_AD
Oracle Database 스키마 및 롤 매핑
Azure AD 사용자는 하나의 데이터베이스 스키마에 매핑되고 선택적으로 하나 이상의 데이터베이스 역할에 매핑됩니다.Azure AD users will be mapped to one database schema and optionally to one or more database roles.
-
Oracle Database 스키마를 Microsoft Azure AD 사용자에 단독으로 매핑: 보안 설명서의 Oracle Database 스키마를 Microsoft Azure AD 사용자에 독점적으로 매핑을 참조하십시오.
-
공유 Oracle 스키마를 앱 롤에 매핑: 보안 설명서의 공유 Oracle 스키마를 앱 롤에 매핑을 참조하십시오.
-
Oracle Database 전역 롤을 앱 롤에 매핑: 보안 설명서의 Oracle Database 전역 롤을 앱 롤에 매핑을 참조하십시오.
Azure AD에 대한 클라이언트 접속 구성
Azure AD 토큰을 사용하여 Oracle Autonomous Database on Dedicated Exadata Infrastructure 인스턴스와 연결하도록 클라이언트를 구성할 수 있는 다양한 방법이 있습니다.
자신의 환경에 가장 적합한 클라이언트 연결 방식을 선택해야 합니다. 이 설명서에서는 SQL*Plus를 Azure AD OAuth2 액세스 토큰을 가져오는 여러 가지 방법으로 연결하는 예를 제공합니다. 모든 Oracle Database 릴리스 19c 클라이언트는 파일로 전달된 토큰을 수락할 수 있습니다. JDBC-thin, Instant Client 및 ODP.net 드라이버도 응용 프로그램에서 데이터베이스 클라이언트 API를 통해 토큰을 받아들입니다. SQL*Plus와 같은 Oracle Database 도구는 토큰을 직접 검색할 수 없으므로 Azure AD OAuth2
액세스 토큰을 검색하려면 PowerShell 또는 Azure CLI와 같은 도구를 사용해야 합니다. Azure AD 토큰을 검색하려면 Azure AD 앱 등록 프로세스를 통해 클라이언트를 등록해야 합니다.To retrieve an Azure AD token, the client must be registered through the Azure AD app registration process. 클라이언트 등록은 앱 등록을 사용하여 Oracle Autonomous Database on Dedicated Exadata Infrastructure 서버를 Azure AD에 등록하는 것과 비슷합니다. 데이터베이스와 클라이언트는 모두 Azure AD에 등록해야 합니다.
클라이언트가 데이터베이스에 대한 액세스 토큰을 얻을 수 있는 권한을 얻으려면 데이터베이스를 등록해야 합니다. Azure AD가 신뢰할 수 있는 클라이언트가 액세스 토큰을 요청하는 것을 인식할 수 있도록 클라이언트를 등록해야 합니다.
주:
클라이언트에서는sqlnet.ora
파일에서 TOKEN_AUTH
및 TOKEN_LOCATION
매개변수를 설정하여 한 위치에서 Azure AD 데이터베이스 액세스 토큰을 검색하고 /
슬래시 로그인을 사용할 때 사용해야 합니다. 자세한 내용은 Azure AD 액세스 토큰에 대한 SQL*Plus 구성을 참조하십시오.
클라이언트를 Azure AD에 연결하는 방법에 대한 자세한 내용은 다음 Microsoft Azure 문서를 참조하십시오.See the following Microsoft Azure articles for connecting clients to Azure AD:
- Quickstart: 웹 API에 액세스하도록 클라이언트 응용 프로그램 구성
- 올바른 Azure 명령행 도구 선택
- Microsoft 인증 라이브러리를 사용하여 Azure AD 토큰 가져오기
- Linux에 Azure CLI 설치
PowerShell에서 Autonomous Database로의 SQL*Plus 클라이언트 접속에 대한 작업 플로우
Azure 사용자, Azure AD 및 Autonomous Database 인스턴스 간의 연결은 이러한 구성요소 전반에 걸쳐 OAuth2
토큰의 전달에 의존합니다.
공용 클라이언트에서 RPC(리소스 소유자 비밀번호 인증서) 플로우를 사용하는 예를 보려면 보안 설명서의 PowerShell에서 Oracle Database로의 SQL*Plus 클라이언트 연결에 대한 작업 플로우를 참조하십시오.
Azure AD 애플리케이션 등록에 클라이언트 등록
-
사용 사례에 따라 Azure에 기밀 또는 공용 데이터베이스 클라이언트를 등록합니다. 기밀 및 공용 클라이언트 등록
-
Azure AD에 데이터베이스 클라이언트 앱 등록: Azure AD에 데이터베이스 클라이언트 앱 등록
Azure AD OAuth2 토큰 검색 예
Azure AD OAuth2
토큰을 검색할 수 있는 다양한 방법을 보여주는 예는 보안 가이드의 Azure AD OAuth2 토큰 검색 예를 참조하십시오.
Azure AD 액세스 토큰에 대한 SQL*Plus 구성
위치에서 Azure AD 데이터베이스 액세스 토큰을 검색하고 / 슬래시 로그인을 사용할 때 사용하도록 SQL*Plus를 구성해야 합니다. 자세한 지침은 보안 설명서의 Azure AD 액세스 토큰에 대한 SQL*Plus 구성을 참조하십시오.
Microsoft Entra ID 연결 문제 해결
추적 파일을 사용하여 Microsoft Entra ID 연결 문제를 진단할 수 있습니다. 또한 ORA-12599
및 ORA-03114
오류를 쉽게 해결할 수 있습니다.
-
추적 파일을 사용하여 Microsoft Azure AD와의 Oracle Database 통합 문제를 해결할 수 있습니다. 자세한 내용은 Database Security Guide의 Trace Files for Troubleshooting Oracle Database Client Connections with Azure AD를 참조하십시오.
-
ORA-12599: TNS: cryptographic checksum mismatch
및ORA-03114: not connected to ORACLE
오류는 접속하려는 데이터베이스가 고유 네트워크 암호화로 보호됨을 나타냅니다.토큰을 사용하여 Oracle 데이터베이스에 액세스하는 경우 네트워크 고유 암호화가 아닌 TLS(전송 계층 보안) 연결을 설정해야 합니다. 이러한 오류를 해결하려면 데이터베이스에 대해 TLS가 제대로 구성되었는지 확인하십시오. 로컬 데이터베이스 사용자 이름 및 암호로 구성을 테스트하고 다음
SYSCONTEXT USERENV
매개변수를 확인해야 합니다.NETWORK_PROTOCOL
TLS_VERSION
-
JSON 웹 토큰 웹 사이트를 사용하여 사이트에서 사용하는 Microsoft Azure AD 액세스 토큰의 버전을 확인할 수 있습니다. 자세한 내용은 Database Security Guide의 Checking the Azure AD Access Token Version을 참조하십시오.