OAuth 2.0

  • 릴리스 버전: Washingtondc
  • 업데이트 날짜 2024년 02월 01일
  • 읽기3분
  • OAuth 2.0을 사용하면 사용자가 각 자원 요청과 함께 로그인 자격 증명을 입력하는 대신 토큰을 가져와 외부 클라이언트를 통해 인스턴스 자원에 액세스할 수 있습니다.

    OAuth 통합을 관리하려면 security_admin 역할이 있어야 합니다. 다음 시나리오에 대해 OAuth 2.0을 구성합니다.

    • OAuth 외부 클라이언트 시나리오 (인바운드): 인스턴스는 외부 공급업체 클라이언트가 인스턴스에서 데이터를 끌어올 수 있는 엔드포인트를 제공합니다.
    • OAuth 제공자 시나리오 (아웃바운드): 인스턴스가 외부 공급업체 제공자로부터 데이터를 끌어옵니다.
    주:
    토큰 게시를 가져오려면 처음으로 사용자 인증을 해야 하며, 토큰이 만료되기 전에 사용자 계정을 사용하여 인증할 필요가 없습니다.

    단순 보안 프레임워크와 높은 보안 프레임워크 모두 OAuth 2.0을 지원합니다. 높은 보안을 유지하는 것이 좋습니다. 높은 보안이 이미 활성화된 버전과 높은 보안을 활성화하는 방법에 대한 자세한 내용은 을 참조하십시오.

    OAuth 2.0 구현의 주요 개념

    개념 설명
    자원 소유자 보호된 리소스에 대한 액세스 권한을 부여할 수 있는 엔터티입니다. 개인인 자원 소유자를 최종 사용자라고 합니다. 리소스 소유자는 항상 사용자 계정입니다.
    클라이언트 자원 소유자의 권한 부여를 받아 자원 소유자를 대신하여 보호된 자원을 요청하는 애플리케이션입니다.
    자원 서버 보호된 리소스를 호스팅하는 서버로, 보호된 리소스에 대한 요청을 수락하고 응답할 수 있습니다.
    권한 부여 서버 리소스 소유자를 성공적으로 인증하고 권한을 얻은 후 클라이언트에 액세스 토큰을 발급하는 서버입니다.
    인증 요청 클라이언트가 보호된 리소스에 액세스하는 데 필요한 권한입니다. 권한 부여 요청은 항상 리소스 소유자를 대신하여 작동하는 클라이언트의 ID와 요청을 승인하는 자격 증명이 포함된 HTTP POST 메시지입니다.
    권한 부여 자원 소유자로부터 자원에 액세스할 수 있는 권한 부여를 나타내는 자격 증명입니다. 권한 부여는 사용자 로그인 자격 증명 또는 새로 고침 토큰입니다.
    접근 토큰 클라이언트가 보호된 리소스에 액세스하는 데 사용하는 보안 문자열입니다. 인스턴스는 유효한 권한 부여가 있는 클라이언트에 액세스 토큰을 발급합니다. 각 액세스 토큰에는 특정 범위, 수명 및 기타 특성이 있습니다.

    기본적으로 인스턴스는 인스턴스가 OAuth 제공자인 시나리오에서 수명이 30분인 액세스 토큰을 발급합니다. 타사 토큰의 경우 30일입니다.

    새로 고침 토큰 클라이언트가 추가 사용자 권한 없이 새 액세스 토큰을 가져오는 데 사용하는 자격 증명입니다. 인스턴스는 클라이언트에 접근 토큰을 가질 수 있는 첫 번째 권한을 부여할 때 새로 고침 토큰을 발급합니다.

    기본적으로 인스턴스는 인스턴스가 OAuth 제공자인 시나리오에서 수명이 100일인 새로 고침 토큰을 발급합니다. 타사 토큰의 경우 365일입니다.

    자체 서명된 인증서 Now Platform 자체 서명된 인증서를 지원하지 않습니다. OAuth 클라이언트는 인증서 신뢰 저장소를 활용하지 않거나 자체 서명된 인증서를 통합하는 OAuth 엔드포인트에 대한 연결을 허용하지 않습니다.
    사용자 에이전트 클라이언트 응용 프로그램(주로 웹 사이트)에 대한 액세스 권한을 위임하는 사용자입니다. 액세스 권한을 사용하면 클라이언트 응용 프로그램이나 웹 사이트에서 사용자에게 액세스 권한이 있는 인스턴스의 데이터에 액세스할 수 있습니다. 사용자 에이전트는 시나리오에서 사용됩니다.

    OAuth 권한 유형

    권한 부여 유형은 클라이언트가 액세스 토큰을 획득하는 방식입니다. 지원되는 권한 부여 유형은 다음과 같습니다.
    • 인증 코드: 소비자는 먼저 인증 코드를 받은 다음 이를 사용하여 액세스 토큰을 가져옵니다. OAuth 프로필을 지정하고 이 권한 부여 유형을 지정할 수 있습니다. 인증 코드를 사용하는 프로세스를 인증 코드 플로우 또는 인증 코드 플로우라고도 합니다.
    • 리소스 소유자 암호 자격 증명: 리소스 소비자에게 액세스 토큰을 가져올 수 있는 사용자 자격 증명이 이미 있습니다. 이 프로세스를 암호 흐름이라고도 합니다.
    • 클라이언트 신임 정보: 자원의 이용자는 애플리케이션 레지스트리에 이미 구성된 클라이언트 ID 및 클라이언트 시크릿을 사용합니다.

    인증 자격 증명 저장소

    OAuth 클라이언트 시크릿은 KMF로 암호화된 유형 필드로 password2 저장됩니다. 수신 엔드포인트 요청을 확인하는 데 사용되는 사용자 암호는 유형 필드(SHA 256)의 password 사용자 테이블에 해시 값으로 저장됩니다. 이 암호화에 대한 자세한 내용은 KMF를 사용한 Password2 암호화를 참조하십시오