통합을 위한 OAuth

Join the Beta!

Datadog 개발자 플랫폼은 현재 베타 버전입니다. 액세스 권한이 없는 경우 apps@datadoghq.com에 문의해 주세요.

개요

OAuth는 사용자가 타사 통합을 승인할 수 있도록 해줍니다. 사용자의 Datadog 데이터의 구체적인 범위에 따라 액세스 권한을 지정할 수 있습니다. 이 인증 방법은 통합이 Datadog에 데이터를 푸시하고 Datadog에서 데이터를 풀링하도록 해줍니다. 예를 들어 사용자가 Datadog 모니터 읽기 액세스 권한을 위해 통합을 승인하면 통합은 바로 모니터 데이터를 읽고 추출합니다.

Datadog OAuth 구현에 대한 자세한 정보는 Datadog OAuth2 설명서를 참조하세요.

통합에서 OAuth 사용

OAuth는 Datadog 고객이 단 몇 번의 클릭만으로 손쉽고 안전하게 타사 플랫폼을 승인할 수 있도록 해줍니다. API나 앱 키를 직접 입력해야 할 필요가 없습니다. OAuth를 기존 통합과 함께 사용하거나 OAuth를 새로운 통합 개발의 일부로 설정할 수 있습니다.

OAuth를 포함하는 통합을 빌드할 때 애플리케이션이 액세스해야 하는 정확한 범위를 선택할 수 있습니다. 요청한 단계별 범위에 따라 고객에게 액세스 권한이 부여됩니다. 부수적인 범위는 지원되지 않지만 통합에서 요청된 모든 범위는 고객이 승인하면 액세스 가능합니다.

OAuth를 포함하는 통합 빌드

본 섹션에서는 마켓플레이스 또는 통합 페이지에서 타일을 사용해 새로운 통합을 빌드하는 방법을 설명합니다. 기존 통합에 빌드하거나 새로운 통합을 빌드하여 각 페이지에 있는 기존 타일에 추가하려 한다면 기존 제품/서비스에 OAuth 추가를 참조하세요.

템플릿에서 앱 생성

  1. Datadog 개발자 플랫폼으로 이동하여 +신규 앱을 클릭합니다.

    각 통합 OAuth 클라이언트에 대해 앱을 생성해야 합니다. Datadog는 통합이 게시되면 이 앱을 통합과 연결합니다.

  2. 빈 앱을 선택한 다음, 앱 이름을 추가합니다.

  3. 생성을 클릭합니다.

  4. 기본 정보 탭에서 상세 정보 보기에 표시된 필드를 작성합니다.

  5. OAuth 클라이언트를 게시할 준비가 되면 안정 표시 버튼을 클릭합니다.

  6. Save를 클릭합니다.

OAuth 클라이언트 생성

클라이언트는 애플리케이션 구성 요소로, 사용자가 Datadog 고객 데이터에 대한 애플리케이션 액세스 권한을 승인할 수 있도록 해줍니다. 액세스 권한을 확보하기 위해 클라이언트는 적절한 액세스 토큰을 필요로 합니다.

  1. 기능 아래에서 OAuth 및 권한 탭으로 이동한 다음 OAuth 클라이언트 생성을 클릭합니다.

    통합을 위해 생성한 OAuth 클라이언트는 기밀 클라이언트로, 클라이언트 ID와 클라이언트 암호를 제공합니다. 이 단계에서 생성한 클라이언트는 클라이언트의 비공개 버전입니다. 해당 자격 증명은 테스팅을 통해 사용할 수 있습니다. 이 클라이언트의 게시된 버전이 생성되면 새로운 자격 증명을 받게 됩니다. 이러한 자격 증명은 클라이언트를 생성한 후 절대 다시 표시되지 않습니다. 안전한 위치에 보관해 두시기 바랍니다.

  2. 이름, 설명, 리디렉션 URI 및 온보딩 URL과 같은 클라이언트 정보를 입력합니다.

  3. 범위를 검색하고 요청됨 열에 확인란을 선택하여 OAuth 클라이언트에 대한 범위를 설정합니다.

    범위는 앱이 고객 Datadog 계정에서 액세스할 수 있는 데이터 유형을 결정합니다. 범위를 결정하면 통합이 필요한 범위에 액세스하게 됩니다. 필요한 경우 나중에 더 추가할 수 있으므로 사용 사례에 필요한 범위를 최소로만 요청해야 합니다.

    Datadog에 데이터를 제출하기 위해 api_keys_write 범위를 선택해야 합니다. 비공개 범위로 통합 파트너에게만 승인되므로 사용자 대신 API 키를 생성할 수 있습니다. 이를 사용해 Datadog에 데이터를 전송할 수 있습니다.

  4. 변경 사항 저장을 클릭합니다.

  5. OAuth 클라이언트를 생성하고 범위를 할당한 후, 통합에 OAuth PKCE 프로토콜을 구현하고, 승인 코드 허용 흐름을 완성하고, OAuth를 통해 사용 가능한 엔드포인트를 활용해 통합 코드 작성을 시작할 수 있습니다.

    승인 코드 허용 흐름에서 승인 코드를 수신하고 토큰을 새로 고친 다음, 코드를 액세스 토큰으로 교환합니다. 해당 토큰은 Datadog에서 가져오려는 데이터에 액세스하는 데 사용할 수 있습니다.

    Datadog를 사용해 OAuth 프로토콜을 구현하는 방법에 대한 자세한 정보는 Datadog OAuth2를 참조하세요. 통합을 빌드하고 게시하는 방법에 대한 자세한 정보는 통합 개발자 설명서를 참조하세요.

  6. 클라이언트 상세 정보 페이지에서 인증 테스트를 클릭하여 OAuth 프로토콜을 테스트합니다. 이를 통해 온보딩 URL에 액세스하고 고객을 위한 승인 흐름을 시작할 수 있습니다.

    클라이언트가 게시되기 전 Datadog 조직의 구성원만 테스팅 중 클라이언트 승인을 실시할 수 있습니다.

  7. OAuth가 제대로 작동하는지 검사하려면, 요청 헤더에 있는 토큰을 사용해 marketplace_create_api 엔드포인트로 요청합니다.

    성공적인 경우 이 요청은 API 키를 반환합니다. 이 키를 안전하게 저장해야 사용자를 대신해 Datadog에 데이터를 제출하는 데 사용할 수 있습니다. 초기 요청 응답 이후 이 API 키 값에 다시 액세스할 수 없습니다.

  8. 비-US1 Datadog 계정에서 승인을 시작하여 여러 Datadog 사이트에서 OAuth가 작동할 수 있는지 테스트합니다.

    • 다른 사이트에 대한 샌드박스 계정 액세스 권한이 없는 경우 marketplace@datadog.com으로 문의하세요.
    • 개발자 플랫폼에서 생성한 앱으로 이동하고, 오른쪽 상단의 톱니 아이콘을 클릭한 다음, 앱 매니페스트 내보내기를 클릭하여 원본 Datadog 사이트의 계정에서 앱 매니페스트를 내보내기합니다.
    • Datadog 사이트의 계정에서 개발자 플랫폼으로 이동한 다음, 2단계의 앱 매니페스트를 가져오기합니다.
    • 앱 매니페스트 가져오기에 성공한 후, OAuth 및 권한 탭으로 이동하여 OAuth 클라이언트, 클라이언트 ID, 암호를 찾습니다. 이 자격 증명을 사용해 이 사이트에서 승인을 테스트합니다.
  9. 액세스를 요청한 부수적인 범위를 테스트합니다.

OAuth 클라이언트 게시

OAuth 클라이언트를 게시하려면 먼저 integrations-extras 또는 마켓플레이스 GitHub 리포지토리 중 하나에서 통합에 대한 풀 요청을 열어야 합니다.

풀 요청의 일환으로 ## Setup 아래의 삭제 섹션에서 추가 정보 파일을 업데이트합니다. 해당 페이지에는 추가하려는 커스텀 지침과 함께 다음 지침이 포함되어 있습니다.

  • 이 통합이 삭제되면 이전 승인이 철회됩니다.
  • 추가적으로, API 키 페이지에서 통합 이름을 검색하여 이 통합과 연결된 모든 API 키가 비활성화됩니다.

개발자 플랫폼에서 게시 프로세스를 시작하는 방법:

  1. 일반 아래의 게시 탭으로 이동합니다. 게시 흐름 1단계에서 게시된 클라이언트 ID와 암호를 받게 됩니다. 2단계에서 통합에 대한 부수적인 정보를 입력하고 게시된 app_uuid를 참조하여 아래에서 사용할 수 있습니다.

    안전한 위치에 클라이언트 ID, 클라이언트 암호, app_uuid를 저장합니다.

  2. integrations-extras 또는 Marketplace에서 새 통합에 대한 풀 요청을 시작한 경우 manifest.json 파일의 app_uuid 필드에 게시하기 위해 app_uuid 값을 사용합니다. app_uuid 값이 맞지 않으면 애플리케이션이 올바르게 게시되지 않습니다. 기존 통합이 있는 경우 app_uuid를 업데이트할 필요가 없습니다.

게시된 OAuth 클라이언트를 직접 편집할 수 없습니다. 그러므로 모든 항목이 테스트가 완료되어 게시 가능할 때에만 게시 흐름을 시작합니다. OAuth 클라이언트를 업데이트하려면 게시 흐름을 다시 반복해야 합니다. 게시된 클라이언트 자격 증명은 다시 표시되지 않습니다.

통합 게시 프로세스에 대한 자세한 정보는 마켓플레이스 및 통합 설명서를 참조하세요.

기존 제품/서비스에 OAuth 추가

OAuth 클라이언트를 기존 통합에 추가하는 프로세스는 위에 간략히 설명된 프로세스와 비슷하지만 몇 가지 차이점이 있습니다.

UI 확장에 연결되지 않은 기존 통합이 있는 경우

단계를 따릅니다. 풀 요청을 시작해 새 삭제 지침을 통합 타일에 추가해야 합니다.

기존 통합이 있는 경우 manifest.json 파일에서 app_uuid를 변경할 필요가 없습니다.

현재 UI 확장에 연결된 기존 통합이 있는 경우(동일한 타일 공유)

앱을 생성하는 대신 개발자 플랫폼에서 게시된 UI 확장에 포함된 앱으로 이동하여 남은 단계를 따릅니다.

통합의 OAuth 클라이언트를 생성하여 게시할 준비가 되면 앱에서 편집을 클릭하고 일반 아래의 게시 탭으로 이동합니다. 풀 요청을 시작해 타일에 새 삭제 지침을 추가해야 합니다.

참고: 기존 통합이나 UI 확장이 있는 경우 manifest.json 파일에서 app_uuid를 변경할 필요가 없습니다.

UI 확장을 게시하여 통합을 동일한 타일에 추가하려는 경우

앱을 생성하는 대신 개발자 플랫폼에서 게시된 UI 확장을 포함하는 앱으로 이동하여 남은 단계를 따릅니다.

풀 요청을 시작해 통합에 대한 추가 정보를 기존 타일에 업데이트합니다. 추가 정보, 이미지 폴더 등에 대한 업데이트를 포함합니다. 게시 프로세스 중 이 풀 요청에 링크를 추가합니다.

참고 자료

기타 유용한 문서, 링크 및 기사: