Google Cloud 프로젝트 구성

이 페이지에는 클래스룸 부가기능용 Google Cloud 프로젝트를 만들고 구성하는 데 필요한 정보가 포함되어 있습니다. Google Cloud 프로젝트는 OAuth 2.0(Google SSO)을 통해 Google 싱글 사인온(SSO)을 구현하고, 부가기능의 요청을 승인하고, Google Workspace Marketplace 스토어의 부가기능 등록정보를 관리하는 데 사용됩니다.

Marketplace에 부가기능을 게시하는 방법에 관한 자세한 내용은 앱 게시를 참고하세요.

Google Cloud 프로젝트 만들기

만들 프로젝트에는 두 가지 유형이 있습니다. 하나는 개발에 사용되는 비공개 프로젝트이고 다른 하나는 최종 사용자가 연결할 수 있는 공개 프로젝트입니다. '공개' 및 '비공개' 라벨은 Google Workspace Marketplace에서 애플리케이션 공개 상태를 나타냅니다. 비공개 Marketplace 애플리케이션은 생성된 도메인 내의 사용자만 설치할 수 있지만 공개 Marketplace 애플리케이션은 모든 Google Workspace 도메인에서 사용할 수 있습니다. 프로젝트는 공개와 비공개가 모두 될 수 없으므로 두 개의 개별 애플리케이션이어야 합니다. 공개 애플리케이션은 Marketplace에 출시되기 전에 검토 및 승인을 거쳐야 합니다.

일반적인 Google Cloud 프로젝트 만들기 정보는 Google Cloud 프로젝트 만들기를 참조하세요.

비공개 Google Cloud 프로젝트 만들기

비공개 프로젝트는 개발에 사용되는 부가기능 애플리케이션을 나타냅니다. 생성된 도메인 외부의 사용자는 액세스할 수 없지만 설치 전에 승인할 필요는 없습니다. 따라서 이 프로젝트를 사용하여 통제된 환경에서 부가기능을 개발하고 테스트하는 것이 좋습니다.

비공개 프로젝트를 만들려면 Teaching & Learning 또는 Plus 라이선스가 있는 Google Workspace for Education 도메인에 액세스해야 합니다. 이러한 도메인에 아직 액세스할 수 없다면 다음 단계에 따라 Google Workspace for Education 데모 도메인을 설정하고 Plus 라이선스로 업그레이드한 후 Classroom 부가기능 API에 액세스하도록 허용합니다.

  1. 개발자 테스트 도메인 받기 단계를 완료합니다.
  2. 데모 도메인에서 관리자로 로그인한 상태에서 새 Google Cloud 프로젝트를 만듭니다.

  3. 클래스룸 API를 사용 설정합니다.

  4. Google Workspace Marketplace SDK를 사용 설정합니다.

  5. Marketplace SDK 앱 구성 앱 공개 상태비공개로 설정합니다.

  6. 데모 도메인 업그레이드 요청 양식을 작성하여 제출합니다. 이 양식을 제출하면 Google이 데모 도메인을 10개의 라이선스가 있는 Google Workspace for Education Plus로 업그레이드하고 Cloud 프로젝트를 Classroom 부가기능 API에 허용하도록 요청합니다.

공개 Google Cloud 프로젝트 만들기

이 프로젝트는 관리자, 교사, 학생이 액세스할 수 있는 부가기능 애플리케이션을 나타냅니다.

  1. 새 Google Cloud 프로젝트를 만들고 Google Workspace Marketplace SDK를 사용 설정합니다. Marketplace SDK 앱 구성 앱 공개 상태공개일부 공개로 설정합니다. 내부 테스트 중에 사용된 비공개 프로젝트는 공유하거나 변환할 수 없습니다. 새 프로젝트 번호여야 합니다.
  2. Google Cloud 프로젝트 ID를 Google 파트너와 공유하여 부가기능 허용 목록에 프로젝트를 추가합니다. 이렇게 하면 프로젝트가 Classroom API의 새로운 부가기능에 액세스할 수 있습니다.
  3. 부가기능이 승인되면 교사가 스토어에서 부가기능을 찾을 수 있도록 Google Workspace Marketplace팀에서 부가기능을 '일부 공개'에서 '나열됨'으로 변경합니다.

OAuth 2.0

Classroom API에 액세스하려면 사용자 데이터 액세스 동의가 필요합니다. 이 정보는 로그인한 사용자의 OAuth 범위에 대한 Google 액세스를 요청하고 이후에 Google 클래스룸에 API를 호출하는 데 사용할 수 있는 토큰을 받아 얻습니다. 사용자가 부가기능을 설치할 경우 도메인 관리자가 도메인 사용자를 대신하여 동의할 수 있도록 범위를 Google Workspace Marketplace 스토어 등록정보에서 구성해야 합니다.

사용 가능한 모든 범위와 그 용도의 세부 목록은 Google API용 OAuth 범위 페이지를 참조하세요. 일반적인 OAuth 구성 정보는 작업공간 문서의 OAuth 구성 페이지를 참조하세요.

사용자 권한

웹 앱은 다음 범위 중 하나 이상을 요청해야 합니다.

  • https://www.googleapis.com/auth/userinfo.email: 애플리케이션이 사용자의 이메일 주소를 볼 수 있습니다.
  • https://www.googleapis.com/auth/userinfo.profile: 애플리케이션이 인물 사진, 성명, 사용자가 공개적으로 제공한 기타 개인 정보와 같은 개인 정보를 볼 수 있습니다.

사용자가 부가기능에서 이러한 범위 중 하나를 승인하면 login_hint 쿼리 매개변수로 식별됩니다. 이 매개변수는 iframe이 열릴 때 웹 앱의 URL로 전달됩니다. 사용자가 이러한 범위 중 하나를 승인하지 않으면 hd ('호스팅된 도메인') 매개변수가 웹 앱의 URL로 대신 전달됩니다.

login_hinthd는 Google 로그인을 사용하거나 OAuth 토큰을 요청할 때 선택적으로 Google에 전달할 수 있는 표준 OpenID Connect 매개변수입니다. 최종 사용자를 위한 승인 환경을 더 원활하게 만들기 위한 것입니다.

클래스룸 부가기능 범위

다음은 클래스룸 부가기능에 해당하는 범위입니다.

  • https://www.googleapis.com/auth/classroom.addons.teacher: 모든 API 메서드에 대한 액세스를 허용합니다.
  • https://www.googleapis.com/auth/classroom.addons.student: 유효성 검사 및 첨부파일 읽기 작업을 시작할 수 있는 액세스 권한을 허용합니다.

사용자의 사용자 인증 정보를 나타내는 유효한 OAuth 액세스 토큰이 있더라도 API 호출에는 추가 요구사항이 적용됩니다.

  • 모든 메서드에서 사용자가 요청에서 courseId에 지정된 과정의 교사 또는 학생이어야 합니다.
  • 첨부파일 생성, 업데이트, 삭제, 성적 반환을 사용하려면 사용자가 교사여야 합니다.
  • 특정 Google 클래스룸 게시물로 보내는 통화는 다음 검사를 통해 관리됩니다.
    • 부가기능에서 게시물에 이미 하나 이상의 첨부파일이 있는 경우 다음을 요청할 수 있습니다.
      • iframe 실행 확인
      • 첨부파일 읽기, 업데이트, 삭제 작업
      • 해당 게시물의 업데이트 채점
    • 첨부파일 검색 iframe이 처음 열릴 때는 부가기능의 게시물에 첨부파일이 아직 없을 수 있습니다. 다음을 요청하는 데 사용할 수 있는 addOnToken 쿼리 매개변수가 제공됩니다.
      • 게시물 아래에 첨부파일 만들기 (addOnToken 필요)
      • 실행 유효성 검사 (addOnToken가 제공된 경우 검증되고 부가기능의 게시물에 기존 첨부파일이 없을 때 필요함)

OAuth 확인

클래스룸 부가기능은 Google API를 사용하여 Google 사용자 데이터에 액세스합니다.

인증 프로세스에 대한 자세한 내용은 OAuth API 인증 FAQ를 참조하세요.

Google Workspace Marketplace 등록정보

이 사전 체험판 프로그램을 진행하는 동안 클래스룸 부가기능의 Marketplace 스토어 등록정보를 만들 때 유의해야 할 몇 가지 사항이 있습니다.

일반적인 Google Workspace Marketplace SDK 구성 정보는 Google Workspace Marketplace SDK 사용 설정 및 구성Google Workspace Marketplace 스토어 등록정보 만들기를 참조하세요.

나열 고려사항

공개 Google Cloud 프로젝트의 Marketplace SDK 스토어 등록정보는 최종 사용자를 대상으로 하는 애플리케이션의 이름과 설명을 지정합니다. 앱 세부정보에서 이러한 세부정보를 여러 언어로 제공할 수 있습니다.

등록정보에서 다음 가이드라인을 따르세요.

  • 앱 세부정보에서 다음을 수행합니다.

    • 애플리케이션 이름에 구두점을 사용하지 마세요. 예를 들어 '내 회사: 내 부가기능' 또는 '내 회사별 내 부가기능' 대신 '내 회사의 부가기능'을 사용하세요.

    • 간단한 설명상세 설명에 정확히 동일한 텍스트를 포함해서는 안 됩니다.

    • Pricing(가격 책정) 입력란 값을 선택했는지 확인합니다. 이 필드에는 무료, 무료 체험판으로 유료 결제, 무료 기능을 통해 결제됨, 유료 가격 옵션이 포함됩니다. Marketplace 목록에는 비용 금액을 지정할 필요가 없습니다.

    • 카테고리 필드의 값을 선택했는지 확인합니다. 교육 리소스 또는 교사 및 관리 도구는 클래스룸 부가기능으로 적합할 수 있습니다.

    • 자세한 내용은 Marketplace의 앱 세부정보 설명에 나열된 항목을 참고하세요.

  • 그래픽 애셋에서 다음과 같이 합니다.

  • 지원 링크에서 다음을 수행합니다.

    • 애플리케이션의 서비스 약관 링크를 제공했는지 확인합니다.
  • 허용되는 이름과 설명이 포함된 Google API 브랜드 가이드라인을 준수하는지 확인합니다.

  • 등록정보에서 Google 제품을 언급할 때는 상표 목록에 제공된 형식의 이름을 사용하세요. 상표 (TM) 기호가 지정된 경우 이를 포함해야 합니다. 'Google Docs'가 아닌 'Google DocsTM'를 사용하세요.

Google의 라이선스 및 결제 서비스와 통합

Google Workspace Marketplace 애플리케이션을 Google의 라이선스 및 결제 서비스와 통합하려면 Marketplace API를 방문하세요.

설치 설정

부가기능은 관리자 설치 외에도 개별 설치를 허용할 수 있습니다. 이 페이지에서는 두 설치 유형의 몇 가지 차이점을 중점적으로 설명합니다. 이 페이지는 두 설치 유형을 승격하기 위한 것이 아닙니다. Google Workspace Marketplace SDK 앱 구성 페이지에서 개별 설치를 허용할지 여부를 선택할 수 있습니다.

관리자 설치

관리자 설치를 사용하면 관리자가 도메인의 모든 계정, 특정 액세스 그룹 또는 조직 단위에 부가기능을 추가할 수 있습니다. 도메인 관리자만 관리자 설치를 수행할 수 있습니다. 관리자는 선택적으로 도메인의 모든 사용자를 대신하여 모든 액세스 범위에 동의할 수 있습니다. 관리자가 원하는 경우 사용자에게 액세스 범위에 동의하라는 메시지가 표시되지 않습니다.

다음은 관리자 설치와 관련된 몇 가지 고려사항입니다.

  • 더욱 엄격해진 제어 기능. 관리자는 부가기능에 액세스할 수 있는 사용자를 제한할 수 있습니다.
  • 라이선스 호환성. 애플리케이션에 라이선스가 필요한 경우 관리자를 통해 설치를 채널하면 라이선스가 해당 기관에 적절하게 배포되고 사용되는지 확인할 수 있습니다.
  • 최종 사용자의 부담 경감. 관리자가 설치하면 교사와 학생의 설정 부담이 줄어듭니다. 이렇게 하면 클릭수가 줄어들고 혼란의 가능성도 줄어들면서 더 원활한 사용자 환경이 제공될 수 있습니다.

관리자 설치를 수행하는 방법에 대한 자세한 내용은 도메인에 Marketplace 앱 설치를, 조직 단위 및 액세스 그룹에 대한 자세한 내용은 조직 구조 작동 방식을 참조하세요.

개별 설치

개별 설치는 사용자 계정에 부가기능이 추가됩니다. 설치 중에 부가기능의 액세스 범위에 동의하라는 메시지가 사용자에게 표시됩니다.

다음은 개별 설치에 관한 몇 가지 고려사항입니다.

  • 원활한 도입: 더 많은 사용자가 Google Workspace Marketplace에서 부가기능을 보고 설치할 수 있습니다. 개별 설치를 허용하면 더 많은 교사가 제품을 채택하거나 지지하도록 유도할 수 있습니다.
  • 관리자 테스트. 관리자는 더 광범위한 그룹을 위해 부가기능을 승인하거나 설치하기 전에 부가기능을 개별적으로 설치하여 테스트 또는 평가할 수 있습니다.

관리자는 사용자를 대신하여 부가기능을 설치하는 것 외에도 허용 목록을 관리하여 사용자가 개별 설치를 허용하는 부가기능을 설치하도록 허용할 수 있습니다. 부가기능이 허용 목록에 없는 경우 사용자는 Google Workspace Marketplace에서 부가기능 목록을 볼 수 있지만 부가기능을 설치할 수 없습니다. 대신 도메인 관리자가 부가기능을 설치하도록 허용하지 않았다는 메시지가 표시됩니다. 이 동작에 관한 자세한 내용은 허용 목록에 있는 Google Workspace Marketplace 앱 관리를 참고하세요.

자세한 내용은 Google Workspace Marketplace 설치 설정 문서를 참고하세요.

앱 통합

첨부파일 설정 URI 필드에 실행 iframe URL을 제공해야 합니다. 이 URL은 첨부파일 검색 iframe의 iframe src 값으로 사용됩니다. 첨부파일 검색 iframe은 교사가 과제에 첨부할 콘텐츠 또는 활동을 찾는 데 사용됩니다.

또한 부가기능에서 연결을 허용하는 모든 URI 프리픽스를 지정해야 합니다. 이 기능은 승인되지 않은 소스의 첨부파일을 방지하여 보안을 강화합니다.

이러한 필드에 관한 자세한 내용은 iframe 가이드 페이지를 참고하세요.

테스트 계정

데모 도메인에 테스트 계정을 만들어 비공개 부가기능의 올바른 동작을 확인합니다. 학생 과제물 검토 iframe에서 학생 간 전환을 테스트하려면 두 개의 학생 계정이 필요합니다.

추천 테스트 계정:

  • 타미 교사, tammy.teacher@<데모 도메인>
  • 샘 학생, sam.student@<데모 도메인>
  • 샐리 학생, sally.student@<데모 도메인>

다음 절차에 따라 새 테스트 계정을 만듭니다.

  1. 관리 콘솔에 로그인합니다.
  2. 사용자로 이동합니다.
  3. Add new user(새 사용자 추가)를 클릭합니다(그림 1 참고).
  4. 사용자 정보를 입력하고 적절한 역할을 할당합니다.

&#39;새 사용자 추가&#39;를 클릭합니다. 그림 1. 관리 콘솔 내의 새 사용자 추가 링크 위치

다음 절차에 따라 새 테스트 그룹을 만듭니다.

  1. 관리 콘솔에 로그인합니다.
  2. 그룹으로 이동합니다.
  3. 그룹 만들기를 클릭합니다 (그림 2 참고).
  4. 그룹의 회원 및 소유자를 입력합니다.

&#39;그룹 만들기&#39;를 클릭합니다. 그림 2. 관리 콘솔 내의 그룹 만들기 링크의 위치