API와 애플리케이션 키

API 키

API 키는 조직에 고유하게 할당됩니다. Datadog Agent에서 메트릭과 이벤트를 Datadog로 전송하려면 API 키가 필요합니다.

애플리케이션 키

조직의 API 키와 조합하여 애플리케이션 키를 사용하면 Datadog 프로그램 API에 액세스할 수 있습니다. 애플리케이션 키는 키를 생성한 사용자 계정과 연계되며, 기본적으로 생성한 사용자의 접근 허용 권한과 권한 범위를 갖추고 있습니다.

권한 범위

애플리케이션을 보다 효과적으로 보호하기 위해 애플리케이션 키의 권한 범위를 지정하여 한층 더 세분화된 권한을 정의하고 애플리케이션이 보유한 Datadog 데이터 액세스 권한을 최소화할 수 있습니다. 이를 통해 애플리케이션에 대해 보다 세부적으로 액세스 권한을 관리하고 과잉 액세스를 제한하여 보안 취약점을 최소화할 수 있습니다. 예를 들어 대시보드만 읽을 수 있는 애플리케이션의 경우 조직 데이터를 삭제하거나 사용자를 관리할 수 있는 권라자 권한이 필요하지 않습니다.

모범 사례로 권장하는 애플리케이션 키 범위 설정은 키에 최소한의 권한을 부여하고, 애플리케이션이 의도에 맞추어 기능하는 데 필요한 권한만을 허용하는 것입니다. 범위가 제한된 애플리케이션 키는 사용자가 지정한 범위만을 활용하며 그 이외의 추가 권한이 없습니다. 애플리케이션 키의 인증 범위는 언제든지 변경 가능합니다. 단, 범위 변경 시 애플리케이션의 기존 기능이나 액세스에 어떤 영향을 미칠지 고려해야 합니다.

참조:

  • 애플리케이션 키 생성/수정 권한이 허용된 사용자나 서비스 계정은 애플리케이션 키의 권한 범위를 지정할 수 있습니다. 사용자가 보유한 애플리케이션 키의 범위를 지정하려면 user_app_keys 권한이 필요합니다. 소속 조직의 다른 사용자가 보유한 애플리케이션 키의 범위를 지정하려면 org_app_keys_write 권한이 필수입니다. 사용자가 서비스 계정 애플리케이션 키의 권한 범위를 지정하려면 service_account_write 권한이 있어야 합니다.
  • 애플리케이션 소유자가 필수 권한을 상실하는 경우 애플리케이션을 인증할 수 없습니다. 보유하지 않은 인증 권한 범위로 애플리케이션 키의 권한 범위를 지정한 경우에도 마찬가지입니다.
  • 애플리케이션 키를 생성하거나 애플리케이션을 인증할 때 권한 상실로 인한 오류가 발생하면 403 Forbidden 오류가 표시됩니다. 다양한 오류 반응에 대한 자세한 정보는 Datadog API 설명서를 참조하세요.
  • 사용자 역할이나 권한이 변경되면 해당 애플리케이션에 대한 권한 범위도 변경되지 않은 채로 남아 있게 됩니다.

클라이언트 토큰

보안상의 이유로 API 키는 브라우저, 모바일 또는 TV 앱에서 데이터를 전송하는 데 사용될 수 없습니다. 클라이언트 측에 노출되기 때문입니다. 대신 최종 사용자 대상 애플리케이션은 클라이언트 토큰을 사용해 Datadog에 데이터를 전송합니다.

클라이언트 토큰을 사용해야 데이터 전송이 가능한 클라이언트는 여러 유형이 있습니다. 예시는 다음과 같습니다.

클라이언트는 조직마다 고유합니다. 클라이언트 토큰을 관리하려면 Organization Settings에서 Client Tokens 탭을 클릭하세요.

참고: 클라이언트 토큰을 생성한 사용자가 비활성화되는 경우에도 클라이언트 토큰은 활성 상태로 남아 있습니다.

API 키 또는 클라이언트 토큰 추가

Datadog API 키나 클라이언트 토큰을 추가하려면:

  1. 조직 설정으로 이동한 다음 API 키 또는 [클라이언트 토큰] 탭을 클릭합니다.
  2. 키를 생성하는지, 토큰을 생성하는지 여부에 따라 New Key 또는 New Client Token 버튼을 클릭합니다.
  3. 키나 토큰의 이름을 입력합니다.
  4. Create API key 또는 Create Client Token을 클릭합니다.
Datadog 조직의  API 키 페이지로 이동

참조:

  • 소속된 조직이 최소 한 개 이상, 최대 50개 이하의 API 키를 보유해야 합니다.
  • 키 이름은 조직에서 중복 사용되지 않는 고유 명칭이어야 합니다.

API 키 또는 클라이언트 토큰 삭제

Datadog API 키나 클라이언트 토큰을 삭제하려면 키나 토큰 목록으로 이동한 다음, 삭제할 키나 토큰 옆에 있는 쓰레기통 아이콘을 클릭하세요. 쓰레기통에는 Revoke라고 쓰여 있습니다.

애플리케이션 키 추가

Datadog 애플리케이션 키를 추가하려면 조직 설정 > 애플리케이션 키**로 이동합니다. 애플리케이션 키를 생성할 권한이 있는 경우 새 키를 클릭합니다.

Datadog 조직에 대한 애플리케이션 키 페이지로 이동

참조:

  • 애플리케이션 키 이름은 필수 입력 항목입니다.

애플리케이션 키 삭제

Datadog 애플리케이션 키를 제거하려면, 조직 설정 > 애플리케이션 키로 이동합니다. 애플리케이션 키를 생성하고 관리할 권한이 있는 경우 보유한 키를 확인할 수 있습니다. 철회하려는 키 옆의 철회를 클릭합니다. 조직의 모든 애플리케이션 키를 관리할 수 있는 권한이 있는 경우 철회하려는 키를 검색한 다음 그 옆의 철회를 클릭합니다.

애플리케이션 키 권한 범위 설정

애플리케이션 키에 대한 권한 범위을 지정하려면 Datadog API에 요청하거나 애플리케이션 키를 생성하거나 편집할 수 있는 UI를 만듭니다. 범위는 현재 사용자 또는 서비스 계정에서 보유한 애플리케이션에 대해 지정할 수 있습니다. 이 필드가 지정되지 않은 경우 기본적으로 애플리케이션 키는 생성한 사용자와 모두 동일한 범위와 권한을 갖게 됩니다.

참조:

  • 권한 범위 이름은 대소문자를 구별합니다.

여러 API 키 사용

조직에서 여러 API 키를 사용하는 환경을 고려해보세요. 예를 들어 각 배포 방식마다 다른 API 키를 사용하는 경우가 있습니다. AWS의 쿠버네티스(Kubernetes)에 Agent를 배포하는 용도의 키, Chef를 사용하여 온프레미스로 배포하는 용도의 키, 대시보드나 모니터링을 자동화하는 Terraform 스크립트용 키, 로컬에서 배포하는 개발자용 키 등등을 전부 다르게 사용하는 것입니다.

여러 API 키를 사용하면 보안 대책의 일부로서 키를 회전시킬 수 있고, 특정 키가 부주의로 노출되었거나 해당 키와 연계된 서비스 이용을 중단하고자 하는 경우에 키 권한을 취소할 수 있습니다.

조직이 기본 한도인 50개 API 키 이상을 필요로 하는 경우 한도 상향에 대해 지원팀에 문의해 주세요.

사용자 계정 비활성화

사용자 계정이 비활성화되면 해당 사용자가 생성한 애플리케이션 키의 권한이 취소됩니다. 비활성화된 계정에서 생성한 모든 API 키가 삭제되지는 않으며, 여전히 유효합니다.

키의 전송

보안상의 이유로 Datadog에서는 한 사용자에게서 다른 사용자로 애플리케이션 키를 전달하지 않습니다. 애플리케이션 키를 공유하려면 [서비스 계정]17]을 사용하세요.

API나 애플리케이션 키가 노출된 경우의 대책

비공개 키(프라이빗 키)가 해킹당하거나 공개적으로 노출된 경우, 계정 보안을 위해 최대한 신속하게 조치를 취해야 합니다. GitHub를 비롯한 공개 사이트에서 키가 포함된 파일을 삭제하는 것만으로는 보안이 보장되지 않습니다. 이미 타인이 파일에 접근했을 가능성이 있기 때문입니다.

다음의 절차를 따라 계정을 보호하세요.

참조: 활성화 상태인 키의 권한을 취소(revoke)하면 서비스에 영향을 미칠 수 있습니다. 권한의 사용 범위가 크거나 알 수 없는 경우, 영향을 받은 키의 권한을 취소하기 전에 2-5단계를 고려해보세요.

  1. 영향을 받은 키의 권한을 취소합니다.
  2. 공개적으로 액세스 가능한 파일에서 비공개 키를 포함한 코드를 삭제합니다.
    • 공개 리포지토리에 보안 처리된(sanitized) 파일을 게시합니다.
    • 커밋 히스토리(commit history)에서 민감한 데이터를 삭제합니다.
  3. 신규 키를 생성합니다.
  4. 영향을 받은 서비스를 새로운 키로 업데이트합니다.
  5. 계정의 무단 액세스가 있는지 검토합니다.
    • 최근에 추가된 사용자
    • 새로운 리소스
    • 역할 또는 권한 변경

비정상적 활동이 감지되거나 계정 보안과 관련해 도움이 필요한 경우 Datadog 지원팀에 문의해 주세요.

트러블슈팅

도움이 필요하신가요? Datadog 지원팀에 문의해 주세요.