Google Cloud 프로젝트

모든 Apps Script 프로젝트는 Google Cloud를 사용하여 승인, 고급 서비스, 기타 세부정보를 관리합니다. 이러한 설정을 구성하고 관리하기 위해 모든 Apps Script 프로젝트에는 연결된 Google Cloud 프로젝트가 있습니다. 스크립트 프로젝트는 Apps Script에서 자동으로 생성되는 기본 프로젝트 또는 사용자가 직접 만든 표준 프로젝트를 사용할 수 있습니다. 일반적으로 기본 프로젝트는 일상적인 스크립트나 간단한 스크립트에 적합하지만, 복잡하거나 상업적 품질이 좋거나 게시하려는 애플리케이션에는 표준 프로젝트를 사용해야 합니다.

언제든지 기본 프로젝트에서 표준 프로젝트로 전환할 수 있지만 기본 프로젝트를 사용하도록 다시 전환할 수는 없습니다. 개발 초기에 스크립트에서 사용하는 Cloud 프로젝트를 선택하는 것이 좋습니다. 나중에 전환하면 사용자에게 재승인을 요구하는 등 복잡한 문제가 발생할 수 있습니다.

기본 Cloud 프로젝트

Apps Script 프로젝트를 만들면 Apps Script가 백그라운드에서 작동하는 기본 클라우드 프로젝트를 만듭니다.

  • 대부분의 스크립트에서 이 기본 프로젝트를 확인하거나 조정할 필요가 없습니다. Apps Script는 Google Cloud와의 필요한 상호작용을 처리합니다. 예를 들어 Apps Script 편집기에서 고급 서비스를 활성화하면 스크립트 프로젝트를 저장할 때 Apps Script가 기본 Cloud 프로젝트에서 고급 서비스를 활성화합니다.
  • 일부 스크립트의 경우 Google Cloud 콘솔과 상호작용해야 합니다. 이러한 경우 스크립트에서 표준 Cloud 프로젝트를 대신 사용해야 합니다. 예를 들어 Google Cloud 콘솔에서 Google Cloud 로그를 보려면 스크립트에서 표준 프로젝트를 사용해야 합니다.

기본적으로 Cloud 프로젝트에는 기본 프로젝트의 소유자 역할을 하는 Google 서비스 계정인 하나의 항목이 포함된 Identity and Access Management(IAM) 정책이 있습니다. Google 서비스 계정은 appsdev-apps-dev-script-auth@system.gserviceaccount.com입니다.

기본 Cloud 프로젝트 보기 또는 업데이트

대부분의 사용자는 Google Cloud 콘솔에서 기본 프로젝트를 직접 찾거나 보거나 수정할 수 없습니다. 관리자인 경우 기본 Google Cloud 프로젝트 보기를 참고하세요.

2019년 4월 8일 이전에 스크립트 프로젝트를 만든 경우 Google Cloud 콘솔에서 액세스할 수 있는 기본 프로젝트를 사용할 수 있습니다. 기본 프로젝트에 액세스하려면 스크립트 프로젝트의 설정으로 이동하여 프로젝트 번호를 클릭합니다.

기본 Cloud 프로젝트 삭제

관리자는 표준 Cloud 프로젝트처럼 기본 Cloud 프로젝트를 삭제할 수 있습니다. Apps Script 클라우드 프로젝트 삭제를 참고하세요.

관리자가 아닌 경우에는 기본 프로젝트를 삭제할 수 없습니다. 하지만 다음과 같은 시나리오에서는 Apps Script가 기본 프로젝트를 삭제합니다.

  • 스크립트 프로젝트를 삭제하거나 표준 프로젝트를 사용하도록 전환하면 Apps Script는 스크립트에 연결된 기본 프로젝트와 여기에 포함된 설정 또는 정보를 삭제합니다.
  • 스크립트가 180일 이상 실행되지 않으면 Apps Script에서 연결된 기본 프로젝트를 삭제합니다. Apps Script에서 기본 프로젝트를 삭제한 후 스크립트가 실행되면 Apps Script에서 스크립트에 대한 프로젝트를 만듭니다.

표준 Cloud 프로젝트

프로젝트를 수동으로 구성할 필요가 없는 경우 대부분의 스크립트 프로젝트에는 기본 클라우드 프로젝트가 가장 적합한 옵션입니다. 이러한 상황에서는 표준 프로젝트를 사용하도록 스크립트 프로젝트를 전환해야 합니다.

다음 섹션에서는 Apps Script에 표준 프로젝트가 필요한 경우, 해당 프로젝트의 속성, 표준 프로젝트로 수행하는 일반적인 작업을 설명합니다. 아래 작업은 표준 프로젝트에서만 수행할 수 있습니다.

Apps Script에 표준 클라우드 프로젝트가 필요한 경우

다음과 같은 상황에서 표준 프로젝트를 사용해야 합니다.

표준 Cloud 프로젝트 속성

표준 프로젝트에는 다음과 같은 속성이 있습니다.

  • Google Cloud 콘솔에서 직접 프로젝트의 모든 Google Cloud 설정에 액세스할 수 있습니다. 이를 통해 API를 활성화하고, 승인 사용자 인증 정보를 조정하고, 기타 세부정보를 구성할 수 있습니다.
  • 스크립트 프로젝트를 삭제하거나 다른 표준 프로젝트를 사용하도록 전환하면 원래의 표준 프로젝트는 유지되고 다시 사용할 수 있습니다.
  • 스크립트 프로젝트에서 고급 서비스를 활성화할 때는 표준 프로젝트에서 해당 API를 수동으로 활성화해야 합니다.
  • 여러 스크립트 프로젝트 및 다른 앱이 동일한 표준 프로젝트를 공유할 수 있습니다. 스크립트 프로젝트를 Google Workspace Marketplace부가기능으로 게시하려면 자체 표준 프로젝트가 있어야 합니다. 게시된 앱은 Cloud 프로젝트를 다른 앱과 공유할 수 없습니다.
  • Apps Script API의 scripts.run 메서드를 사용하여 다른 앱에서 스크립트 프로젝트의 함수를 실행하려면 스크립트 프로젝트와 호출 애플리케이션이 동일한 표준 프로젝트를 공유해야 합니다.
  • Apps Script에서 사용자에게 표준 프로젝트를 사용하는 스크립트를 승인해 달라고 요청하면 클라우드 프로젝트 이름이 스크립트를 식별하는 데 사용됩니다 (스크립트 프로젝트 이름이 아님). 따라서 적절한 Cloud 프로젝트 이름을 설정해야 합니다.

표준 Cloud 프로젝트에 액세스

스크립트 프로젝트와 연결된 표준 프로젝트에 액세스하려면 다음 단계를 따르세요.

  1. Apps Script 프로젝트를 엽니다.
  2. 왼쪽에서 프로젝트 설정 을 클릭합니다.
  3. Google Cloud Platform (GCP) 프로젝트에서 프로젝트 번호를 클릭합니다.

Google Cloud 콘솔 리소스 관리 페이지에서도 표준 프로젝트를 직접 찾을 수 있습니다.

표준 Cloud 프로젝트에서 API 활성화

Apps Script 애플리케이션에서 다른 Google API에 액세스해야 하는 경우가 많습니다. 이렇게 하려면 해당 Cloud 프로젝트에서 API를 활성화해야 합니다. 다음을 실행하여 API를 활성화합니다.

  1. Cloud 프로젝트를 엽니다.
  2. 메뉴 > API 및 서비스를 클릭합니다.
  3. API 및 서비스 사용 설정을 클릭합니다.
  4. 검색창에 활성화하려는 API를 입력하고 Enter 키를 누릅니다.
  5. 검색결과에서 API를 클릭한 다음 사용 설정을 클릭하여 이 Cloud 프로젝트의 API를 활성화합니다.

Google API 또는 Google Cloud 서비스 약관에 동의하라는 메시지가 표시될 수 있습니다. 서비스 약관을 수락하기 전에 꼼꼼하게 검토하시기 바랍니다.

애플리케이션에 따라 API 및 서비스 대시보드에서 API를 선택하여 구성해야 할 수도 있습니다.

표준 Cloud 프로젝트의 ID 및 번호 결정

모든 Cloud 프로젝트에는 프로젝트 이름, 프로젝트 ID, 프로젝트 번호가 있습니다. 경우에 따라 서비스를 구성하거나 다른 태스크를 완료하려면 이러한 식별자가 있어야 합니다.

표준 프로젝트의 ID와 번호를 확인하려면 다음 단계를 따르세요.

  1. Cloud 프로젝트를 엽니다.
  2. 오른쪽 상단에서 더보기 > 프로젝트 설정을 클릭합니다.
  3. 표시되는 설정 패널에서 프로젝트 이름, 프로젝트 ID, 프로젝트 번호를 확인합니다. 프로젝트 번호는 숫자로만 구성되지만 프로젝트 ID는 영숫자입니다. 승인 메시지가 표시되는 동안 사용자에게 표시되는 프로젝트 이름을 수정할 수 있습니다.

Google Cloud 콘솔에서 Google Cloud 로그 및 오류 보고서 보기

스크립트 프로젝트에 Google Cloud Logging 또는 오류 보고를 사용하는 경우 Google Cloud 콘솔에서 다음을 수행하여 이러한 로그와 보고서를 볼 수 있습니다.

  1. Cloud 프로젝트를 엽니다.
  2. 메뉴 를 클릭합니다.
  3. 작업 섹션까지 아래로 스크롤하고 Logging > 로그 탐색기를 클릭합니다.
  4. 오류 보고서를 보려면 작업 섹션까지 아래로 스크롤하고 Error Reporting을 클릭합니다. 오류 보고를 설정하라는 메시지가 표시되면 스크립트 프로젝트에서 아직 예외를 로깅하지 않은 것입니다.

OAuth가 필요한 서비스를 사용할 때 Google은 사용자에게 해당 서비스를 승인하라는 메시지를 표시합니다. OAuth 동의 화면 설정을 사용하면 애플리케이션 이름, 서비스 약관 URL 등 Google에서 사용자에게 제공하는 일부 정보를 설정할 수 있습니다.

기본 Cloud 프로젝트는 Apps Script 프로젝트 세부정보에서 자동으로 동의 화면을 만듭니다. 이러한 설정은 조정할 수 없습니다. 표준 클라우드 프로젝트를 사용하면 이 정보를 맞춤설정할 수 있습니다 다음 단계에 따라 스크립트의 동의 화면을 구성할 수 있습니다.

  1. Cloud 프로젝트를 엽니다.
  2. 메뉴 > API 및 서비스 > 사용자 인증 정보를 클릭합니다.
  3. 동의 화면 구성을 클릭합니다.
  4. 동의 화면 워크플로의 각 섹션을 작성합니다.
  5. 워크플로의 각 단계에서 변경사항을 기록하려면 저장 후 계속을 클릭합니다.

OAuth 사용자 인증 정보 만들기

Apps Script에서는 일반적으로 스크립트에서 사용하는 서비스에 OAuth를 설정합니다. 일부 애플리케이션의 경우 OAuth 사용자 인증 정보 (클라이언트 ID 및 클라이언트 보안 비밀번호)를 추가로 만들어야 합니다. 표준 프로젝트에서만 이 작업을 수행할 수 있습니다.

스크립트 프로젝트의 클라이언트 ID와 클라이언트 보안 비밀번호를 만들려면 다음 안내를 따르세요.

  1. Cloud 프로젝트를 엽니다.
  2. 메뉴 > API 및 서비스 > 사용자 인증 정보를 클릭합니다.
  3. 사용자 인증 정보 만들기 > OAuth 클라이언트 ID를 클릭합니다.
  4. 애플리케이션 유형에서 애플리케이션 유형을 선택하고 필요한 경우 표시되는 양식을 작성합니다. 완료되면 만들기를 클릭합니다.
  5. 대화상자가 표시되면 JSON 다운로드를 클릭합니다. 이 파일을 사용하여 OAuth를 구성할 수 있습니다.

표준 Cloud 프로젝트에 소유자 추가

표준 프로젝트에 소유자나 다른 역할을 추가할 수 있습니다. 이렇게 하면 프로젝트에서 공동작업하는 경우 팀의 누군가가 항상 스크립트 프로젝트의 Google Cloud 설정에 액세스할 수 있습니다.

다음을 수행하여 표준 프로젝트에 소유자 또는 다른 역할을 추가할 수 있습니다. 다음 항목을 변경하려면 프로젝트에 대한 수정 권한이 있어야 합니다.

  1. 공동작업자를 정합니다. Google 그룹을 만들거나 기존 그룹을 사용하는 것이 좋습니다. 공동작업자 목록에 도메인을 지정하여 해당 도메인의 모든 사용자를 포함할 수도 있습니다.
  2. 스크립트의 Cloud 프로젝트를 엽니다.
  3. 메뉴 > IAM 및 관리자 > IAM을 클릭합니다.
  4. 상단에서 추가를 클릭합니다.
  5. 화면에 표시된 안내에 따라 하나 이상의 새 구성원과 해당 역할을 Cloud 프로젝트에 추가합니다. 개별 이메일, Google 그룹스 또는 도메인을 새 구성원으로 추가할 수 있습니다.
  6. 저장을 클릭합니다.

여러 스크립트를 단일 Cloud 프로젝트로 그룹화

여러 Apps Script 프로젝트에서 동일한 표준 Cloud 프로젝트를 공유하도록 할 수 있습니다. 이렇게 하려면 표준 프로젝트를 만든 다음 이를 사용할 각 스크립트 프로젝트를 전환합니다. 기본 프로젝트에서는 이 작업을 수행할 수 없습니다.

다른 표준 Cloud 프로젝트 사용

다른 표준 Cloud 프로젝트를 사용하도록 스크립트 프로젝트를 전환할 수 있습니다. 스크립트에 Cloud 프로젝트를 수동으로 구성해야 하는 경우 기본 프로젝트에서 표준 프로젝트로 전환해야 합니다. 표준 프로젝트를 사용해야 하는 경우에 대한 자세한 내용은 표준 Cloud 프로젝트를 참조하세요.

다른 표준 Cloud 프로젝트로 전환할 경우의 결과

스크립트를 기본 프로젝트에서 또는 다른 표준 프로젝트로 전환하면 다음과 같은 효과가 있습니다.

  • 스크립트에 대해 고급 서비스를 활성화한 경우 새 Cloud 프로젝트에서 해당 API를 사용 설정해야 합니다. 이전 Cloud 프로젝트의 고급 서비스와 연결된 데이터가 손실됩니다. Cloud 프로젝트에서 API를 사용 설정하는 방법을 알아보려면 Google Workspace API 사용 설정을 참조하세요.
  • 기본 제공 Google Drive 서비스를 스크립트에서 사용하는 경우 표준 클라우드 프로젝트에서 Drive API를 사용 설정해야 합니다.

    표준 Cloud 프로젝트에서 Drive API를 사용 설정합니다.

    Drive API 사용 설정하기

  • 이전에 스크립트를 승인한 모든 사용자는 다시 승인해야 합니다. 대부분의 경우 새 프로젝트와 관련하여 이전에 앱을 승인한 모든 사용자도 다시 승인해야 합니다.
  • 스크립트가 Google Workspace Marketplace의 앱 등록정보와 연결된 경우 앱 등록정보, 사용자, 리뷰가 새 프로젝트로 이전되지 않습니다. 개발자는 새 프로젝트 내에 앱 등록정보를 만들어야 하며, 사용자가 앱을 재설치해야 합니다. 새 앱 등록정보를 만드는 방법에 관한 자세한 내용은 앱 게시를 참고하세요.
  • 스크립트를 다시 기본 프로젝트로 전환할 수는 없습니다. 표준 프로젝트를 사용하도록 스크립트를 설정하면 Apps Script에서는 기본 프로젝트를 삭제합니다.

다른 표준 Cloud 프로젝트로 전환

스크립트의 기존 Cloud 프로젝트를 다른 Cloud 프로젝트로 전환하려면 다음 단계를 따르세요.

  1. 적절한 Cloud 프로젝트가 없으면 프로젝트 만들기 안내에 따라 프로젝트를 만듭니다. 기억하기 쉬운 프로젝트 이름을 설정하여 Google Cloud 콘솔 리소스 관리 페이지에서 찾을 수 있도록 합니다. Apps Script에서는 사용자에게 스크립트 승인을 요청할 때 이 이름을 사용합니다.
  2. 기존 프로젝트를 사용하려면 Google Cloud 콘솔 리소스 관리 페이지를 열고 사용할 기존 프로젝트를 찾습니다. 프로젝트에 대해 프로젝트 브라우저 및 OAuth 구성 편집자 역할 또는 이에 상응하는 권한을 가진 역할이 있어야 합니다. Apps Script에서 자동으로 생성된 프로젝트는 사용할 수 없습니다.
  3. Cloud 프로젝트의 프로젝트 번호를 확인합니다.
  4. Cloud 프로젝트를 교체하려는 스크립트를 엽니다.
  5. 왼쪽에서 프로젝트 설정 을 클릭합니다.
  6. Google Cloud Platform(GCP) 프로젝트에서 프로젝트 변경을 클릭합니다.
  7. 새 프로젝트 번호를 입력하고 프로젝트 설정을 클릭합니다.

클라우드 프로젝트 및 공유 드라이브

공유 드라이브 (이전의 팀 드라이브)는 드라이브 사용자 그룹이 Apps Script 프로젝트 및 드라이브 문서에서 공동작업할 수 있는 공유 공간을 제공합니다. 공유 드라이브는 팀과 함께 스크립트, 부가기능, 웹 앱을 개발할 때는 유용하지만 이전 기본 Cloud 프로젝트로 수행할 수 있는 작업에 몇 가지 제한사항이 있습니다.

다음 제한사항 목록에서는 Cloud 프로젝트와 공유 드라이브가 상호작용하는 방식을 설명합니다.

  • 스크립트 프로젝트가 표준 프로젝트를 사용하는 경우 스크립트 프로젝트가 공유 드라이브에 있으면 추가 제한이 없습니다.
  • 스크립트 프로젝트가 2019년 4월 8일 이후에 생성된 기본 프로젝트를 사용하는 경우 스크립트 프로젝트가 공유 드라이브에 있으면 추가 제한사항이 없습니다.
  • 스크립트 프로젝트가 2019년 4월 8일 이전에 생성된 기본 프로젝트를 사용하는 경우 스크립트 프로젝트가 공유 드라이브에 있는 동안 다음 제한사항이 적용됩니다.
    1. Apps Script UI 또는 Google Cloud 콘솔을 사용하여 기본 프로젝트에 액세스할 수 없습니다. 이 제한으로 인해 프로젝트에 직접 액세스해야 하는 작업을 수행할 수 없습니다.
    2. 고급 서비스는 활성화할 수 없습니다. 고급 서비스를 활성화하려면 표준 프로젝트로 전환하세요.
    3. 기존 Apps Script 프로젝트를 공유 드라이브로 이동하면 Google에서 기본 클라우드 프로젝트에 대한 액세스를 제한합니다. 이동하기 전에 액세스 권한이 있었다면 기본 프로젝트에 계속 액세스할 수 있습니다. 예를 들어 내 드라이브 폴더에 스크립트를 만든 후 공유 드라이브로 옮긴 경우 스크립트의 Cloud 프로젝트에 계속 액세스할 수 있습니다. 공유 드라이브의 공동작업자가 기능을 사용하지 못할 수도 있습니다.
    4. 스크립트는 공유 드라이브로 이동하기 전의 Cloud 프로젝트 이름을 유지합니다. 공유 드라이브에서 프로젝트 이름을 변경하더라도 스크립트를 승인하는 사용자의 승인 대화상자에는 이전 이름이 계속 표시됩니다.

이전 스크립트에 위와 같은 제한사항이 적용되지 않도록 하려면 표준 프로젝트로 전환하세요.

Apps Script 클라우드 프로젝트 목록 가져오기

조직의 Apps Script 프로젝트 폴더에 대한 resourcemanager.projects.list 권한이 있으면 폴더 내의 모든 표준 및 기본 Apps Script 클라우드 프로젝트를 볼 수 있습니다.

  1. Google Cloud 콘솔 리소스 관리 페이지를 엽니다.
  2. Apps Script 폴더 옆에 있는 ID를 복사합니다.
  3. 필터 > 상위 ID를 클릭하고 Apps Script 폴더 ID를 붙여넣습니다.

Apps Script 클라우드 프로젝트 삭제

Apps Script 클라우드 프로젝트를 삭제하려면 Apps Script 클라우드 프로젝트 목록 가져오기의 단계를 따르고 삭제할 프로젝트를 선택한 후 삭제를 클릭합니다.

gcloud를 사용하여 Apps Script 프로젝트를 삭제하려면 다음 명령어를 사용합니다.

gcloud projects list --filter='parent.id=APPS_SCRIPT_FOLDER_ID'
gcloud projects delete PROJECT_ID

클라우드 프로젝트 삭제에 대한 자세한 내용은 프로젝트 종료(삭제)를 참조하세요.