프로젝트 액세스 권한 부여

역할을 할당하여 Google Cloud Platform 프로젝트와 리소스에 액세스 권한을 부여하고 제어합니다. 프로젝트 구성원과 서비스 계정에 역할을 할당할 수 있습니다.

서비스 계정은 App Engine과 같은 Google Cloud 서비스 ID를 나타내며 다른 서비스에 액세스하는 데 사용될 수 있습니다. App Engine에서 서비스 계정이 사용되는 방법에 대한 자세한 내용은 앱 승인을 참조하세요.

올바른 액세스 제어 선택

프로젝트 구성원과 서비스 계정에 역할을 할당하여 GCP 프로젝트에 대한 액세스 수준을 정의합니다. IAM(ID 및 액세스 관리) 역할을 사용하여 액세스를 보다 세부적으로 제어할 수 있습니다. 다양한 App Engine 역할에 대한 자세한 내용은 액세스 제어를 참조하세요.

일반적으로 소유자, 편집자, 뷰어 같은 기본 역할이 더 사용하기 간편하지만, 사전 정의된 역할을 사용하면 액세스를 보다 세부적으로 제어할 수 있습니다. 아직 App Engine을 시험 중인 단계라면 아래 권한 설정의 안내에 따라 프로젝트와 관련된 모든 사용자에게 편집자 역할을 부여하는 것이 가장 간단하게 액세스를 제어하는 방법입니다. 소유자만 프로젝트에서 App Engine 애플리케이션을 만들고 다른 사용자를 프로젝트에 추가할 수 있다는 점을 기억하세요.

프로젝트에 보다 복잡한 역할을 할당할 준비가 되면 다음 단계를 따르세요.

  1. 프로젝트에 액세스해야 하는 모든 직무를 확인합니다.

  2. 직무별로 Google 그룹을 설정합니다.

  3. 각 Google 그룹에 원하는 대로 구성원을 추가합니다.

  4. 아래 권한 설정의 안내에 따라 각 Google 그룹을 프로젝트 구성원으로 추가하고 각 그룹에 역할을 설정합니다.

권한 설정

프로젝트 구성원을 추가하고 권한을 설정하려면 다음 단계를 따르세요.

  1. Google Cloud Platform 콘솔에서 프로젝트의 IAM 및 관리자 권한 페이지로 이동합니다.

    IAM 및 관리자 권한 페이지로 이동

  2. 구성원 추가를 클릭하여 새 구성원을 프로젝트에 추가하고 드롭다운 메뉴를 사용하여 역할을 설정합니다. 개별 사용자 이메일을 추가하거나 Google 그룹스를 사용하여 그룹 역할을 관리하는 경우 Google 그룹 이메일(example-google-group@googlegroups.com)을 제공할 수 있습니다.

    그룹 추가

  3. 역할을 할당합니다.

모든 App Engine 역할에 대한 설명과 비교 표를 확인하고 제한사항을 읽어보려면 액세스 제어로 이동하세요.

드롭다운 메뉴에는 다른 Google Cloud Platform 제품에 적용되는 역할도 있습니다. 이러한 역할에 대한 자세한 내용은 사전 정의된 역할을 참조하세요.

IAM 역할을 사용한 배포

적절한 IAM 역할을 사용자 계정에 할당하여 새 버전의 앱을 GCP 프로젝트에 배포하는 권한을 부여할 수 있습니다.

App Engine 배포자 역할은 앱 배포만 담당하는 사용자 계정에 권장되는 역할입니다. App Engine 관리자 역할도 앱을 배포할 수 있지만 추가 권한까지 허용됩니다. 배포해야 하는 구성 파일에 따라 아래 단계의 설명대로 계정에 추가 역할을 부여해야 할 수도 있습니다.

트래픽 구성

기본적으로 App Engine 배포자 역할이 있는 사용자 계정은 트래픽을 어떠한 버전의 앱으로도 이전하거나 분할할 수 없습니다. 하지만 배포 대상이 현재 트래픽을 처리하고 있는 기존 버전이라면 해당 앱의 업데이트된 버전은 덮어쓴 버전의 원래 트래픽 설정을 유지합니다.

예를 들어 버전 20201155example이 현재 앱에서 트래픽을 처리하고 있는 경우 gcloud app deploy --version 20201155example 명령어를 실행하면 업데이트된 버전이 기존 버전을 덮어쓴 후 트래픽을 처리하기 시작합니다.

사용자 계정이 트래픽 구성을 담당해야 한다면 App Engine 관리자 또는 App Engine 서비스 관리자 역할을 사용해 보세요.

시작하기 전에

사용자 계정이 IAM 역할을 사용하여 앱을 배포하기 전에 다음을 수행해야 합니다.

사용자 계정에 App Engine 배포 권한을 부여하려면 다음 단계를 따르세요.

  1. Google Cloud Platform 콘솔에서 프로젝트의 IAM 및 관리자 권한 페이지로 이동합니다.

    권한 페이지로 이동

  2. 구성원 추가를 클릭하여 사용자 계정을 프로젝트에 추가한 후 드롭다운 메뉴를 사용하여 해당 계정의 모든 역할을 선택합니다.

    • 계정이 App Engine에 배포할 수 있도록 허용하기 위한 필수 역할은 다음과 같습니다.
      1. 계정에 다음 역할 중 하나를 부여합니다.
        • App Engine > App Engine 배포자 역할을 사용하여 계정이 앱 버전을 배포할 수 있도록 허용합니다.
        • dos.yaml 또는 dispatch.yaml 파일도 앱과 함께 배포되도록 허용하려면 App Engine > App Engine 관리자 역할을 대신 사용합니다.
        이제 사용자 계정에 Admin API로 앱을 배포할 수 있는 적절한 권한이 생겼습니다.
      2. App Engine 도구를 사용하여 앱을 배포할 수 있도록 허용하려면 사용자 계정에 다음 역할도 모두 부여해야 합니다.
        • Storage > Storage 관리자 역할: Cloud Storage에 업로드하기 위한 도구 권한
        • Container Builder > Cloud Container Builder 편집자 역할: Container Builder 서비스를 사용하기 위한 도구 권한.
          이 역할이 표시되지 않으면 먼저 Container Builder API를 사용 설정해야 합니다.
          API 라이브러리 페이지로 이동
    • 선택사항. 추가 구성 변경 사항을 업로드할 수 있는 권한을 부여하려면 다음 역할을 사용자 계정에 부여합니다.
      • Datastore > Datastore 색인 관리자 역할: index.yaml 파일을 업로드하기 위한 권한
      • Cloud 스케줄러 > Cloud 스케줄러 관리자 역할: cron.yaml 파일을 업로드하기 위한 권한
      • 사용자 계정이 기본 네트워킹 구성에 변경 사항을 배포할 수 있도록 허용하려면 Compute Engine> Compute 네트워크 관리자 역할과 같이 적절한 권한이 있는 역할을 계정에 부여해야 합니다.

이제 사용자 계정은 연결된 GCP 프로젝트에서 App Engine 애플리케이션에 앱을 배포할 수 있습니다. 앱 배포 방법에 대한 자세한 내용은 앱 배포를 참조하세요.

위 안내에 따라 권한을 구성했지만 계정이 앱을 배포할 수 없는 경우, 다음 단계를 따라 GCP 프로젝트가 제대로 구성되었는지 확인합니다.

기본적으로 새 GCP 프로젝트를 만들어 App Engine 가변형 환경에서 사용 설정하면 앱 배포에 필요한 모든 권한 및 API와 함께 프로젝트가 생성됩니다. 하지만 권한 또는 API 중 한 개 이상을 프로젝트 설정을 통해 삭제할 수 있습니다. 이 안내에서는 배포 실패가 발생하면 확인해야 할 사항을 보여줍니다.

GCP 프로젝트에 다음 항목이 있거나 사용 설정되어 있는지 확인합니다.

  1. App Engine 애플리케이션이 생성되고 결제가 사용 설정되었습니다.

  2. GCP 콘솔에서 다음 API가 사용 설정되었습니다.

    1. Google App Engine 가변형 환경

      API 라이브러리 페이지로 이동

    2. Google Cloud Container Builder API:

      API 라이브러리 페이지로 이동

  3. GCP 콘솔의 IAM 및 관리자 페이지에서 Google Cloud Container Builder에서 사용되는 Google API 서비스 계정인 [PROJECT_NUMBER]>@cloudbuild.gserviceaccount.com에 편집자 권한이 있는지 확인합니다. 서비스 계정에 staging.[PROJECT_ID].appspot.com 버킷에 쓸 수 있는 권한이 있어야 Cloud Container Builder용 파일을 준비할 수 있습니다. 기본적으로 이 서비스 계정에는 프로젝트에 대한 편집자 역할이 있으므로, 이 서비스 계정의 역할을 변경한 경우에만 여기에서 변경 작업을 수행해야 합니다.

    서비스 계정 페이지로 이동

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

App Engine flexible environment for Python docs