이 페이지에서는 Cloud Marketplace에서 상용 제품을 구입하고 관리하는 데 필요한 Identity and Access Management(IAM) 역할 및 권한에 대해 설명합니다.
IAM을 사용하면 누구 (ID)에게 무슨 리소스 에 대한 어떤 액세스 권한 (역할)이 있는지 정의하여 액세스 제어를 관리할 수 있습니다. Cloud Marketplace의 상용 앱의 경우 Google Cloud 조직의 사용자가 Cloud Marketplace 요금제에 가입하고 결제 요금제를 변경하려면 IAM 역할이 필요합니다.
시작하기 전에
gcloud를 사용하여 Cloud Marketplace 역할 및 권한을 부여하려면 gcloud CLI 를 설치하세요.
그렇지 않으면 Google Cloud 콘솔을 사용하여 역할을 부여해도 됩니다.
역할 구매 및 관리
Cloud Marketplace에서 서비스를 구매하는 사용자에게 결제 계정 관리자 IAM 역할을 할당하는 것이 좋습니다.
서비스에 액세스하려는 사용자에게는 최소한 뷰어 역할이 있어야 합니다.
OAuth 2.0 및 도메인 확인을 위한 관리 액세스 권한
Marketplace 솔루션에 OAuth 2.0 인증 또는 도메인 수준 구성(예: SaaS 통합)이 필요한 경우 프로젝트의 ID 및 보안 설정을 관리할 수 있는 관리 권한이 있어야 합니다.
시나리오
필수 권한 또는 역할
작업
관리 액세스 권한 다시 얻기
roles/resourcemanager.organizationAdmin
조직 수준에서 이 역할을 부여하여 프로젝트 소유자를 관리합니다.
승인된 도메인 확인
roles/cloudsecurityscanner.editor
이 역할을 사용하여 웹 보안 및 도메인 관련 구성을 관리합니다.
OAuth 인증 관리
roles/owner 또는 roles/editor
OAuth 동의 화면을 구성하고 검토를 위해 브랜딩을 제출합니다.
'도메인을 찾을 수 없음' 또는 응답하지 않는 홈페이지 URL과 같은 일반적인 인증 문제를 해결하려면 도메인이 Search Console 에서 인증되었고 개인정보처리방침에 공개적으로 액세스할 수 있는지 확인하세요. 본인 인증에 대한 자세한 내용은 본인 인증 을 참조하세요.
사용자 권한을 더 세밀하게 제어해야 할 경우 부여하려는 권한이 포함된 커스텀 역할을 만들 수 있습니다.
제품별 요구사항
Google Cloud 프로젝트에서 다음 서비스를 사용하려면 프로젝트 편집자 역할이 있어야 합니다.
Google Cloud Trifacta 제공 Dataprep
Neo4j Aura Professional
Redis Enterprise Cloud
IAM 역할 및 권한 목록
다음 IAM 역할 중 하나 이상을 사용자에게 부여할 수 있습니다.
사용자에게 부여하는 역할에 따라 Google Cloud 결제 계정, 조직 또는 프로젝트에 역할을 할당해야 합니다. 자세한 내용은 사용자에게 IAM 역할 부여 섹션을 참조하세요.
Role
Permissions
Consumer Procurement Entitlement Manager
(roles/consumerprocurement.entitlementManager )
Allows managing entitlements and enabling, disabling, and inspecting service states for a consumer
project.
commerceoffercatalog.offers.get
consumerprocurement.consents.check
consumerprocurement.consents.grant
consumerprocurement.consents.list
consumerprocurement.consents.revoke
consumerprocurement.entitlements.*
consumerprocurement.entitlements.get
consumerprocurement.entitlements.list
consumerprocurement.freeTrials.*
consumerprocurement.freeTrials.create
consumerprocurement.freeTrials.get
consumerprocurement.freeTrials.list
orgpolicy.policy.get
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.catalogs.listMembers
serviceusage.consumerpolicy.*
serviceusage.consumerpolicy.analyze
serviceusage.consumerpolicy.get
serviceusage.consumerpolicy.update
serviceusage.effectivepolicy.get
serviceusage.groups.*
serviceusage.groups.list
serviceusage.groups.listExpandedMembers
serviceusage.groups.listMembers
serviceusage.operations.get
serviceusage.services.disable
serviceusage.services.enable
serviceusage.services.get
serviceusage.services.list
serviceusage.services.listApis
serviceusage.services.listDependentServices
serviceusage.values.test
Consumer Procurement Entitlement Viewer
(roles/consumerprocurement.entitlementViewer )
Allows inspecting entitlements and service states for a consumer project.
commerceoffercatalog.offers.get
consumerprocurement.consents.check
consumerprocurement.consents.list
consumerprocurement.entitlements.*
consumerprocurement.entitlements.get
consumerprocurement.entitlements.list
consumerprocurement.freeTrials.get
consumerprocurement.freeTrials.list
orgpolicy.policy.get
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.catalogs.listMembers
serviceusage.consumerpolicy.analyze
serviceusage.consumerpolicy.get
serviceusage.effectivepolicy.get
serviceusage.groups.*
serviceusage.groups.list
serviceusage.groups.listExpandedMembers
serviceusage.groups.listMembers
serviceusage.services.get
serviceusage.services.list
serviceusage.services.listApis
serviceusage.services.listDependentServices
serviceusage.values.test
Consumer Procurement Events Viewer
(roles/consumerprocurement.eventsViewer )
Allows viewing key events for an offer
consumerprocurement.events.*
consumerprocurement.events.get
consumerprocurement.events.list
Consumer Procurement License Pool Editor
(roles/consumerprocurement.licensePoolEditor )
Allows managing license pools and license assignments.
consumerprocurement.licensePools.*
consumerprocurement.licensePools.assign
consumerprocurement.licensePools.enumerateLicensedUsers
consumerprocurement.licensePools.get
consumerprocurement.licensePools.unassign
consumerprocurement.licensePools.update
Consumer Procurement License Pool Viewer
(roles/consumerprocurement.licensePoolViewer )
Allows viewing license pools and license assignments.
consumerprocurement.licensePools.enumerateLicensedUsers
consumerprocurement.licensePools.get
Consumer Procurement Order Administrator
(roles/consumerprocurement.orderAdmin )
Allows managing purchases.
billing.accounts.get
billing.accounts.getIamPolicy
billing.accounts.list
billing.accounts.redeemPromotion
billing.credits.list
billing.resourceAssociations.create
commerceoffercatalog.*
commerceoffercatalog.agreements.get
commerceoffercatalog.agreements.list
commerceoffercatalog.documents.get
commerceoffercatalog.documents.list
commerceoffercatalog.offers.get
consumerprocurement.accounts.*
consumerprocurement.accounts.create
consumerprocurement.accounts.delete
consumerprocurement.accounts.get
consumerprocurement.accounts.list
consumerprocurement.consents.check
consumerprocurement.consents.grant
consumerprocurement.consents.list
consumerprocurement.consents.revoke
consumerprocurement.events.*
consumerprocurement.events.get
consumerprocurement.events.list
consumerprocurement.licensePools.*
consumerprocurement.licensePools.assign
consumerprocurement.licensePools.enumerateLicensedUsers
consumerprocurement.licensePools.get
consumerprocurement.licensePools.unassign
consumerprocurement.licensePools.update
consumerprocurement.orderAttributions.*
consumerprocurement.orderAttributions.get
consumerprocurement.orderAttributions.list
consumerprocurement.orderAttributions.update
consumerprocurement.orders.*
consumerprocurement.orders.cancel
consumerprocurement.orders.get
consumerprocurement.orders.list
consumerprocurement.orders.modify
consumerprocurement.orders.place
discoveryengine.billingAccountLicenseConfigs.*
discoveryengine.billingAccountLicenseConfigs.distribute
discoveryengine.billingAccountLicenseConfigs.get
discoveryengine.billingAccountLicenseConfigs.list
discoveryengine.billingAccountLicenseConfigs.retract
Consumer Procurement Order Viewer
(roles/consumerprocurement.orderViewer )
Allows inspecting purchases.
billing.accounts.get
billing.accounts.getIamPolicy
billing.accounts.list
billing.credits.list
commerceoffercatalog.*
commerceoffercatalog.agreements.get
commerceoffercatalog.agreements.list
commerceoffercatalog.documents.get
commerceoffercatalog.documents.list
commerceoffercatalog.offers.get
consumerprocurement.accounts.get
consumerprocurement.accounts.list
consumerprocurement.consents.check
consumerprocurement.consents.list
consumerprocurement.licensePools.enumerateLicensedUsers
consumerprocurement.licensePools.get
consumerprocurement.orderAttributions.get
consumerprocurement.orderAttributions.list
consumerprocurement.orders.get
consumerprocurement.orders.list
discoveryengine.billingAccountLicenseConfigs.get
discoveryengine.billingAccountLicenseConfigs.list
Consumer Procurement Administrator
(roles/consumerprocurement.procurementAdmin )
Allows managing purchases, consents at both billing account and project level.
billing.accounts.get
billing.accounts.getIamPolicy
billing.accounts.list
billing.accounts.redeemPromotion
billing.credits.list
billing.resourceAssociations.create
commerceoffercatalog.*
commerceoffercatalog.agreements.get
commerceoffercatalog.agreements.list
commerceoffercatalog.documents.get
commerceoffercatalog.documents.list
commerceoffercatalog.offers.get
consumerprocurement.*
consumerprocurement.accounts.create
consumerprocurement.accounts.delete
consumerprocurement.accounts.get
consumerprocurement.accounts.list
consumerprocurement.consents.allowProjectGrant
consumerprocurement.consents.check
consumerprocurement.consents.grant
consumerprocurement.consents.list
consumerprocurement.consents.revoke
consumerprocurement.entitlements.get
consumerprocurement.entitlements.list
consumerprocurement.events.get
consumerprocurement.events.list
consumerprocurement.freeTrials.create
consumerprocurement.freeTrials.get
consumerprocurement.freeTrials.list
consumerprocurement.licensePools.assign
consumerprocurement.licensePools.enumerateLicensedUsers
consumerprocurement.licensePools.get
consumerprocurement.licensePools.unassign
consumerprocurement.licensePools.update
consumerprocurement.orderAttributions.get
consumerprocurement.orderAttributions.list
consumerprocurement.orderAttributions.update
consumerprocurement.orders.cancel
consumerprocurement.orders.get
consumerprocurement.orders.list
consumerprocurement.orders.modify
consumerprocurement.orders.place
discoveryengine.billingAccountLicenseConfigs.*
discoveryengine.billingAccountLicenseConfigs.distribute
discoveryengine.billingAccountLicenseConfigs.get
discoveryengine.billingAccountLicenseConfigs.list
discoveryengine.billingAccountLicenseConfigs.retract
orgpolicy.policy.get
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.catalogs.listMembers
serviceusage.consumerpolicy.*
serviceusage.consumerpolicy.analyze
serviceusage.consumerpolicy.get
serviceusage.consumerpolicy.update
serviceusage.effectivepolicy.get
serviceusage.groups.*
serviceusage.groups.list
serviceusage.groups.listExpandedMembers
serviceusage.groups.listMembers
serviceusage.operations.get
serviceusage.services.disable
serviceusage.services.enable
serviceusage.services.get
serviceusage.services.list
serviceusage.services.listApis
serviceusage.services.listDependentServices
serviceusage.values.test
Consumer Procurement Viewer
(roles/consumerprocurement.procurementViewer )
Allows inspecting purchases, consents and entitlements and service states for a consumer project.
billing.accounts.get
billing.accounts.getIamPolicy
billing.accounts.list
billing.credits.list
commerceoffercatalog.*
commerceoffercatalog.agreements.get
commerceoffercatalog.agreements.list
commerceoffercatalog.documents.get
commerceoffercatalog.documents.list
commerceoffercatalog.offers.get
consumerprocurement.accounts.get
consumerprocurement.accounts.list
consumerprocurement.consents.check
consumerprocurement.consents.list
consumerprocurement.entitlements.*
consumerprocurement.entitlements.get
consumerprocurement.entitlements.list
consumerprocurement.freeTrials.get
consumerprocurement.freeTrials.list
consumerprocurement.licensePools.enumerateLicensedUsers
consumerprocurement.licensePools.get
consumerprocurement.orderAttributions.get
consumerprocurement.orderAttributions.list
consumerprocurement.orders.get
consumerprocurement.orders.list
discoveryengine.billingAccountLicenseConfigs.get
discoveryengine.billingAccountLicenseConfigs.list
orgpolicy.policy.get
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.catalogs.listMembers
serviceusage.consumerpolicy.analyze
serviceusage.consumerpolicy.get
serviceusage.effectivepolicy.get
serviceusage.groups.*
serviceusage.groups.list
serviceusage.groups.listExpandedMembers
serviceusage.groups.listMembers
serviceusage.services.get
serviceusage.services.list
serviceusage.services.listApis
serviceusage.services.listDependentServices
serviceusage.values.test
사용자에게 IAM 역할 부여
이전 표 의 역할에서 consumerprocurement.orderAdmin 및 consumerprocurement.orderViewer 역할은 결제 계정 또는 조직 수준에서 할당되어야 하며 consumerprocurement.entitlementManager 및 consumerprocurement.entitlementViewer 역할은 프로젝트 또는 조직 수준에서 할당되어야 합니다.
gcloud를 사용하여 사용자에게 역할을 부여하려면 다음 명령어 중 하나를 실행합니다.
조직 조직 수준에서 역할을 할당하려면 resourcemanager.organizationAdmin 역할이 있어야 합니다.
gcloud organizations add-iam-policy-binding organization-id \
--member= member --role= role-id
자리표시자 값은 다음과 같습니다.
organization-id : 역할을 부여할 조직의 숫자 ID입니다.
member : 액세스 권한을 부여할 사용자입니다.
role-id : 이전 표의 역할 ID입니다.
결제 계정 결제 계정 수준에서 역할을 할당하려면 billing.admin 역할이 있어야 합니다.
gcloud beta billing accounts set-iam-policy account-id \
policy-file
자리표시자 값은 다음과 같습니다.
account-id : 결제 계정 관리 페이지 에서 가져올 수 있는 결제 계정 ID입니다.
policy-file : JSON 또는 YAML 형식의 IAM 정책 파일 입니다.
정책 파일에는 이전 표의 역할 ID와 역할을 할당할 사용자가 포함되어야 합니다.
프로젝트 프로젝트 수준에서 역할을 할당하려면 resourcemanager.folderAdmin 역할이 있어야 합니다.
gcloud projects add-iam-policy-binding project-id \
--member= member --role= role-id
자리표시자 값은 다음과 같습니다.
project-id : 역할을 부여할 프로젝트입니다.
member : 액세스 권한을 부여할 사용자입니다.
role-id : 이전 표의 역할 ID입니다.
Google Cloud 콘솔을 사용하여 사용자에게 역할을 부여하려면 사용자에 대한 액세스 권한 부여, 변경, 취소 에 관한 IAM 문서를 참조하세요.
Cloud Marketplace로 커스텀 역할 사용
사용자에게 부여하는 권한을 세밀하게 제어하려면 부여할 권한이 포함된 커스텀 역할을 만들 수 있습니다.
Cloud Marketplace에서 서비스를 구매하는 사용자를 위한 커스텀 역할을 만드는 경우 역할에는 서비스를 구매하는 데 사용하는 결제 계정에 대한 다음 권한이 포함되어야 합니다.
싱글 사인온(SSO)으로 파트너 웹사이트에 액세스
특정 Cloud Marketplace API 제품은 파트너의 외부 웹사이트에 대한 싱글 사인온(SSO)을 지원합니다. 조직 내 승인된 사용자는 제품 세부정보 페이지에서 '제공업체에서 관리' 버튼에 액세스할 수 있습니다. 이 버튼은 사용자를 파트너의 웹사이트로 안내합니다. 경우에 따라 사용자에게 'Google 계정으로 로그인' 메시지가 표시됩니다. 다른 경우에는 사용자가 공유 계정 컨텍스트에 로그인됩니다.
SSO 기능에 액세스하는 경우 사용자는 제품 세부정보 페이지로 이동하여 적절한 프로젝트를 선택합니다. 프로젝트는 요금제를 구매한 결제 계정에 연결되어 있어야 합니다. Cloud Marketplace API 요금제 관리에 대한 자세한 내용은 요금제 관리 를 참조하세요.
또한 사용자는 선택한 프로젝트 내에서 충분한 IAM 권한을 가지고 있어야 합니다. 대부분의 제품에는 roles/consumerprocurement.entitlementManager (또는 roles/editor 기본 역할 )이 필요합니다.
특정 제품에 대한 최소 권한
다음 제품은 SSO 기능에 액세스하기 위해 다양한 권한 집합으로 작동할 수 있습니다.
Confluent Cloud의 Apache Kafka
Apache Cassandra용 DataStax Astra
Elastic Cloud
Neo4j Aura Professional
Redis Enterprise Cloud
이러한 제품의 경우 다음과 같은 최소 권한을 사용할 수 있습니다.
consumerprocurement.entitlements.get
consumerprocurement.entitlements.list
serviceusage.services.get
serviceusage.services.list
resourcemanager.projects.get
이러한 권한은 일반적으로 roles/consumerprocurement.entitlementManager 또는 roles/consumerprocurement.entitlementViewer 역할과 함께 부여됩니다.