Skip to main content
백엔드 통합에 수명이 짧은 액세스 토큰이 필요하거나 보안 정책에서 이를 요구하는 경우 OAuth 클라이언트 자격 증명을 사용하십시오. 각 클라이언트는 하나의 서비스 계정과 하나의 조직에 속합니다. OAuth는 선택 사항입니다. 키를 안전하게 저장하고 교체할 수 있는 프라이빗 서버 통합에는 범위가 지정된 API 키만으로도 충분합니다. 두 방식 중 하나를 선택하는 방법과 서비스 계정의 역할은 인증을 참조하십시오.
조직에서 OAuth 액세스가 활성화되어 있어야 합니다. 설정 과정에서 리전별 토큰 엔드포인트, 발급자(issuer), 대상(audience) 및 클라이언트 인증 방식이 제공됩니다. 이러한 설정이 필요하거나 클라이언트 관리에 접근할 수 없는 경우 Living Security 지원팀에 문의하십시오.
클라이언트 자격 증명 그랜트는 서비스 계정을 대표합니다. 사용자를 로그인시키거나 고객에게 애플리케이션 승인을 요청하지 않습니다. 브라우저를 통한 위임 권한 부여는 별도의 OAuth 기능이며 이러한 작업에서는 제공되지 않습니다.

시작하기 전에

  • 통합에 필요한 권한만 가진 서비스 계정을 생성하십시오.
  • 새 클라이언트에 부여하려는 각 권한과 service_account:manage이(가) 있는 관리 자격 증명을 사용하십시오. 대상 계정도 해당 권한을 보유하고 있어야 합니다. 클라이언트는 어느 계정의 권한도 확대할 수 없습니다.
  • 조직의 리전을 선택하십시오. API 자격 증명과 OAuth 액세스 토큰은 해당 리전의 API 호스트에서 사용해야 합니다.
  • 클라이언트 시크릿과 토큰은 서버 측 시크릿 저장소에 보관하십시오. 브라우저 코드, 모바일 애플리케이션, 소스 제어, 요청 로그에는 절대 포함하지 마십시오.

클라이언트 생성

POST /v1/oauth_clients에는 service_account_id, 명시적인 scopes의 비어 있지 않은 목록, 그리고 Idempotency-Key이(가) 필요합니다. 와일드카드는 허용되지 않습니다. 클라이언트는 최대 100개의 범위를 지원하며 총 길이는 4,096자를 초과할 수 없습니다. 각 서비스 계정은 최대 20개의 클라이언트 또는 미해결 생성/정리 작업을 가질 수 있습니다. 해지하면 API 액세스가 즉시 거부됩니다. 클라이언트 또는 불확실한 공급자 측 생성은 원격 정리가 확인될 때까지 계속 한도에 포함됩니다. 중단된 예약이나 공급자 작업이 시작되기 전에 실패한 것으로 입증된 생성 요청은 해당 슬롯을 안전하게 해제할 수 있습니다. 해당 재시도 키는 여전히 원래 시도에 속하므로, 대체 클라이언트를 생성할지 결정하기 전에 해당 영수증을 먼저 복구하십시오. 이번 생성 시도에 사용할 재시도 키를 하나 선택하고, 요청을 보내기 전에 저장하십시오. 공백 없이 1–255자의 표시 가능한 ASCII 문자를 사용하십시오. 응답이 유실된 후에는 동일한 계정, 범위, 관리 주체, 리전 및 API 버전으로 이 키를 다시 사용하십시오. 동일한 서비스 계정에서 관리 자격 증명을 교체해도 새로운 재시도 ID가 생성되지는 않습니다. Python용 requests 패키지를 설치하십시오. 일반적인 시크릿 및 구성 관리 방식을 통해 다음 환경 값을 로드하십시오.
Python
이 예제는 요청을 한 번 보내고 결과를 메모리에 보관합니다. 프로덕션에서 실행하기 전에 표시된 위치에 사용 중인 시크릿 관리자의 쓰기 작업을 추가하십시오. 이 예제는 불확실한 결과가 발생하면 다른 클라이언트를 임의로 생성하지 않고 의도적으로 사용자의 결정을 요구합니다. 네트워크 예외 발생 시에도 아래의 복구 절차가 필요합니다. 생성 및 영수증 응답은 201을(를) 사용하며 id, service_account_id, client_id, scopes, status, created_at, client_secret이(가) 포함된 oauth_client 리소스를 담고 있습니다. 응답에는 Cache-Control: no-store 표시가 있습니다.
  • **id**은(는) 플랫폼 리소스를 식별합니다. 조회 및 해지를 위해 저장하십시오.
  • **client_id**은(는) 토큰 교환 시 클라이언트를 식별합니다. 플랫폼 리소스 ID가 아닙니다. 생성이 보류 중일 때는 null일 수 있습니다.
  • **client_secret**은(는) 생성을 완료하는 요청에만 반환됩니다. 성공 응답이 유실된 후의 재시도를 포함하여 반복되는 모든 생성 요청은 null을(를) 반환합니다. 조회 시에는 시크릿이 반환되지 않습니다.

유실되거나 중단된 응답 복구

저장해 둔 재시도 키로 동일한 생성 요청을 반복하면 리소스 영수증을 복구할 수 있습니다. 영수증은 현재 상태를 반영하므로 해지된 클라이언트는 계속 해지된 상태로 표시됩니다. 이 작업은 일반적인 24시간 캐시 응답 재생 규약을 사용하지 않으며 Idempotent-Replayed 헤더를 반환하지 않습니다. 요청 ID와 복구 세부 정보는 오류를 참조하십시오. 지원 요청 시 클라이언트 시크릿이나 액세스 토큰을 절대 전송하지 마십시오.

조회 및 해지

관리 자격 증명과 플랫폼 리소스 id을(를) 사용하십시오. 해지하면 이미 발급된 토큰을 사용하는 요청을 포함하여 해당 클라이언트의 이후 API 요청이 차단됩니다. 이미 API에서 수락한 작업은 취소되지 않습니다. 원격 자격 증명 정리는 나중에 완료될 수 있습니다. 해지를 반복해도 안전하며 재시도 키가 필요하지 않습니다. 해지하려는 클라이언트 자체가 API 호출자인 경우에는 관리 자격 증명을 계속 사용하십시오.

액세스 중단 없이 교체

필요한 범위 상한을 가진 두 번째 클라이언트를 생성하십시오. 해당 시크릿을 저장하고 리전별 토큰 엔드포인트를 사용하여 토큰을 발급받은 다음, 통합이 정상적으로 동작하는지 확인하십시오. 통합을 대체 클라이언트로 전환한 후 이전 리소스를 해지하십시오. 잘못된 배포에서 복구할 수 있도록 독립적인 관리 자격 증명을 보관하십시오. 액세스 토큰은 클라이언트의 범위와 서비스 계정의 현재 권한을 초과하는 권한을 부여할 수 없습니다. 계정 권한을 제거하거나 클라이언트를 해지하면 토큰의 남은 유효 기간보다 우선하여 적용됩니다. 캐시된 토큰을 권한 부여가 여전히 유효하다는 증거로 간주하지 마십시오. 만료되기 전에 클라이언트를 다시 인증하여 새 액세스 토큰을 발급받으십시오. 이 그랜트는 리프레시 토큰을 사용하지 않습니다.