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 프로젝트 만들기

이 프로젝트는 관리자, 교사, 학생이 액세스할 수 있는 부가기능 애플리케이션을 나타냅니다. 공개 프로젝트를 시작하거나 설치하려면 먼저 Google Workspace Marketplace팀의 검토 및 승인을 받아야 합니다.

  1. 프로덕션 도메인에 새 Google Cloud 프로젝트를 만듭니다.

    Google Cloud 프로젝트 만들기

  2. 클라우드 프로젝트에서 Classroom API를 사용 설정합니다.

    Classroom API 사용 설정

  3. Cloud 프로젝트에서 Google Workspace Marketplace SDK를 사용 설정합니다.

    Google Workspace Marketplace SDK 사용 설정하기

  4. Marketplace SDK 앱 구성 앱 공개 상태공개로 설정하고 비공개 체크박스를 선택합니다.

  5. Marketplace SDK 스토어 등록정보 페이지에서 필수 입력란을 작성하고 게시를 클릭합니다.

  6. Google Workspace Marketplace팀에서 앱을 검토합니다. 개발자는 Marketplace SDK에 지정된 개발자 이메일 주소를 사용하여 연락을 취합니다. 앱이 승인되면 교사와 관리자가 Marketplace에서 찾을 수 있도록 일부 공개 상자를 선택 해제합니다.

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

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

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

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

    Google Cloud 프로젝트 만들기

    Google Cloud 콘솔에 액세스할 수 없거나 Cloud 프로젝트를 만들 수 없으면 관리 콘솔에서 다음을 확인하세요.

    • 계정 설정 > 연령별 액세스 설정 페이지를 방문하여 이 그룹 또는 조직 단위의 모든 사용자는 18세 이상입니다 옵션을 선택합니다.
    • 앱 > 추가 Google 서비스에서 다음 단계를 따릅니다.
    • Google Cloud Platform이 모든 사용자에 대해 사용 설정됩니다.
    • 프로젝트 생성 설정은 사용자가 프로젝트를 만들도록 허용입니다.
    • Cloud Shell 액세스 설정은 Cloud Shell에 대한 액세스 허용입니다.
  3. 데모 도메인 업그레이드 요청 양식을 작성하여 제출합니다. 이 양식을 제출하면 Google에서 10개의 라이선스를 통해 데모 도메인을 Google Workspace for Education Plus로 업그레이드하도록 요청하고 Cloud 프로젝트를 클래스룸 부가기능 API에 포함할 수 있습니다.

    업그레이드 및 허용 목록 프로세스가 완료되면 이메일이 전송됩니다. 관리 콘솔에서 테스트 교사 계정에 Plus 라이선스를 할당합니다. 디렉터리 > 사용자에서 테스트 교사 계정을 만들거나 선택합니다. 각 교사의 라이선스에서 Google Workspace for Education Plus가 할당되었는지 확인합니다.

  4. 클라우드 프로젝트에서 Classroom API를 사용 설정합니다.

    Classroom API 사용 설정

  5. Cloud 프로젝트에서 Google Workspace Marketplace SDK를 사용 설정합니다.

    Google Workspace Marketplace SDK 사용 설정하기

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

  7. Marketplace SDK 스토어 등록정보 페이지에서 필수 입력란을 작성하고 게시를 클릭합니다. 앱 등록정보가 게시된 후에는 도메인의 사용자가 Google Workspace Marketplace에서 또는 스토어 등록정보 페이지에 표시된 앱 URL에 방문하여 앱을 찾아 설치할 수 있습니다.

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로 전달됩니다. 사용자가 이러한 범위 중 하나를 승인하지 않았다면 login_hint가 전송되지 않습니다.

login_hint는 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 등록정보

일반적인 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 교사, tammy.teacher@<데모 도메인>
  • 샘 학생, sam.student@<데모 도메인>
  • 샐리 학생, sally.student@<데모 도메인>

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

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

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

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

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

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