Conditions IAM pour un accès précis

Cette page explique comment restreindre l'accès à vos connexions à l'aide de conditions IAM.

Une condition IAM vous permet de contrôler précisément vos ressources Integration Connectors. Par défaut, un utilisateur ou un rôle Integration Connectors peut effectuer toutes les opérations compatibles sur une connexion. Grâce aux conditions IAM, vous pouvez limiter un utilisateur ou un rôle spécifique à n'effectuer que certaines opérations sur une connexion. Par exemple, vous pouvez restreindre de sorte que l'utilisateur ne puisse modifier que les connexions dont le nom commence par test-connection, et ne disposera pas d'autres autorisations sur les connexions telles que s'abonner à des événements ou consulter les métadonnées du schéma.

Avant de commencer

Integration Connectors utilise la solution Identity and Access Management (IAM) de Google Cloud pour gérer les rôles et les autorisations des ressources Integration Connectors. Par conséquent, avant de spécifier ou de modifier des conditions dans IAM pour vos ressources de connecteurs d'intégration, familiarisez-vous avec les concepts IAM suivants :

Ajouter des conditions IAM

Pour ajouter une condition IAM à une ressource Integration Connectors, vous avez besoin des informations suivantes:

  • URI de ressource nommé : chaque ressource dans les connecteurs d'intégration possède un URI de ressource unique. Par exemple, l'URI de la ressource de connexion est projects/PROJECT_ID/locations/CONNECTION_LOCATION/connections/{connection_name}. Pour obtenir la liste complète des URI disponibles, consultez la page Ressources REST Integration Connectors. Pour contrôler les autorisations d'accès à une ressource à des niveaux précis, vous devez nommer votre ressource conformément à une convention d'attribution de noms. Selon vos besoins, vous pouvez : choisissez la convention de nommage que vous souhaitez utiliser. Par exemple, vous pouvez ajouter le préfixe marketing- pour toutes les connexions appartenant à l'équipe marketing. Dans cet exemple, l'URI de ressource pour les connexions de l'équipe marketing commencera par projects/PROJECT_ID/locations/CONNECTION_LOCATION/connections/marketing-.
  • Autorisations de niveau parent uniquement : vérifiez si une ressource ou l'une de ses ressources enfants nécessite l'autorisation de niveau parent uniquement. Pour en savoir plus, consultez la section Autorisations de niveau parent uniquement.
  • Type de ressource : vous pouvez restreindre davantage le champ d'application des ressources en filtrant sur type de ressource dans la condition. Integration Connectors accepte des conditions pour les ressources suivantes:
    Nom de la ressource Type de ressource
    Connexion connectors.googleapis.com/Connection
    ManagedZone connectors.googleapis.com/ManagedZone
    EndpointAttachment connectors.googleapis.com/EndpointAttachment
    EventSubscription connectors.googleapis.com/EventSubscription
    ConnectionSchemaMetadata connectors.googleapis.com/ConnectionSchemaMetadata
.

Examples

Le tableau suivant présente des exemples de conditions de ressources que vous pouvez appliquer à un utilisateur ou à un rôle Integration Connectors.

Condition de ressource IAM Description
(resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-") && resource.type == "connectors.googleapis.com/Connection"))
|| resource.type != "connectors.googleapis.com/Connection"
Un utilisateur ou un rôle auquel vous appliquez cette condition ne peut effectuer que les opérations suivantes:
  • Répertoriez toutes les connexions.
  • Permet d'effectuer des opérations d'obtention, de création, de mise à jour et de suppression sur des connexions dont le nom commence par marketing-.
(resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-") && resource.type == "connectors.googleapis.com/Connection") ||
(resource.name.startsWith ("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-") && resource.type == "connectors.googleapis.com/ConnectionSchemaMetadata")
|| (resource.type != "connectors.googleapis.com/Connection" 
&& resource.type != "connectors.googleapis.com/ConnectionSchemaMetadata") 
Un utilisateur ou un rôle auquel vous appliquez cette condition ne peut effectuer que les opérations suivantes:
  • Répertoriez toutes les connexions.
  • Les opérations "get", "create", "update" et "delete" sont exécutées uniquement pour les connexions dont le nom commence par marketing-.
  • Obtenez les métadonnées du schéma de connexion uniquement pour les connexions dont le nom commence par marketing-.

Ajouter des conditions IAM pour les comptes de service Application Integration

Vous pouvez appliquer des conditions IAM au compte de service Application Integration, ce qui vous permet de limiter les connexions auxquelles le compte de service peut accéder lors de l'exécution de l'intégration. Par exemple, vous pouvez limiter un compte de service afin qu'il n'accède qu'aux connexions dont le nom commence par marketing-. Pour en savoir plus, consultez Appliquer des conditions IAM à un compte de service.

Le tableau suivant présente des exemples de conditions de ressources que vous pouvez appliquer à un compte de service Application Integration.

Condition de ressource IAM Description
resource.name.startsWith
("projects/PROJECT_ID/locations/CONNECTION_LOCATION/
connections/marketing-")
Le compte de service auquel vous appliquez cette condition ne peut exécuter que les connexions dont le nom commence par marketing-.

Étape suivante

Consultez les informations suivantes dans la documentation IAM :