이 가이드에서는 애플리케이션과 사용자 인증 정보의 보안을 유지하는 방법을 보여줍니다.
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 Center로 이동합니다.
- 개발자 토큰 옆에 있는 드롭다운 화살표를 클릭합니다.
- 토큰 재설정 링크를 클릭합니다. 이전 개발자 토큰은 즉시 작동을 중지해야 합니다.
- 새 개발자 토큰을 사용하도록 애플리케이션의 프로덕션 구성을 업데이트합니다.
서비스 계정 보호
서비스 계정이 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 범위를 요청하세요.
앱의 기본 기능에 여러 범위가 필요한 경우 동의 메시지를 표시하기 전에 사용자에게 이 요구사항을 설명합니다.