데이터베이스 설계하기

첫 번째 단계는 제3자의 데이터베이스를 사용하지 않으려는 경우를 제외하고 항상 데이터베이스를 생성하는 것입니다. 데이터베이스가 생성되면 생성문을 실행한 소유자에게 할당됩니다. 일반적으로 소유자(또는 수퍼유저)만 해당 데이터베이스의 개체에 대해 모든 작업을 수행할 수 있으며 다른 사용자가 사용할 수 있도록 하려면 권한이 부여되어야 합니다.

애플리케이션은 소유자 또는 수퍼유저로서 데이터베이스에 연결해서는 안 됩니다. 이러한 사용자는 스키마 수정(예: 테이블 삭제) 또는 전체 콘텐츠 삭제와 같은 쿼리를 마음대로 실행할 수 있기 때문입니다.

데이터베이스 개체에 대한 매우 제한된 권한으로 응용 프로그램의 모든 측면에 대해 서로 다른 데이터베이스 사용자를 만들 수 있습니다. 가장 필요한 권한만 부여해야 하며 동일한 사용자가 다른 사용 사례에서 데이터베이스와 상호 작용할 수 없도록 해야 합니다. 즉, 침입자가 응용 프로그램 자격 증명을 사용하여 데이터베이스에 액세스할 수 있는 경우 응용 프로그램이 변경할 수 있는 만큼만 변경할 수 있습니다.