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à.
Configurare il provider di credenziali
I provider di credenziali di risorse in AgentCore Identity agiscono come intermediari intelligenti che gestiscono le complesse relazioni tra agenti, provider di identità e server di risorse. Ogni provider incapsula la configurazione specifica degli endpoint richiesta per un particolare servizio o sistema di identità. Il servizio fornisce provider integrati per servizi popolari tra cui Google, Slack e Salesforce GitHub, con endpoint del server di autorizzazione e parametri specifici del provider preconfigurati per ridurre lo sforzo di sviluppo. AgentCore Identity supporta configurazioni personalizzate tramite provider di credenziali OAuth2 configurabili che possono essere personalizzati per funzionare con qualsiasi server di risorse. OAuth2-compatible Per informazioni sui limiti dei provider di credenziali OAuth2, vedi Identity Service Quotas. AgentCore
I provider di credenziali di risorse si integrano profondamente con il token vault per fornire una gestione fluida del ciclo di vita delle credenziali. Quando un agente richiede l'accesso a una risorsa, il provider gestisce il flusso di autenticazione, archivia le credenziali risultanti nel token vault e fornisce all'agente i token di accesso necessari.
Creazione di un provider di credenziali OAuth 2.0
Le configurazioni del provider in AgentCore Identity definiscono i parametri di base necessari per la gestione delle credenziali con diverse risorse e sistemi di autenticazione.
Se si utilizza la AgentCore CLI, è possibile creare un provider di credenziali OAuth 2.0 con il comando: agentcore add credential
agentcore add credential --type oauth \
--name github-provider \
--discovery-url https://your-idp/.well-known/openid-configuration \
--client-id your-github-client-id \
--client-secret your-github-client-secret \
--scopes repo,user
La CLI memorizza la configurazione delle credenziali agentcore/agentcore.json e salva i valori sensibili (ID client e segreto client) in. agentcore/.env.local
In alternativa, puoi inserire il tuo segreto fornendo un riferimento a un segreto del cliente già memorizzato in AWS Secrets Manager:
aws bedrock-agentcore-control create-oauth2-credential-provider \
--name "github-provider" \
--credential-provider-vendor "GithubOauth2" \
--oauth2-provider-config-input '{
"githubOauth2ProviderConfig": {
"clientId": "your-github-client-id",
"clientSecretSource": "EXTERNAL",
"clientSecretConfig": {
"secretId": "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret",
"jsonKey": "clientSecret"
}
}
}' \
--region us-east-1
In alternativa, puoi utilizzare l' AgentCore SDK per configurare un provider di credenziali OAuth 2.0 a livello di codice. L'esempio seguente configura un provider per. GitHub
from bedrock_agentcore.services.identity import IdentityClient
identity_client = IdentityClient("us-east-1")
github_provider = identity_client.create_oauth2_credential_provider({
"name": "github-provider",
"credentialProviderVendor": "GithubOauth2",
"oauth2ProviderConfigInput": {
"githubOauth2ProviderConfig": {
"clientId": "your-github-client-id",
"clientSecret": "your-github-client-secret"
}
}
})
Per configurare lo scambio di token per conto di un provider di credenziali OAuth 2.0, aggiungi un token alla configurazione del provider. onBehalfOfTokenExchangeConfig Per le modalità, i parametri e gli esempi supportati, vedi Token Exchange. On-behalf-of
Per autenticarti su un endpoint di token downstream utilizzando un'asserzione client JWT firmata supportata da una chiave AWS KMS anziché da un segreto client, configura PRIVATE_KEY_JWT come metodo di autenticazione del client. Per le istruzioni di configurazione, le opzioni dell'algoritmo di firma e i requisiti delle chiavi KMS, vedi Private Key JWT. Autenticazione del client JWT con chiave privata
Creazione di un fornitore di credenziali con chiave API
Per i servizi che utilizzano chiavi API per l'autenticazione anziché OAuth, AgentCore Identity archivierà e recupererà in modo sicuro le chiavi per i tuoi agenti. Per informazioni sui limiti dei provider di credenziali delle chiavi API, consulta Identity Service Quotas. AgentCore
Se utilizzi la AgentCore CLI, puoi memorizzare una chiave API con un solo comando:
agentcore add credential --name your-service-name --api-key your-api-key
In alternativa, puoi inserire il tuo segreto fornendo un riferimento a una chiave API già memorizzata in AWS Secrets Manager:
aws bedrock-agentcore-control create-api-key-credential-provider \
--name "your-service-name" \
--api-key-secret-source EXTERNAL \
--api-key-secret-config secretId=arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret,jsonKey=api_key \
--region us-east-1
In alternativa, puoi utilizzare l' AgentCore SDK per memorizzare una chiave API a livello di codice:
from bedrock_agentcore.services.identity import IdentityClient
identity_client= IdentityClient("us-east-1")
apikey_provider= identity_client.create_api_key_credential_provider({
"name": "your-service-name",
"apiKey": "your-api-key"
})
Creazione di un fornitore di credenziali di pagamento
Per i servizi che utilizzano credenziali di elaborazione dei pagamenti come Coinbase CDP o Stripe Privy, AgentCore Identity archivia in modo sicuro le chiavi API associate, i segreti delle app e i segreti delle app in Secrets Manager e wallet/authorization trasmette solo i relativi ARN ai tuoi agenti. Per informazioni sui limiti dei fornitori di credenziali di pagamento, consulta Identity Service Quotas. AgentCore
I fornitori di credenziali di pagamento attualmente supportano due fornitori: e. CoinbaseCDP StripePrivy credentialProviderVendorFornisci esattamente un blocco di configurazione in basso providerConfigurationInput che corrisponda a quello scelto. In alternativa, puoi inserire il tuo segreto fornendo un riferimento a un segreto già memorizzato in AWS Secrets Manager.
Esempio
- AWS CLI
-
L'esempio seguente crea un fornitore di credenziali di pagamento per Coinbase CDP:
aws bedrock-agentcore-control create-payment-credential-provider \
--name "coinbase-provider" \
--credential-provider-vendor CoinbaseCDP \
--provider-configuration-input '{
"coinbaseCdpConfiguration": {
"apiKeyId": "your-coinbase-api-key-id",
"apiKeySecret": "your-coinbase-api-key-secret",
"walletSecret": "your-coinbase-wallet-secret"
}
}' \
--region us-east-1
L'esempio seguente crea un fornitore di credenziali di pagamento Coinbase CDP con segreti archiviati in Secrets Manager: AWS
aws bedrock-agentcore-control create-payment-credential-provider \
--name "coinbase-provider" \
--credential-provider-vendor "CoinbaseCDP" \
--provider-configuration-input '{
"coinbaseCdpConfiguration": {
"apiKeyId": "your-coinbase-api-key-id",
"apiKeySecretSource": "EXTERNAL",
"apiKeySecretConfig": {
"secretId": "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-api-secret",
"jsonKey": "apiKeySecret"
},
"walletSecretSource": "EXTERNAL",
"walletSecretConfig": {
"secretId": "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-wallet-secret",
"jsonKey": "walletSecret"
}
}
}' \
--region us-east-1
L'esempio seguente crea un fornitore di credenziali di pagamento per Stripe Privy:
aws bedrock-agentcore-control create-payment-credential-provider \
--name "stripe-privy-provider" \
--credential-provider-vendor StripePrivy \
--provider-configuration-input '{
"stripePrivyConfiguration": {
"appId": "your-stripe-privy-app-id",
"appSecret": "your-stripe-privy-app-secret",
"authorizationPrivateKey": "your-stripe-privy-authorization-private-key",
"authorizationId": "your-stripe-privy-authorization-id"
}
}' \
--region us-east-1
L'esempio seguente crea un fornitore di credenziali di pagamento Stripe Privy con segreti memorizzati in Secrets Manager: AWS
aws bedrock-agentcore-control create-payment-credential-provider \
--name "stripe-privy-provider" \
--credential-provider-vendor "StripePrivy" \
--provider-configuration-input '{
"stripePrivyConfiguration": {
"appId": "your-stripe-privy-app-id",
"appSecretSource": "EXTERNAL",
"appSecretConfig": {
"secretId": "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-app-secret",
"jsonKey": "appSecret"
},
"authorizationPrivateKeySource": "EXTERNAL",
"authorizationPrivateKeyConfig": {
"secretId": "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-auth-key-secret",
"jsonKey": "authorizationPrivateKey"
},
"authorizationId": "your-stripe-privy-authorization-id"
}
}' \
--region us-east-1
- AWS SDK
-
L'esempio seguente configura un provider per Coinbase CDP:
import boto3
client = boto3.client("bedrock-agentcore-control", region_name="us-east-1")
coinbase_provider = client.create_payment_credential_provider(
name="coinbase-provider",
credentialProviderVendor="CoinbaseCDP",
providerConfigurationInput={
"coinbaseCdpConfiguration": {
"apiKeyId": "your-coinbase-api-key-id",
"apiKeySecret": "your-coinbase-api-key-secret",
"walletSecret": "your-coinbase-wallet-secret"
}
}
)
L'esempio seguente configura un provider Coinbase CDP con i segreti archiviati in Secrets Manager: AWS
import boto3
client = boto3.client("bedrock-agentcore-control", region_name="us-east-1")
coinbase_provider = client.create_payment_credential_provider(
name="coinbase-provider",
credentialProviderVendor="CoinbaseCDP",
providerConfigurationInput={
"coinbaseCdpConfiguration": {
"apiKeyId": "your-coinbase-api-key-id",
"apiKeySecretSource": "EXTERNAL",
"apiKeySecretConfig": {
"secretId": "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-api-secret",
"jsonKey": "apiKeySecret"
},
"walletSecretSource": "EXTERNAL",
"walletSecretConfig": {
"secretId": "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-wallet-secret",
"jsonKey": "walletSecret"
}
}
}
)
L'esempio seguente configura un provider per Stripe Privy:
import boto3
client = boto3.client("bedrock-agentcore-control", region_name="us-east-1")
stripe_privy_provider = client.create_payment_credential_provider(
name="stripe-privy-provider",
credentialProviderVendor="StripePrivy",
providerConfigurationInput={
"stripePrivyConfiguration": {
"appId": "your-stripe-privy-app-id",
"appSecret": "your-stripe-privy-app-secret",
"authorizationPrivateKey": "your-stripe-privy-authorization-private-key",
"authorizationId": "your-stripe-privy-authorization-id"
}
}
)
L'esempio seguente configura un provider Stripe Privy con i segreti archiviati in Secrets Manager: AWS
import boto3
client = boto3.client("bedrock-agentcore-control", region_name="us-east-1")
stripe_privy_provider = client.create_payment_credential_provider(
name="stripe-privy-provider",
credentialProviderVendor="StripePrivy",
providerConfigurationInput={
"stripePrivyConfiguration": {
"appId": "your-stripe-privy-app-id",
"appSecretSource": "EXTERNAL",
"appSecretConfig": {
"secretId": "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-app-secret",
"jsonKey": "appSecret"
},
"authorizationPrivateKeySource": "EXTERNAL",
"authorizationPrivateKeyConfig": {
"secretId": "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-auth-key-secret",
"jsonKey": "authorizationPrivateKey"
},
"authorizationId": "your-stripe-privy-authorization-id"
}
}
)
- AgentCore SDK
-
L'esempio seguente configura un provider per Coinbase CDP:
from bedrock_agentcore.services.identity import IdentityClient
identity_client = IdentityClient("us-east-1")
coinbase_provider = identity_client.create_payment_credential_provider(
name="coinbase-provider",
credential_provider_vendor="CoinbaseCDP",
provider_configuration_input={
"coinbaseCdpConfiguration": {
"apiKeyId": "your-coinbase-api-key-id",
"apiKeySecret": "your-coinbase-api-key-secret",
"walletSecret": "your-coinbase-wallet-secret"
}
}
)
L'esempio seguente configura un provider Coinbase CDP con i segreti archiviati in Secrets Manager: AWS
from bedrock_agentcore.services.identity import IdentityClient
identity_client = IdentityClient("us-east-1")
coinbase_provider = identity_client.create_payment_credential_provider(
name="coinbase-provider",
credential_provider_vendor="CoinbaseCDP",
provider_configuration_input={
"coinbaseCdpConfiguration": {
"apiKeyId": "your-coinbase-api-key-id",
"apiKeySecretSource": "EXTERNAL",
"apiKeySecretConfig": {
"secretId": "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-api-secret",
"jsonKey": "apiKeySecret"
},
"walletSecretSource": "EXTERNAL",
"walletSecretConfig": {
"secretId": "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-wallet-secret",
"jsonKey": "walletSecret"
}
}
}
)
L'esempio seguente configura un provider per Stripe Privy:
from bedrock_agentcore.services.identity import IdentityClient
identity_client = IdentityClient("us-east-1")
stripe_privy_provider = identity_client.create_payment_credential_provider(
name="stripe-privy-provider",
credential_provider_vendor="StripePrivy",
provider_configuration_input={
"stripePrivyConfiguration": {
"appId": "your-stripe-privy-app-id",
"appSecret": "your-stripe-privy-app-secret",
"authorizationPrivateKey": "your-stripe-privy-authorization-private-key",
"authorizationId": "your-stripe-privy-authorization-id"
}
}
)
L'esempio seguente configura un provider Stripe Privy con i segreti archiviati in Secrets Manager: AWS
from bedrock_agentcore.services.identity import IdentityClient
identity_client = IdentityClient("us-east-1")
stripe_privy_provider = identity_client.create_payment_credential_provider(
name="stripe-privy-provider",
credential_provider_vendor="StripePrivy",
provider_configuration_input={
"stripePrivyConfiguration": {
"appId": "your-stripe-privy-app-id",
"appSecretSource": "EXTERNAL",
"appSecretConfig": {
"secretId": "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-app-secret",
"jsonKey": "appSecret"
},
"authorizationPrivateKeySource": "EXTERNAL",
"authorizationPrivateKeyConfig": {
"secretId": "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-auth-key-secret",
"jsonKey": "authorizationPrivateKey"
},
"authorizationId": "your-stripe-privy-authorization-id"
}
}
)