부인은 문하시랑 최석(崔奭)의 딸이고, 아들은 김구부(金龜符)이다. 「김구부 묘지명(金龜符 墓誌銘)」 등과 다르게 『고려사(高麗史)』에서는 이름을 ‘商佑’(상우)로 적었다.
1107년(예종 2) 어사대부(御史大夫)가 되고 이듬해 형부상서로서 예부시랑 한안인(韓安仁)과 함께 송나라에 사신으로 다녀왔다.
1109년 3월 예부상서로서 동지공거(同知貢擧)가 되어 진사를 뽑았으며, 7월에 호부상서한림학사(戶部尙書翰林學士)가 되었다. 이듬해 예부상서 · 어사대부를 거쳐 1111년 이부상서, 이듬해 형부상서를 지냈다.