View a markdown version of this page

VPC et AWS PrivateLink avec AWS Registre des agents - Base rocheuse de l'Amazonie AgentCore

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

VPC et AWS PrivateLink avec AWS Registre des agents

Vous pouvez l'utiliser AWS PrivateLink pour créer une connexion privée entre votre VPC et le registre des AWS agents. Vous pouvez accéder au registre des AWS agents comme s'il se trouvait dans votre VPC, sans passer par une passerelle Internet, un périphérique NAT, une connexion VPN ou une connexion AWS Direct Connect. Les instances de votre VPC n'ont pas besoin d'adresses IP publiques pour accéder au registre des AWS agents.

Vous établissez cette connexion privée en créant un point de terminaison d'interface, qui est alimenté par AWS PrivateLink. Nous créons une interface réseau de point de terminaison dans chaque sous-réseau que vous activez pour le point de terminaison d’interface. Il s'agit d'interfaces réseau gérées par le demandeur qui servent de point d'entrée pour le trafic destiné au registre des AWS agents.

Pour plus d'informations, consultez la section Accès aux AWS services AWS PrivateLink dans le AWS PrivateLink Guide.

Avant de configurer un point de terminaison d'interface pour le registre des AWS agents, consultez les considérations du AWS PrivateLink Guide.

AWS Le registre des agents fournit deux AWS PrivateLink points de terminaison :

  • Point de terminaison du plan de contrôle  : com.amazonaws.region.agent-registry-control — pour la gestion des registres et des enregistrements (opérations de création, de mise à jour, de suppression, etc.).

  • Point de terminaison du plan de données  : com.amazonaws.region.agent-registry — pour la découverte des enregistrements et le point de terminaison MCP du registre (recherche InvokeRegistryMcp, etc.).

Pour obtenir la liste des AWS régions dans lesquelles les points de terminaison de l'interface du registre des AWS agents sont disponibles, consultez la section AWS Régions Pris en charge AWS Régions prises en charge. Les points de terminaison de l'interface sont disponibles dans toutes les régions où le registre des AWS agents est disponible.

Important

Les API du plan de données prennent en charge à la fois les en-têtes AWS Signature Version 4 (SigV4) pour l'authentification et l'authentification par jeton porteur (OAuth), et votre politique de point de terminaison est évaluée pour les deux. Un appelant porteur de jeton ne possède aucune identité IAM, il ne correspond donc qu'à une instruction dont la valeur Principal est *, jamais à un compte, un rôle ou un ARN utilisateur spécifique. Pour que les demandes de jeton porteur aboutissent via le point de terminaison, une Allow instruction Principal définie sur * doit couvrir l'action et la ressource ; une instruction nommant une AWS identité spécifique ne les admet pas. Pour restreindre les appelants porteurs, utilisez une Deny instruction dont la valeur est Principal définie sur * Action et Resource — vous ne pouvez pas distinguer un appelant porteur par principal, car les appelants porteurs ne peuvent pas être distingués au niveau principal. Un registre est autorisé soit par SIGv4 soit par JWT en fonction de son propre mode d'autorisationauthorizerType, jamais par les deux. Chaque registre n'a donc besoin que du formulaire de déclaration correspondant à son propre mode d'autorisation.

AWS Le registre des agents prend en charge les clés contextuelles de condition globales AWS IAM, notamment aws:SourceVpc etaws:SourceVpce. Par défaut, vous avez un accès complet au registre des AWS agents via le point de terminaison de l'interface. Pour restreindre cet accès, associez une politique de point de terminaison personnalisée au point de terminaison de l'interface ou associez un groupe de sécurité aux interfaces réseau du point de terminaison.

Vous pouvez créer un point de terminaison d'interface pour le registre des AWS agents à l'aide de la console Amazon VPC ou de l'interface de ligne de AWS commande (AWS CLI). Pour plus d'informations, voir Créer un point de terminaison d'interface dans le AWS PrivateLink Guide.

Créez un point de terminaison d'interface pour le registre des AWS agents en utilisant le format de nom de service suivant :

  • Pour les opérations du plan de contrôle (gestion des registres et des enregistrements) : com.amazonaws.region.agent-registry-control (par exemple,com.amazonaws.us-east-1.agent-registry-control)

  • Pour les opérations sur le plan de données (découverte d'enregistrements et point de terminaison MCP du registre) : com.amazonaws.region.agent-registry (par exemple,com.amazonaws.us-east-1.agent-registry)

Si vous activez le DNS privé pour le point de terminaison de l'interface, vous pouvez envoyer des requêtes d'API au registre des AWS agents en utilisant ses noms DNS régionaux par défaut :

  • Plan de contrôle : agent-registry-control.region.api.aws (par exemple,agent-registry-control.us-east-1.api.aws)

  • Plan de données : agent-registry.region.api.aws (par exemple,agent-registry.us-east-1.api.aws)

Une politique de point de terminaison est une ressource IAM que vous pouvez attacher à votre point de terminaison d’interface. Avec la politique de point de terminaison par défaut, vous avez un accès complet au registre des AWS agents via le point de terminaison de l'interface. Pour restreindre cet accès, joignez une politique de point de terminaison personnalisée.

Une politique de point de terminaison spécifie les informations suivantes :

  • Les principaux responsables qui peuvent effectuer des actions (AWS comptes, utilisateurs IAM et rôles IAM).

    • Pour le point de terminaison du plan de données du registre des AWS agents, si un registre utilise l'autorisation JWT au lieu de la AWS signature version 4 (Sigv4), définissez sur * Principal pour toute instruction qui autorise les appelants JWT. Avec SigV4-based l'authentification, vous pouvez le définir Principal comme une AWS identité spécifique.

  • Les actions qui peuvent être effectuées.

  • La ressource sur laquelle les actions peuvent être effectuées.

Pour plus d'informations, voir Contrôler l'accès aux services à l'aide de politiques relatives aux terminaux dans le AWS PrivateLink Guide.

Les exemples suivants présentent les politiques relatives à chaque point de terminaison du registre des AWS agents. Choisissez un onglet pour afficher la politique relative au plan de contrôle, aux opérations de découverte des enregistrements du plan de données ou au point de terminaison MCP du plan de données.

Exemple
Control plane (registry and record management)
  1. La politique de point de terminaison suivante permet à un principal IAM spécifique de gérer les registres et leurs enregistrements via le point de terminaison du plan de contrôle.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "agent-registry:CreateRegistry", "agent-registry:GetRegistry", "agent-registry:UpdateRegistry", "agent-registry:DeleteRegistry", "agent-registry:ListRegistries", "agent-registry:CreateRegistryRecord", "agent-registry:GetRegistryRecord", "agent-registry:UpdateRegistryRecord", "agent-registry:DeleteRegistryRecord", "agent-registry:ListRegistryRecords", "agent-registry:SubmitRegistryRecordForApproval", "agent-registry:UpdateRegistryRecordStatus" ], "Resource": "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/*" } ] }

    La politique de point de terminaison suivante permet à un principal IAM spécifique d'accéder en lecture seule aux métadonnées du registre et des enregistrements via le point de terminaison du plan de contrôle, ce qui est utile pour les outils qui inventorient les registres sans les modifier.

    Read-only accès aux métadonnées du registre

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "agent-registry:GetRegistry", "agent-registry:ListRegistries", "agent-registry:GetRegistryRecord", "agent-registry:ListRegistryRecords" ], "Resource": "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/*" } ] }

    Pour limiter l'accès du plan de contrôle à un seul registre et à ses enregistrements, utilisez deux ARN de ressources ciblant une ressource spécifique REGISTRY_ID : l'un pour le registre lui-même (registry/REGISTRY_ID) et l'autre pour ses enregistrements (registry/REGISTRY_ID/record/*). CreateRegistryet ListRegistries fonctionnent au niveau du compte et ne peuvent pas être limités à un ARN de registre spécifique. Supprimez-les de la liste des actions. Accordez-les séparément avec une ressource générique si l'appelant en a besoin.

    Étendue de l'accès à un registre unique

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "agent-registry:GetRegistry", "agent-registry:UpdateRegistry", "agent-registry:DeleteRegistry", "agent-registry:CreateRegistryRecord", "agent-registry:GetRegistryRecord", "agent-registry:UpdateRegistryRecord", "agent-registry:DeleteRegistryRecord", "agent-registry:ListRegistryRecords", "agent-registry:SubmitRegistryRecordForApproval", "agent-registry:UpdateRegistryRecordStatus" ], "Resource": [ "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/REGISTRY_ID", "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/REGISTRY_ID/record/*" ] } ] }
Data plane (record discovery)
  1. La politique de point de terminaison suivante permet à un principal IAM spécifique de rechercher et de parcourir les enregistrements approuvés dans un registre via le point de terminaison du plan de données.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "agent-registry:SearchDiscoverableRegistryRecords", "agent-registry:ListDiscoverableRegistryRecords", "agent-registry:GetDiscoverableRegistryRecord" ], "Resource": [ "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/REGISTRY_ID", "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/REGISTRY_ID/record/*" ] } ] }

    La politique suivante permet à un principal IAM spécifique de rechercher un SigV4-authorized registre et à tout appelant JWT authentifié d'effectuer une recherche dans un JWT-authorized registre, via le même point de terminaison.

    Autorisation mixte SIGv4 et JWT

    { "Statement": [ { "Sid": "AllowIamSearchOnSigV4Registry", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "agent-registry:SearchDiscoverableRegistryRecords", "agent-registry:ListDiscoverableRegistryRecords", "agent-registry:GetDiscoverableRegistryRecord" ], "Resource": [ "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/SIGV4_REGISTRY_ID", "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/SIGV4_REGISTRY_ID/record/*" ] }, { "Sid": "AllowJwtSearchOnJwtRegistry", "Effect": "Allow", "Principal": "*", "Action": [ "agent-registry:SearchDiscoverableRegistryRecords", "agent-registry:ListDiscoverableRegistryRecords", "agent-registry:GetDiscoverableRegistryRecord" ], "Resource": [ "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/JWT_REGISTRY_ID", "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/JWT_REGISTRY_ID/record/*" ] } ] }
Data plane (registry MCP endpoint)
  1. La politique de point de terminaison suivante permet à tout appelant authentifié d'invoquer le point de terminaison MCP du registre sur un registre. JWT-authorized Étant donné que le point de terminaison MCP d'un JWT-authorized registre est authentifié par un jeton porteur plutôt que par SIGv4, définissez sur *. Principal

    { "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "agent-registry:InvokeRegistryMcp", "agent-registry:SearchDiscoverableRegistryRecords" ], "Resource": "arn:aws:agent-registry:us-east-1:ACCOUNT_ID:registry/REGISTRY_ID" } ] }

    InvokeRegistryMcpn'est pas exposée en tant que méthode cliente du SDK. C'est l'action IAM qui autorise le trafic envoyé au chemin du protocole MCP du registre via le point de terminaison du plan de données. L'appel du point de terminaison MCP du registre nécessite à la fois l'action de découverte agent-registry:InvokeRegistryMcp et de recherche. Dans l'agent-registryespace de noms, l'action de recherche se trouve agent-registry:SearchDiscoverableRegistryRecords ; dans l'bedrock-agentcoreespace de noms hérité, elle l'est. bedrock-agentcore:SearchRegistryRecords