본문으로 건너뛰기

Google Workspace

Google Workspace와
연결(SSO)

Google Cloud 프로젝트에 OAuth 클라이언트를 만들어, 회사의 Google Workspace 계정으로 Aiyori에 로그인할 수 있게 합니다(OpenID Connect를 쓰는 SSO).

공통 값과 잘 안 될 때 확인할 곳은 회사의 ID 관리 시스템과 연결 페이지에 있습니다. 화면 이름은 2026년 10월 기준 Google 콘솔의 것입니다.

할 수 있는 것·할 수 없는 것

SSO(OpenID Connect)
할 수 있습니다. 회사 Google 계정으로 로그인합니다.
SCIM
할 수 없습니다. Google Workspace가 SCIM으로 사람을 보내는 것은 Google 카탈로그에 있는 앱뿐입니다.

SCIM 대신 할 것

  • Aiyori의 “아직 등록되지 않은 사람이 로그인하면 수강자로 등록하기” 항목을 켭니다. 회사 도메인의 사람이 처음 로그인할 때 수강자가 됩니다.
  • 부서 등의 그룹 나누기와 사전 등록은, Google Admin console에서 내보낸 명단을 Aiyori의 “한꺼번에 등록” 기능(CSV)으로 넣습니다(아래 4).
  • 퇴사한 사람은 Google 계정을 정지하면 로그인할 수 없게 됩니다. Aiyori의 수강자는 남으므로, 매달 명단을 가져올 때 등에 강사가 수강자 페이지에서 정지 또는 이용 종료 처리합니다.
  • 꼭 자동으로 하고 싶은 회사는 Okta나 Microsoft Entra ID를 Google 앞에 두면 SCIM을 쓸 수 있습니다.

필요한 것

  • Google Cloud console(https://console.cloud.google.com)에서 회사 조직 안에 프로젝트를 만들 수 있는 사람.
  • Google Workspace Admin console의 최고 관리자는 필요 없습니다(Aiyori가 요청하는 것은 openid email profile뿐이며, 민감한 범위를 쓰지 않습니다).
  • 비용은 들지 않습니다(OAuth 클라이언트는 무료입니다).

1. 프로젝트와 동의 화면

  1. Google Cloud console → 위쪽의 프로젝트 선택 → New Project → 이름은 aiyori-sso, Organization에 회사 조직을 고르고 Create.
  2. Google Auth Platform(메뉴의 APIs & Services → OAuth consent screen에서 들어갑니다) → Get started. App name에 Aiyori, User support email과 연락처 정보에 IT 담당자의 주소를 입력하고, Audience는 Internal로 한 뒤 동의하고 Create.
  3. Data Access에는 아무것도 추가하지 않습니다(openid·email·profile은 처음부터 쓸 수 있습니다).

Audience를 Internal로 하면 회사 Google Workspace의 사람만 로그인할 수 있습니다. 회사 밖의 Google 계정은 Google 화면에서 막힙니다.

2. OAuth 클라이언트

  1. Google Auth Platform → Clients → + Create client.
  2. Application type은 Web application, 이름은 Aiyori.
  3. Authorized redirect URIs → + Add URI → https://app.aiyori.app/api/web/sso/callback. Authorized JavaScript origins는 비워 두어도 됩니다.
  4. Create → Client ID와 Client secret을 적어 둡니다. 시크릿은 나중에 볼 수 없을 수도 있습니다. 적어 두지 못했다면 클라이언트 페이지에서 새 시크릿을 추가해 바꿔 넣습니다.

3. Aiyori에 입력하기

Aiyori의 강사 화면 → “설정” → “회사의 ID 관리 시스템과 연결” → “SSO” 탭에 입력하고 “저장” 버튼을 누릅니다.

발급자 URL(Issuer)
https://accounts.google.com
클라이언트 ID
2에서 적어 둔 값(….apps.googleusercontent.com)
클라이언트 시크릿
2에서 적어 둔 값
허용할 메일 주소 도메인
반드시 입력합니다(비어 있으면 저장할 수 없습니다). 회사 Google Workspace의 기본 도메인(예: example.com)과, 직원 메일 주소에 쓰는 다른 도메인(보조 도메인)이 있으면 그것도 한 줄에 하나씩 입력합니다.
자동 등록
“아직 등록되지 않은 사람이 로그인하면 수강자로 등록하기” 항목을 켭니다(SCIM이 없기 때문입니다).

저장한 뒤 회사 계정으로 한 사람이 로그인해 확인합니다(로그인 화면 → “회사 계정으로 로그인” → 조직 코드 → Google 계정 선택 → Aiyori로 돌아옴). 관리자는 “직접 로그인해 보기”의 “내 회사 계정으로 시험하기” 버튼으로도 시험할 수 있습니다.

발급자(https://accounts.google.com)는 어느 Google 계정이든 같습니다. 누가 들어올 수 있는지는 동의 화면의 Internal과 Aiyori의 허용할 도메인, 두 곳에서 좁힙니다. 둘 다 반드시 설정해 주세요.

4. 명단과 그룹

  1. Google Admin console → Directory → Users → Download users(CSV).
  2. 스프레드시트에서 열고 이름(성과 이름을 한 열로 합침)·메일 주소·부서(Org Unit Path 등을 알기 쉬운 이름으로 바꿈)의 3열로 만든 뒤, 열 제목을 이 이름으로 바꿉니다. Google의 열 제목(Email Address [Required] 등) 그대로는 읽을 수 없습니다.
  3. Aiyori의 수강자 페이지 → “한꺼번에 등록”에 붙여 넣거나 CSV를 고름 → “확인하기” 버튼 → 등록. 부서 열이 그룹이 됩니다(한 번에 1,000명까지).
  4. 입사·이동이 있을 때마다(또는 매달) 같은 작업을 합니다. 같은 사람은 갱신될 뿐 중복되지 않습니다(사번 → 메일 주소 순으로 구별합니다).

5. 연결한 날 확인할 것

  • 회사 계정으로 들어올 수 있습니다. 처음 온 사람은 수강자로 등록됩니다.
  • 회사 밖의 Google 계정(개인 gmail.com)은 Google 화면에서 막힙니다(동의 화면이 Internal이기 때문입니다). 막히지 않더라도 Aiyori에는 들어올 수 없습니다(hd가 없기 때문입니다).
  • Google 계정을 정지한 사람은 회사 계정으로 들어올 수 없습니다.

Google Workspace 연동의 규칙

Aiyori는 Google 로그인 뒤에 다음을 확인합니다.

  • ID 토큰의 발급자(iss)가 https://accounts.google.com 또는 accounts.google.com일 것(Google은 둘 다 씁니다).
  • hd(그 사람의 Google Workspace 기본 도메인)가 허용할 도메인 중 하나일 것. 개인 Google 계정(gmail.com 등. hd가 없습니다)과 다른 회사 Workspace의 사람은 들어올 수 없습니다(동의 화면을 실수로 External로 해 두어도 여기서 막힙니다).
  • 메일 주소(email)의 도메인도 허용할 도메인 중 하나일 것. email_verified가 false인 사람은 들어올 수 없습니다.
  • 처음 온 사람은 자동 등록을 켜 두었다면 수강자로 등록됩니다(ID는 메일 주소의 @ 앞부분, 이름은 Google의 표시 이름). 두 번째부터는 Google의 sub로 같은 사람임을 알아봅니다.