Contrôle des accès avec IAM

Cette page décrit les options de contrôle des accès disponibles pour l'API Cloud Asset.

Présentation

L'inventaire des éléments cloud utilise Identity and Access Management (IAM) pour le contrôle des accès.

Dans l'API Cloud Asset, le contrôle des accès peut être configuré au niveau du projet ou au niveau de l'organisation. Par exemple, vous pouvez accorder à un groupe de développeurs l'accès à toutes les ressources d'inventaire des éléments cloud d'un projet.

Pour une description détaillée d'IAM et de ses fonctionnalités, consultez la documentation IAM. En particulier, consultez la section Gérer l'accès aux projets, aux dossiers et aux organisations.

Autorisations et rôles

Pour chaque méthode de l'API Cloud Asset Inventory, l'appelant doit disposer des autorisations nécessaires. Cette section récapitule les autorisations et les rôles de l'API Cloud Asset avec lesquels IAM est compatible.

Autorisations requises

Le tableau suivant répertorie les autorisations dont l'appelant doit disposer pour appeler chaque méthode d'API dans l'API Cloud Asset ou pour effectuer des tâches à l'aide des outils Google Cloud qui utilisent l'API, tels que la console Google Cloud ou Google Cloud CLI.

Autorisation Méthodes d'API
cloudasset.assets.searchAllResources *.searchAllResources
cloudasset.assets.searchAllIamPolicies *.searchAllIamPolicies
cloudasset.assets.analyzeIamPolicy,
cloudasset.assets.searchAllResources et
cloudasset.assets.searchAllIamPolicies
*.analyzeIamPolicy
*.analyzeIamPolicyLongrunning
*.batchGetEffectiveIamPolicies
cloudasset.assets.analyzeOrgPolicy et
cloudasset.assets.searchAllResources
*.analyzeOrgPolicies
*.analyzeOrgPolicyGovernedContainers
cloudasset.assets.analyzeOrgPolicy,
cloudasset.assets.searchAllResources et
cloudasset.assets.searchAllIamPolicies
*.analyzeOrgPolicyGovernedAssets
cloudasset.feeds.get *.getFeed
cloudasset.feeds.list *.listFeeds
cloudasset.feeds.delete *.deleteFeed
cloudasset.feeds.create,
cloudasset.assets.exportResource ou
cloudasset.assets.exportIamPolicy
d'après la content_type
*.createFeed
cloudasset.feeds.update,
cloudasset.assets.exportResource ou
cloudasset.assets.exportIamPolicy
d'après la content_type
*.updateFeed
cloudasset.assets.exportResource,
cloudasset.assets.exportIamPolicy,
cloudasset.assets.exportOrgPolicy,
cloudasset.assets.exportOSInventories ou
cloudasset.assets.exportAccessPolicy
d'après la content_type
*.batchGetAssetsHistory
*.exportAssets
*.operations.get
cloudasset.assets.listResource,
cloudasset.assets.listIamPolicy,
cloudasset.assets.listOrgPolicy,
cloudasset.assets.listAccessPolicy ou
cloudasset.assets.listOSInventories
d'après la content_type
*.listAssets
cloudasset.assets.analyzeMove *.analyzeMove
cloudasset.savedqueries.create *.createSavedQuery
cloudasset.savedqueries.get *.getSavedQuery
cloudasset.savedqueries.list *.listSavedQueries
cloudasset.savedqueries.update *.updateSavedQuery
cloudasset.savedqueries.delete *.deleteSavedQuery

Notez que, lorsque l'API *.exportAssets est utilisée pour exporter des métadonnées de ressources de types d'éléments spécifiés avec RESOURCE ou un type de contenu non spécifié, si l'appelant ne dispose pas de l'autorisation cloudasset.assets.exportResource, une autre exigence consiste à ce que l'appelant dispose des autorisations par type de ressource appropriées pour chaque type d'élément spécifié dans la requête.

Rôles

Cloud Asset Inventory dispose de deux rôles IAM :

  • Propriétaire d'éléments Cloud (roles/cloudasset.owner), qui accorde un accès complet aux métadonnées des éléments cloud. Ce rôle accorde toutes les autorisations cloudasset.* et recommender.cloudAssetInsights.*.

  • Lecteur d'éléments Cloud (roles/cloudasset.viewer), qui accorde un accès en lecture seule aux métadonnées des éléments cloud. Il accorde toutes les autorisations cloudasset.assets.* (il n'accorde pas les autorisations cloudasset.feeds.* et cloudasset.savedqueries.*), recommender.cloudAssetInsights.get et recommender.cloudAssetInsights.list.

Choisissez le rôle approprié disposant des autorisations nécessaires à vos besoins. En général, seul le rôle Propriétaire d'éléments Cloud accorde toutes les autorisations requises pour appeler l'API Cloud Asset et autorise l'utilisation complète de toutes les méthodes.

Les rôles de base incluent les autorisations suivantes :

  • Le rôle Propriétaire (roles/owner) accorde toutes les autorisations cloudasset.*.

  • Le rôle Éditeur (roles/editor) accorde les autorisations cloudasset.assets.search* et cloudasset.assets.analyzeIamPolicy.

  • Le rôle Lecteur (roles/viewer) accorde les autorisations cloudasset.assets.search* et cloudasset.assets.analyzeIamPolicy.

Nous vous recommandons d'attribuer l'un des rôles d'élément cloud plutôt qu'un rôle de base, car ces rôles contiennent de nombreuses autorisations pour d'autres services Google Cloud et peuvent entraîner l'attribution d'un niveau d'accès plus important que prévu.

Vous pouvez attribuer des rôles aux utilisateurs au niveau de l'organisation, du dossier ou du projet. Pour en savoir plus, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

VPC Service Controls

VPC Service Controls peut être utilisé avec Cloud Asset Inventory pour renforcer la sécurité de vos éléments. Pour en savoir plus sur VPC Service Controls, consultez la page Présentation de VPC Service Controls.

Pour en savoir plus sur les limites d'utilisation de l'inventaire des éléments cloud avec VPC Service Controls, consultez la page Produits compatibles et limites.