Controle de acesso com o IAM

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Nesta página, descrevemos os papéis e permissões de gerenciamento de identidade e acesso (IAM) necessários para comprar e gerenciar produtos comerciais no Cloud Marketplace.

O IAM permite gerenciar o controle de acesso ao definir quem (identidade) tem qual acesso (papel) a que recurso. Para aplicativos comerciais no Cloud Marketplace, os usuários na sua organização do Google Cloud precisam de papéis do IAM para se inscrever em planos do Cloud Marketplace e fazer alterações nos planos de faturamento.

Antes de começar

  • Para conceder papéis e permissões do Cloud Marketplace usando gcloud, instale a CLI gcloud. Caso contrário, é possível conceder papéis usando o Console do Google Cloud.

Papéis do IAM para compra e gerenciamento de produtos

Recomendamos que você atribua o papel do IAM de administrador de faturamento (roles/billing.admin) aos usuários que estão comprando serviços do Cloud Marketplace.

Os usuários que querem acessar os serviços precisam ter, no mínimo, o papel de Leitor do projeto (roles/viewer).

Se precisar de um controle mais granular sobre as permissões dos usuários, crie papéis personalizados com as permissões que você quer conceder.

Lista de papéis e permissões do IAM

É possível conceder aos usuários um ou mais dos papéis do IAM a seguir. Dependendo do papel que você está concedendo aos usuários, é necessário atribuir o papel a uma conta, organização ou projeto de faturamento do Google Cloud. Para detalhes, consulte a seção Como conceder papéis do IAM aos usuários.

Papel Permissões

(roles/commercebusinessenablement.admin)

Administrador de vários recursos de configuração do provedor

commercebusinessenablement.leadgenConfig.*

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

resourcemanager.projects.get

resourcemanager.projects.list

(roles/commercebusinessenablement.paymentConfigAdmin)

Administração do recurso de configuração de pagamento

commercebusinessenablement.paymentConfig.*

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

resourcemanager.projects.get

resourcemanager.projects.list

(roles/commercebusinessenablement.paymentConfigViewer)

Visualizador do recurso de configuração de pagamento

commercebusinessenablement.paymentConfig.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/commercebusinessenablement.viewer)

Leitor de vários recursos de configuração do provedor

commercebusinessenablement.leadgenConfig.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/commerceoffercatalog.offersViewer)

Permite visualizar ofertas

commerceoffercatalog.*

  • commerceoffercatalog.documents.get
  • commerceoffercatalog.offers.get

(roles/commercepricemanagement.privateOffersAdmin)

Permite gerenciar ofertas privadas

commerceprice.*

  • commerceprice.privateoffers.cancel
  • commerceprice.privateoffers.create
  • commerceprice.privateoffers.delete
  • commerceprice.privateoffers.get
  • commerceprice.privateoffers.list
  • commerceprice.privateoffers.publish
  • commerceprice.privateoffers.update

resourcemanager.projects.get

resourcemanager.projects.list

serviceusage.services.get

serviceusage.services.list

(roles/commercepricemanagement.viewer)

Permite visualizar ofertas, avaliações gratuitas e SKUs.

commerceprice.privateoffers.get

commerceprice.privateoffers.list

resourcemanager.projects.get

resourcemanager.projects.list

serviceusage.services.get

serviceusage.services.list

(roles/consumerprocurement.entitlementManager)

Permite gerenciar direitos e ativar, desativar e inspecionar estados de serviço em um projeto de consumidor.

consumerprocurement.entitlements.*

  • consumerprocurement.entitlements.get
  • consumerprocurement.entitlements.list

consumerprocurement.freeTrials.*

  • consumerprocurement.freeTrials.create
  • consumerprocurement.freeTrials.get
  • consumerprocurement.freeTrials.list

resourcemanager.projects.get

resourcemanager.projects.list

serviceusage.operations.get

serviceusage.services.disable

serviceusage.services.enable

serviceusage.services.get

serviceusage.services.list

(roles/consumerprocurement.entitlementViewer)

Permite inspecionar direitos e estados de serviço para um projeto de consumidor.

consumerprocurement.entitlements.*

  • consumerprocurement.entitlements.get
  • consumerprocurement.entitlements.list

consumerprocurement.freeTrials.get

consumerprocurement.freeTrials.list

resourcemanager.projects.get

resourcemanager.projects.list

serviceusage.services.get

serviceusage.services.list

(roles/consumerprocurement.orderAdmin)

Permite gerenciar compras.

Contém seis permissões de proprietário

billing.accounts.get

billing.accounts.getIamPolicy

billing.accounts.list

billing.accounts.redeemPromotion

billing.credits.list

billing.resourceAssociations.create

commerceoffercatalog.*

  • commerceoffercatalog.documents.get
  • commerceoffercatalog.offers.get

consumerprocurement.accounts.*

  • consumerprocurement.accounts.create
  • consumerprocurement.accounts.delete
  • consumerprocurement.accounts.get
  • consumerprocurement.accounts.list

consumerprocurement.consents.*

  • consumerprocurement.consents.check
  • consumerprocurement.consents.grant
  • consumerprocurement.consents.list
  • consumerprocurement.consents.revoke

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

(roles/consumerprocurement.orderViewer)

Permite inspecionar compras.

Contém quatro permissões de proprietário

billing.accounts.get

billing.accounts.getIamPolicy

billing.accounts.list

billing.credits.list

commerceoffercatalog.*

  • commerceoffercatalog.documents.get
  • commerceoffercatalog.offers.get

consumerprocurement.accounts.get

consumerprocurement.accounts.list

consumerprocurement.consents.check

consumerprocurement.consents.list

consumerprocurement.orderAttributions.get

consumerprocurement.orderAttributions.list

consumerprocurement.orders.get

consumerprocurement.orders.list

Como conceder papéis do IAM aos usuários

Com base nas funções na tabela acima, os papéis consumerprocurement.orderAdmin e consumerprocurement.orderViewer precisam ser atribuídos no nível da conta de faturamento ou da organização, e os papéis consumerprocurement.entitlementManager e consumerprocurement.entitlementViewer precisam ser atribuídos no nível do projeto ou da organização.

Para conceder papéis a usuários usando gcloud, execute um dos seguintes comandos:

Organização

Você precisa ter o papel resourcemanager.organizationAdmin para atribuir papéis no nível da organização.

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

Os valores do marcador são:

  • organization-id: o ID numérico da organização para a qual você está concedendo o papel.
  • member: o usuário a que você está concedendo acesso.
  • role-id: o ID do papel da tabela anterior.

Conta de faturamento

Você precisa ter o papel billing.admin para atribuir papéis no nível da conta de faturamento.

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

Os valores do marcador são:

Projeto

Você precisa ter o papel resourcemanager.folderAdmin para atribuir papéis no nível do projeto.

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

Os valores do marcador são:

  • project-id: o projeto que você está concedendo ao papel.
  • member: o usuário a que você está concedendo acesso.
  • role-id: o ID do papel da tabela anterior.

Para conceder papéis aos usuários usando o Console do Google Cloud, consulte a documentação do IAM sobre Como conceder, alterar e revogar acesso de usuários.

Como usar papéis personalizados com o Cloud Marketplace

Para ter um controle granular sobre as permissões que você concede aos usuários, crie papéis personalizados com as permissões que você quer conceder.

Se você estiver criando um papel personalizado para usuários que compram serviços do Cloud Marketplace, o papel precisa incluir estas permissões para a conta de faturamento que eles usam para comprar serviços:

Como acessar sites de parceiros com Logon único (SSO)

Alguns produtos do Marketplace são compatíveis com o SSO para o site externo de um parceiro. Os usuários autorizados da organização têm acesso a um botão "GERENCIAR NO PROVEDOR" na página de detalhes do produto. Esse botão direciona os usuários ao site do parceiro. Em alguns casos, os usuários são solicitados a "Fazer login com o Google". Em outros casos, os usuários acessam um contexto de conta compartilhada.

Para acessar o recurso de SSO, os usuários acessam a página de detalhes do produto e selecionam um projeto apropriado. O projeto precisa estar vinculado a uma conta de faturamento em que o plano foi comprado. Para detalhes sobre o gerenciamento de planos do Marketplace, consulte Como gerenciar planos de faturamento.

Além disso, o usuário precisa ter permissões de IAM suficientes no projeto selecionado. Para a maioria dos produtos, o papel básico roles/editor é obrigatório no momento.

Permissões mínimas para produtos específicos

Os seguintes produtos podem operar em um conjunto diferente de permissões para acessar os recursos do SSO:

Para esses produtos, use as seguintes permissões mínimas:

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

Essas permissões geralmente são concedidas com os papéis roles/consumerprocurement.entitlementManager ou roles/consumerprocurement.entitlementViewer.