이 가이드에서는 애플리케이션 및 사용자 인증 정보가 안전한지 확인하는 방법을 보여줍니다.
OAuth 앱 인증 완료하기
Google Ads API의 OAuth 2.0 범위는 제한된 범위로 분류되므로 애플리케이션을 프로덕션화하기 전에 OAuth 애플리케이션 인증 프로세스를 완료해야 합니다. 자세한 내용은 Google ID 문서 및 고객센터 도움말을 참조하세요.
애플리케이션 사용자 인증 정보 보호
애플리케이션의 OAuth 2.0 클라이언트 ID와 클라이언트 비밀번호를 보호해야 합니다. 이러한 사용자 인증 정보는 사용자와 Google이 애플리케이션을 식별하는 데 도움이 되므로 신중하게 처리해야 합니다. 이러한 애플리케이션 사용자 인증 정보는 비밀번호처럼 취급해야 합니다. 공개 포럼에 게시하거나, 사용자 인증 정보를 포함하는 구성 파일을 이메일 첨부파일로 보내거나, 사용자 인증 정보를 하드 코딩하거나, 코드 저장소에 커밋하는 등 안전하지 않은 메커니즘을 사용하여 공유하지 마세요. 가능하면 Google Cloud Secret Manager 또는 AWS Secret Manager와 같은 보안 비밀 관리자를 사용하는 것이 좋습니다.
OAuth 2.0 클라이언트 보안 비밀번호가 유출된 경우 재설정할 수 있습니다. 개발자 토큰을 재설정할 수도 있습니다.
개발자 토큰 보안
개발자 토큰을 사용하면 계정에 API를 호출할 수 있지만, 호출에 사용할 수 있는 계정에는 제한이 없습니다. 따라서 다른 사람이 손상된 개발자 토큰을 사용하여 내 애플리케이션과 관련된 호출을 할 수 있습니다. 이러한 시나리오를 방지하려면 다음과 같은 예방 조치를 취하세요.
개발자 토큰을 비밀번호처럼 취급합니다. 공개 포럼에 게시하거나 개발자 토큰이 포함된 구성 파일을 이메일 첨부파일로 전송하는 등 안전하지 않은 메커니즘을 사용하여 이를 공유하지 마세요. 가능하면 Google Cloud Secret Manager 또는 AWS Secret Manager와 같은 보안 비밀 관리자를 사용하는 것이 좋습니다.
개발자 토큰이 해킹된 경우 재설정해야 합니다.
- Google Ads API를 신청할 때 사용한 Google Ads 관리자 계정으로 로그인합니다.
- 도구 및 설정 > API 센터로 이동합니다.
- 개발자 토큰 옆에 있는 드롭다운 화살표를 클릭합니다.
- 토큰 재설정 링크를 클릭합니다. 이전 개발자 토큰은 즉시 작동이 중지됩니다.
- 새 개발자 토큰을 사용하도록 애플리케이션의 프로덕션 구성을 업데이트합니다.
서비스 계정 보안
서비스 계정에서 Google Ads API에서 올바르게 작동하려면 도메인 전체 가장이 필요합니다. 또한 도메인 전체 가장을 설정하려면 Google Workspace 고객이어야 합니다. 따라서 Google Ads API를 호출할 때는 서비스 계정을 사용하지 않는 것이 좋습니다. 그러나 서비스 계정을 사용하기로 결정한 경우 다음과 같이 보호해야 합니다.
서비스 계정 키와 JSON 파일을 비밀번호로 취급합니다. 가능하면 Google Cloud Secret Manager 또는 AWS Secret Manager와 같은 보안 비밀 관리자를 사용하여 보호합니다.
Google Cloud의 추가 권장사항에 따라 서비스 계정을 보호하고 관리합니다.
사용자 토큰 보호
앱에서 여러 사용자를 승인하는 경우 사용자의 갱신 및 액세스 토큰을 보호하기 위한 추가 조치를 취해야 합니다. 토큰을 미사용 상태로 안전하게 저장하고 일반 텍스트로 전송하면 안 됩니다. 플랫폼에 적합한 보안 스토리지 시스템을 사용하세요
갱신 토큰 취소 및 만료 처리
앱이 승인의 일부로 OAuth 2.0 갱신 토큰을 요청하는 경우 무효화 또는 만료도 처리해야 합니다. 갱신 토큰은 다양한 이유로 무효화될 수 있으므로 애플리케이션은 다음 로그인 세션 중에 사용자를 다시 승인하거나 적절하게 데이터를 정리하여 적절하게 응답해야 합니다. 크론 작업과 같은 오프라인 작업은 실패한 요청을 계속 수행하는 대신 갱신 토큰이 만료된 계정을 감지하고 기록해야 합니다. Google은 API 서버의 안정성을 유지하기 위해 일정 기간 동안 높은 수준의 오류가 발생하는 애플리케이션을 제한할 수 있습니다.
여러 범위에 대한 동의 관리
앱에서 여러 OAuth 2.0 범위에 대한 승인을 요청하는 경우 사용자가 요청한 OAuth 범위 중 일부를 부여하지 않을 수 있습니다. 앱은 관련 기능을 사용 중지하여 범위 거부를 처리해야 합니다. 사용자가 범위가 필요한 특정 기능을 사용하겠다는 의도를 명확하게 표시한 후에만 사용자에게 다시 메시지를 표시할 수 있습니다. 이러한 경우 증분 승인을 사용하여 적절한 OAuth 범위를 요청합니다.
앱의 기본 기능에 여러 범위가 필요한 경우 동의를 요청하기 전에 사용자에게 이 요구사항을 설명합니다.