Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Connettiti a provider di identità privati
Amazon Bedrock AgentCore Identity supporta la connessione ai provider di identità OAuth 2.0 (IdPs) ospitati all'interno del tuo AWS VPC, come Keycloak self-hosted o altri server di OIDC-compliant autorizzazione PingFederate, senza esporli alla rete Internet pubblica. Ciò consente di utilizzare la modalità privata sia per l'autorizzazione JWT in entrata con AgentCore Runtime e Gateway che IdPs per i provider di credenziali OAuth2 in uscita. AgentCore
La connettività privata al VPC ospitato IdPs viene stabilita utilizzando i gateway di risorse e le configurazioni delle risorse di Amazon VPC Lattice, seguendo lo stesso schema utilizzato da Gateway VPC egress. AgentCore AgentCore Identity utilizza il ruolo AWSServiceRoleForBedrockAgentCoreIdentity collegato al servizio per creare e gestire le risorse VPC Lattice nel tuo account per la connettività privata agli endpoint IdP.
Importante
AgentCore supporta due modalità di connettività VPC Lattice: Lattice gestita (più semplice, AgentCore gestisce il ciclo di vita delle risorse) e Lattice autogestita (avanzata, con supporto per più account e piena visibilità della governance). Ogni modalità presenta diversi compromessi in termini di complessità, costi e controllo. Per un confronto dettagliato dei pro e dei contro, consulta Modalità di uscita VPC supportate.
Casi d’uso
I provider di identità privati sono comuni negli ambienti aziendali in cui le organizzazioni:
-
Esegui server di autorizzazione ospitati autonomamente all'interno del proprio VPC per soddisfare i requisiti di conformità o residenza dei dati
-
Utilizza endpoint di rilevamento OIDC privati che non sono accessibili al pubblico
-
Richiedi che tutto il traffico di autenticazione rimanga all'interno della AWS rete senza attraversare la rete Internet pubblica
Autorizzazione JWT in entrata con un IdP privato
Quando si configura l'autorizzazione JWT in entrata per AgentCore Runtime o AgentCore Gateway, l'autorizzatore utilizza l'URL di rilevamento per recuperare le chiavi pubbliche (JWKS) dell'IdP e convalidare i token JWT in entrata. Se il tuo IdP è ospitato all'interno di un VPC e l'URL di scoperta non è accessibile pubblicamente, devi configurare un endpoint privato in modo che Identity possa raggiungere gli endpoint di rilevamento OIDC e JWKS dell'IdP. AgentCore
Configura l'autorizzazione in entrata con un IdP privato
Per configurare l'autorizzazione JWT in entrata con un IdP privato, includi il privateEndpoint blocco nella configurazione dell'autorizzazione durante la creazione o l'aggiornamento del Runtime o del Gateway. AgentCore
Esempio: CreateAgentRuntime con IdP privato per l'autenticazione in entrata
{ "agentRuntimeName": "my-runtime", "authorizerConfiguration": { "customJWTAuthorizer": { "discoveryUrl": "https://idp.internal.example.com/.well-known/openid-configuration", "allowedAudiences": [ "my-agent-audience" ], "allowedClients": [ "my-client-id" ], "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0abc123def456", "subnetIds": [ "subnet-0abc123", "subnet-0def456" ], "endpointIpAddressType": "IPV4", "securityGroupIds": [ "sg-0abc123def" ] } } } } }
Esempio: CreateGateway con IdP privato per l'autenticazione in entrata
{ "name": "my-gateway", "authorizerConfiguration": { "customJWTAuthorizer": { "discoveryUrl": "https://idp.internal.example.com/.well-known/openid-configuration", "allowedAudiences": [ "my-gateway-audience" ], "allowedClients": [ "my-client-id" ], "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0abc123def456", "subnetIds": [ "subnet-0abc123", "subnet-0def456" ], "endpointIpAddressType": "IPV4", "securityGroupIds": [ "sg-0abc123def" ] } } } } }
Se il tuo IdP utilizza un certificato TLS emesso da un'autorità di certificazione privata, puoi inserire un Application Load Balancer interno preceduto da un certificato ACM pubblico. Per ulteriori informazioni, consulta Soluzione alternativa per i certificati privati: ALB.
Per Lattice autogestito, sostituisci con: managedVpcResource selfManagedLatticeResource
Esempio: CreateAgentRuntime con Lattice autogestito per l'autenticazione in entrata
{ "agentRuntimeName": "my-runtime", "authorizerConfiguration": { "customJWTAuthorizer": { "discoveryUrl": "https://idp.internal.example.com/.well-known/openid-configuration", "allowedAudiences": [ "my-agent-audience" ], "allowedClients": [ "my-client-id" ], "privateEndpoint": { "selfManagedLatticeResource": { "resourceConfigurationIdentifier": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-abc123" } } } } }
Esempio: CreateGateway con Lattice autogestito per l'autenticazione in entrata
{ "name": "my-gateway", "authorizerConfiguration": { "customJWTAuthorizer": { "discoveryUrl": "https://idp.internal.example.com/.well-known/openid-configuration", "allowedAudiences": [ "my-gateway-audience" ], "allowedClients": [ "my-client-id" ], "privateEndpoint": { "selfManagedLatticeResource": { "resourceConfigurationIdentifier": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-abc123" } } } } }
Provider di credenziali OAuth in uscita con un IdP privato
Quando si configura un provider di credenziali OAuth2 in uscita che utilizza un IdP privato, AgentCore Identity deve raggiungere l'endpoint del token dell'IdP per scambiare codici di autorizzazione per i token di accesso o per eseguire la concessione delle credenziali del cliente. Se l'endpoint del token dell'IdP è ospitato all'interno del tuo VPC, devi configurare un endpoint privato sul provider di credenziali.
Configura il provider di credenziali in uscita con un IdP privato
Per configurare un provider di credenziali OAuth in uscita con un IdP privato, includi il privateEndpoint blocco quando crei il provider di credenziali utilizzando un provider personalizzato con configurazione manuale.
Esempio: creare un provider di credenziali OAuth con un IdP privato
{ "name": "my-private-idp-provider", "credentialProviderType": "OAUTH", "oauthCredentialProvider": { "providerType": "CUSTOM", "customProviderConfiguration": { "issuer": "https://idp.internal.example.com/realms/my-realm", "authorizationEndpoint": "https://idp.internal.example.com/realms/my-realm/protocol/openid-connect/auth", "tokenEndpoint": "https://idp.internal.example.com/realms/my-realm/protocol/openid-connect/token" }, "clientId": "my-client-id", "clientSecret": "my-client-secret", "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0abc123def456", "subnetIds": [ "subnet-0abc123", "subnet-0def456" ], "endpointIpAddressType": "IPV4", "securityGroupIds": [ "sg-0abc123def" ] } } } }
Per Lattice autogestito, sostituisci con: managedVpcResource selfManagedLatticeResource
{ "name": "my-private-idp-provider", "credentialProviderType": "OAUTH", "oauthCredentialProvider": { "providerType": "CUSTOM", "customProviderConfiguration": { "issuer": "https://idp.internal.example.com/realms/my-realm", "authorizationEndpoint": "https://idp.internal.example.com/realms/my-realm/protocol/openid-connect/auth", "tokenEndpoint": "https://idp.internal.example.com/realms/my-realm/protocol/openid-connect/token" }, "clientId": "my-client-id", "clientSecret": "my-client-secret", "privateEndpoint": { "selfManagedLatticeResource": { "resourceConfigurationIdentifier": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-abc123" } } } }
Prerequisiti
Prima di configurare un provider di identità privato, verificate quanto segue:
-
Il tuo provider di identità è funzionante e accessibile all'interno del tuo VPC.
-
L'endpoint di rilevamento OIDC (
/.well-known/openid-configuration), l'endpoint JWKS e l'endpoint token dell'IdP sono raggiungibili dalle sottoreti specificate. -
I tuoi gruppi di sicurezza consentono il traffico in entrata sulla porta utilizzata dal tuo IdP (in genere la porta 443 per HTTPS).
-
Per Managed Lattice, il tuo responsabile IAM deve disporre dell'
iam:CreateServiceLinkedRoleautorizzazione in modo da AgentCore poter creare il ruolo collegato al servizio Identity Network per tuo conto. Per la policy IAM richiesta, vedi Ruolo collegato al servizio Identity Network. -
Per Managed Lattice, il tuo responsabile IAM necessita anche della seguente autorizzazione Amazon EC2:
ec2:CreateNetworkInterface
Service-linked ruolo per i provider di identità privati
Quando configuri un endpoint privato per un provider di AgentCore identità, Identity utilizza il ruolo AWSServiceRoleForBedrockAgentCoreIdentity collegato al servizio per gestire la connettività al tuo IdP ospitato su VPC. Questo ruolo viene creato automaticamente la prima volta che configuri un endpoint privato gestito per un provider di identità, a condizione che il responsabile IAM disponga dell'autorizzazione richiesta. iam:CreateServiceLinkedRole
Per il documento politico completo e le istruzioni per creare, modificare ed eliminare questo ruolo, consulta Ruolo collegato al servizio Identity Network.
Considerazioni e limitazioni
-
L'URL di rilevamento deve essere HTTPS: l'URL di scoperta OIDC dell'IdP deve utilizzare HTTPS. Gli endpoint HTTP non sono supportati.
-
Certificati privati: il tuo IdP deve utilizzare un certificato TLS pubblicamente attendibile oppure devi inserire un ALB preceduto da un certificato ACM pubblico. Per ulteriori informazioni, consulta Soluzione alternativa per i certificati privati: ALB.
-
Cross-account: la connettività IdP Cross-account privata richiede l'opzione Lattice autogestita. Managed Lattice non supporta scenari con più account.
Per ulteriori limitazioni relative alla connettività VPC Lattice, consulta Limitazioni e considerazioni in Connessione alle risorse private del VPC tramite VPC Lattice.