Control de acceso con la gestión de identidades y accesos

En esta página se describen los roles y permisos de Gestión de Identidades y Accesos (IAM) que necesita para comprar y gestionar productos comerciales en Cloud Marketplace.

Con IAM, puedes gestionar el control de acceso definiendo quién (identidad) tiene qué acceso (rol) a qué recurso. En el caso de las aplicaciones comerciales de Cloud Marketplace, los usuarios de tu Google Cloud organización necesitan roles de IAM para registrarse en los planes de Cloud Marketplace y para hacer cambios en los planes de facturación.

Antes de empezar

  • Para asignar roles y permisos de Cloud Marketplace mediante gcloud, instala la CLI de gcloud. De lo contrario, puedes asignar roles mediante la Google Cloud consola.

Roles de gestión de identidades y accesos para comprar y gestionar productos

Te recomendamos que asignes el rol de IAM Administrador de cuenta de facturación a los usuarios que compren servicios en Cloud Marketplace.

Los usuarios que quieran acceder a los servicios deben tener al menos el rol Lector.

Para tener un control más detallado sobre los permisos de los usuarios, puedes crear roles personalizados con los permisos que quieras conceder.

Requisitos específicos de los productos

Para usar los siguientes servicios en un Google Cloud proyecto, debes tener el rol Editor de proyecto:

  • Google Cloud Dataprep de Trifacta
  • Neo4j Aura Professional

Lista de roles y permisos de gestión de identidades y accesos

Puedes conceder a los usuarios uno o varios de los siguientes roles de gestión de identidades y accesos. En función del rol que vayas a conceder a los usuarios, también debes asignarlo a una Google Cloud cuenta de facturación, una organización o un proyecto. Para obtener más información, consulta la sección sobre cómo conceder roles de gestión de identidades y accesos a los usuarios.

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 roles de gestión de identidades y accesos a usuarios

De los roles de la tabla anterior, los roles consumerprocurement.orderAdmin y consumerprocurement.orderViewer se deben asignar a nivel de cuenta de facturación u organización, y los roles consumerprocurement.entitlementManager y consumerprocurement.entitlementViewer se deben asignar a nivel de proyecto u organización.

Para conceder roles a los usuarios mediante gcloud, ejecuta uno de los siguientes comandos:

Organización

Debes tener el rol resourcemanager.organizationAdmin para asignar roles a nivel de organización.

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

Los valores de los marcadores de posición son los siguientes:

  • organization-id: ID numérico de la organización a la que le estás asignando el rol.
  • member: el usuario al que vas a conceder acceso.
  • role-id: el ID del rol de la tabla anterior.

Cuenta de facturación

Debes tener el rol billing.admin para asignar roles a nivel de cuenta de facturación.

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

Los valores de los marcadores de posición son los siguientes:

Proyecto

Debes tener el rol resourcemanager.folderAdmin para asignar roles a nivel de proyecto.

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

Los valores de los marcadores de posición son los siguientes:

  • project-id: El proyecto al que vas a conceder el rol.
  • member: el usuario al que vas a conceder acceso.
  • role-id: el ID del rol de la tabla anterior.

Para asignar roles a los usuarios mediante la consola, consulta la documentación de IAM sobre cómo conceder, cambiar y revocar el acceso de los usuarios. Google Cloud

Usar roles personalizados con Cloud Marketplace

Si quieres tener un control granular sobre los permisos que concedes a los usuarios, puedes crear roles personalizados con los permisos que quieras conceder.

Si creas un rol personalizado para los usuarios que compran servicios en Cloud Marketplace, el rol debe incluir estos permisos para la cuenta de facturación que utilicen para comprar servicios:

Acceder a sitios web de partners con el inicio de sesión único (SSO)

Algunos productos de Marketplace admiten el inicio de sesión único (SSO) en el sitio web externo de un partner. Los usuarios autorizados de la organización tienen acceso a un botón "GESTIONAR EN EL PROVEEDOR" en la página de detalles del producto. Este botón dirige a los usuarios al sitio web del partner. En algunos casos, se pide a los usuarios que inicien sesión con Google. En otros casos, los usuarios inician sesión en un contexto de cuenta compartida.

Para acceder a la función de SSO, los usuarios deben ir a la página de detalles del producto y seleccionar un proyecto adecuado. El proyecto debe estar vinculado a una cuenta de facturación en la que se haya comprado el plan. Para obtener más información sobre la gestión de planes de Marketplace, consulta el artículo Gestionar planes de facturación.

Además, el usuario debe tener suficientes permisos de gestión de identidades y accesos en el proyecto seleccionado. En la mayoría de los productos, actualmente se requiere el roles/consumerprocurement.entitlementManager (o el roles/editor rol básico).

Permisos mínimos para productos específicos

Los siguientes productos pueden funcionar con un conjunto de permisos diferente para acceder a las funciones de SSO:

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

Para estos productos, puede usar los siguientes permisos mínimos:

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

Estos permisos suelen concederse con los roles roles/consumerprocurement.entitlementManager o roles/consumerprocurement.entitlementViewer.