Controlo de acesso com a IAM

Esta página descreve as funções e as autorizações da Identity and Access Management (IAM) de que precisa para comprar e gerir produtos comerciais no Cloud Marketplace.

Com a IAM, gere o controlo de acesso definindo quem (identidade) tem que acesso (função) para que recurso. Para apps comerciais no Cloud Marketplace, os utilizadores na sua Google Cloud organização precisam de funções de IAM para se inscreverem em planos do Cloud Marketplace e para fazerem alterações aos planos de faturação.

Antes de começar

  • Para conceder funções e autorizações do Cloud Marketplace através da gcloud, instale a CLI gcloud. Caso contrário, pode conceder funções através da Google Cloud consola.

Funções de IAM para comprar e gerir produtos

Recomendamos que atribua a função de IAM de administrador da conta de faturação aos utilizadores que estão a comprar serviços no Cloud Marketplace.

Os utilizadores que pretendam aceder aos serviços têm de ter, pelo menos, a função de Leitor.

Para um controlo mais detalhado sobre as autorizações dos utilizadores, pode criar funções personalizadas com as autorizações que quer conceder.

Requisitos específicos do produto

Para usar os seguintes serviços num Google Cloud projeto, tem de ter a função Editor do projeto:

  • Google Cloud Dataprep by Trifacta
  • Neo4j Aura Professional

Lista de funções e autorizações de IAM

Pode conceder aos utilizadores uma ou mais das seguintes funções de IAM. Consoante a função que está a conceder aos utilizadores, também tem de atribuir a função a uma Google Cloud conta de faturação, organização ou projeto. Para obter detalhes, consulte a secção sobre Conceder funções de IAM aos utilizadores.

Role Permissions

(roles/commercebusinessenablement.admin)

Admin of Various Provider Configuration resources

bigquery.datasets.create

bigquery.datasets.get

bigquery.datasets.update

commercebusinessenablement.leadgenConfig.*

  • commercebusinessenablement.leadgenConfig.get
  • commercebusinessenablement.leadgenConfig.update

commercebusinessenablement.partnerAccounts.*

  • commercebusinessenablement.partnerAccounts.get
  • commercebusinessenablement.partnerAccounts.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.resellerConfig.*

  • commercebusinessenablement.resellerConfig.get
  • commercebusinessenablement.resellerConfig.update

commercebusinessenablement.resellerRestrictions.*

  • commercebusinessenablement.resellerRestrictions.list
  • commercebusinessenablement.resellerRestrictions.update

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

serviceusage.services.enable

serviceusage.services.get

(roles/commercebusinessenablement.paymentConfigAdmin)

Administration of Payment Configuration resource

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.paymentConfig.*

  • commercebusinessenablement.paymentConfig.get
  • commercebusinessenablement.paymentConfig.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/commercebusinessenablement.paymentConfigViewer)

Viewer of Payment Configuration resource

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.paymentConfig.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/commercebusinessenablement.rebatesAdmin)

Provides admin access to rebates

commercebusinessenablement.operations.*

  • commercebusinessenablement.operations.cancel
  • commercebusinessenablement.operations.delete
  • commercebusinessenablement.operations.get
  • commercebusinessenablement.operations.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.refunds.*

  • commercebusinessenablement.refunds.cancel
  • commercebusinessenablement.refunds.create
  • commercebusinessenablement.refunds.delete
  • commercebusinessenablement.refunds.get
  • commercebusinessenablement.refunds.list
  • commercebusinessenablement.refunds.start
  • commercebusinessenablement.refunds.update

(roles/commercebusinessenablement.rebatesViewer)

Provides read-only access to rebates

commercebusinessenablement.operations.get

commercebusinessenablement.operations.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.refunds.get

commercebusinessenablement.refunds.list

(roles/commercebusinessenablement.resellerDiscountAdmin)

Provides admin access to reseller discount offers

commercebusinessenablement.partnerAccounts.*

  • commercebusinessenablement.partnerAccounts.get
  • commercebusinessenablement.partnerAccounts.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.resellerConfig.get

commercebusinessenablement.resellerDiscountConfig.get

commercebusinessenablement.resellerDiscountOffers.*

  • commercebusinessenablement.resellerDiscountOffers.cancel
  • commercebusinessenablement.resellerDiscountOffers.create
  • commercebusinessenablement.resellerDiscountOffers.list

commercebusinessenablement.resellerPrivateOfferPlans.*

  • commercebusinessenablement.resellerPrivateOfferPlans.cancel
  • commercebusinessenablement.resellerPrivateOfferPlans.create
  • commercebusinessenablement.resellerPrivateOfferPlans.delete
  • commercebusinessenablement.resellerPrivateOfferPlans.get
  • commercebusinessenablement.resellerPrivateOfferPlans.list
  • commercebusinessenablement.resellerPrivateOfferPlans.publish
  • commercebusinessenablement.resellerPrivateOfferPlans.update

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/commercebusinessenablement.resellerDiscountViewer)

Provides read-only access to reseller discount offers

commercebusinessenablement.partnerAccounts.*

  • commercebusinessenablement.partnerAccounts.get
  • commercebusinessenablement.partnerAccounts.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.resellerConfig.get

commercebusinessenablement.resellerDiscountConfig.get

commercebusinessenablement.resellerDiscountOffers.list

commercebusinessenablement.resellerPrivateOfferPlans.get

commercebusinessenablement.resellerPrivateOfferPlans.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/commercebusinessenablement.viewer)

Viewer of Various Provider Configuration resource

commercebusinessenablement.leadgenConfig.get

commercebusinessenablement.partnerAccounts.*

  • commercebusinessenablement.partnerAccounts.get
  • commercebusinessenablement.partnerAccounts.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.resellerConfig.get

commercebusinessenablement.resellerRestrictions.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

Conceder funções do IAM aos utilizadores

Das funções na tabela acima, as funções consumerprocurement.orderAdmin e consumerprocurement.orderViewer têm de ser atribuídas ao nível da conta de faturação ou da organização, e as funções consumerprocurement.entitlementManager e consumerprocurement.entitlementViewer têm de ser atribuídas ao nível do projeto ou da organização.

Para conceder funções a utilizadores através do gcloud, execute um dos seguintes comandos:

Organização

Tem de ter a função resourcemanager.organizationAdmin para atribuir funções ao nível da organização.

gcloud organizations add-iam-policy-binding organization-id \
--member=member --role=role-id

Os valores dos marcadores de posição são:

  • organization-id: o ID numérico da organização à qual está a conceder a função.
  • member: o utilizador ao qual está a conceder acesso.
  • role-id: o ID da função, da tabela anterior.

Conta de faturação

Tem de ter a função billing.admin para atribuir funções ao nível da conta de faturação.

gcloud beta billing accounts set-iam-policy account-id \
policy-file

Os valores dos marcadores de posição são:

Projeto

Tem de ter a função resourcemanager.folderAdmin para atribuir funções ao nível do projeto.

gcloud projects add-iam-policy-binding project-id \
--member=member --role=role-id

Os valores dos marcadores de posição são:

  • project-id: o projeto para o qual está a conceder a função.
  • member: o utilizador ao qual está a conceder acesso.
  • role-id: o ID da função, da tabela anterior.

Para conceder funções a utilizadores através da Google Cloud consola, consulte a documentação do IAM sobre como conceder, alterar e revogar o acesso de utilizadores.

Usar funções personalizadas com o Cloud Marketplace

Se quiser um controlo detalhado sobre as autorizações que concede aos utilizadores, pode criar funções personalizadas com as autorizações que quer conceder.

Se estiver a criar uma função personalizada para utilizadores que compram serviços no Cloud Marketplace, a função tem de incluir estas autorizações para a conta de faturação que usam para comprar serviços:

Aceder a Websites de parceiros com o Início de sessão único (SSO)

Determinados produtos do Marketplace suportam o início de sessão único (SSO) no Website externo de um parceiro. Os utilizadores autorizados na organização têm acesso a um botão "GERIR NO FORNECEDOR" na página de detalhes do produto. Este botão direciona os utilizadores para o Website do parceiro. Em alguns casos, é pedido aos utilizadores que "Iniciem sessão com o Google". Noutros casos, os utilizadores têm sessão iniciada num contexto de conta partilhada.

Para aceder à capacidade de SSO, os utilizadores navegam para a página de detalhes do produto e selecionam um projeto adequado. O projeto tem de estar associado a uma conta de faturação onde o plano foi comprado. Para ver detalhes sobre a gestão de planos do Marketplace, consulte o artigo Gerir planos de faturação.

Além disso, o utilizador tem de ter autorizações da IAM suficientes no projeto selecionado. Para a maioria dos produtos, a roles/consumerprocurement.entitlementManager (ou a roles/editor função básica) é atualmente obrigatória.

Autorizações mínimas para produtos específicos

Os seguintes produtos podem funcionar com um conjunto diferente de autorizações para aceder às capacidades de SSO:

  • Apache Kafka no Confluent Cloud
  • DataStax Astra para Apache Cassandra
  • Elastic Cloud
  • Neo4j Aura Professional
  • Redis Enterprise Cloud

Para estes produtos, pode usar as seguintes autorizações mínimas:

  • consumerprocurement.entitlements.get
  • consumerprocurement.entitlements.list
  • serviceusage.services.get
  • serviceusage.services.list
  • resourcemanager.projects.get

Normalmente, estas autorizações são concedidas com as funções roles/consumerprocurement.entitlementManager ou roles/consumerprocurement.entitlementViewer.