Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configurar el proveedor de credenciales
Los proveedores de credenciales de recursos de AgentCore Identity actúan como intermediarios inteligentes que administran las complejas relaciones entre los agentes, los proveedores de identidades y los servidores de recursos. Cada proveedor encapsula la configuración de punto final específica requerida para un servicio o sistema de identidad en particular. El servicio proporciona proveedores integrados para servicios populares, como Google, Slack y Salesforce GitHub, con puntos finales del servidor de autorización y parámetros específicos del proveedor preconfigurados para reducir el esfuerzo de desarrollo. AgentCore Identity admite configuraciones personalizadas a través de proveedores de credenciales OAuth2 configurables que se pueden adaptar para que funcionen con cualquier servidor de recursos. OAuth2-compatible Para obtener información sobre los límites de los proveedores de credenciales de OAuth2, consulte las cuotas del servicio de identidad. AgentCore
Los proveedores de credenciales de recursos se integran en profundidad con la bóveda de fichas para ofrecer una gestión fluida del ciclo de vida de las credenciales. Cuando un agente solicita acceso a un recurso, el proveedor gestiona el flujo de autenticación, almacena las credenciales resultantes en la bóveda de tokens y proporciona al agente los tokens de acceso necesarios.
Crear un proveedor de credenciales de OAuth 2.0
Las configuraciones de proveedores en AgentCore Identity definen los parámetros básicos necesarios para la administración de credenciales con diferentes recursos y sistemas de autenticación.
Si utilizas la AgentCore CLI, puedes crear un proveedor de credenciales de OAuth 2.0 con el 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 almacena la configuración de credenciales agentcore/agentcore.json y guarda en ella los valores confidenciales (ID y secreto del cliente). agentcore/.env.local
Como alternativa, puede aportar su propio secreto proporcionando una referencia a un secreto de cliente ya almacenado en 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
También puedes usar el AgentCore SDK para configurar un proveedor de credenciales de OAuth 2.0 mediante programación. En el siguiente ejemplo, se configura un proveedor para. 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"
}
}
})
Para configurar el intercambio de tokens en nombre propio (OBO) en un proveedor de credenciales de OAuth 2.0, añada un a la configuración del proveedor. onBehalfOfTokenExchangeConfig Para ver los modos, parámetros y ejemplos compatibles, consulta el artículo sobre el intercambio de tokens. On-behalf-of
Para autenticarse en un punto final de token descendente mediante una aserción de cliente de JWT firmada y respaldada por una clave de AWS KMS en lugar de un secreto de cliente, configúrala PRIVATE_KEY_JWT como método de autenticación del cliente. Para obtener instrucciones de configuración, opciones de algoritmos de firma y requisitos de claves de KMS, consulta Private Key JWT.
Crear un proveedor de credenciales de claves de API
En el caso de los servicios que utilizan claves de API para la autenticación en lugar de OAuth, AgentCore Identity almacenará y recuperará las claves de forma segura para sus agentes. Para obtener información sobre los límites de los proveedores de credenciales de claves de API, consulta las cuotas de los servicios de AgentCore identidad.
Si utilizas la AgentCore CLI, puedes almacenar una clave de API con un solo comando:
agentcore add credential --name your-service-name --api-key your-api-key
También puedes aportar tu propio secreto proporcionando una referencia a una clave de API ya almacenada en 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
También puedes usar el AgentCore SDK para almacenar una clave de API mediante programación:
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"
})
Crear un proveedor de credenciales de pago
En el caso de los servicios que utilizan credenciales de procesadores de pagos, como Coinbase CDP o Stripe Privy, AgentCore Identity almacena de forma segura las claves de API, los secretos de las aplicaciones y los secretos asociados en Secrets Manager y wallet/authorization solo muestra sus ARN a sus agentes. Para obtener información sobre los límites de los proveedores de credenciales de pago, consulta las cuotas de los servicios de identidad. AgentCore
Los proveedores de credenciales de pago admiten actualmente a dos proveedores: CoinbaseCDP y. StripePrivy Proporcione exactamente un bloque de configuración por debajo providerConfigurationInput que coincida con el que credentialProviderVendor elija. También puedes aportar tu propio secreto proporcionando una referencia a un secreto ya almacenado en AWS Secrets Manager.
ejemplo
- AWS CLI
-
El siguiente ejemplo crea un proveedor de credenciales de pago para 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
El siguiente ejemplo crea un proveedor de credenciales de pago del CDP de Coinbase con los secretos almacenados en 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
En el siguiente ejemplo, se crea un proveedor de credenciales de pago para 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
En el siguiente ejemplo, se crea un proveedor de credenciales de pago de Stripe Privy con los secretos almacenados en 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
-
El siguiente ejemplo configura un proveedor para 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"
}
}
)
El siguiente ejemplo configura un proveedor de CDP de Coinbase con los secretos almacenados en 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"
}
}
}
)
El siguiente ejemplo configura un proveedor para 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"
}
}
)
En el siguiente ejemplo, se configura un proveedor de Stripe Privy con los secretos almacenados en 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
-
El siguiente ejemplo configura un proveedor para 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"
}
}
)
El siguiente ejemplo configura un proveedor de CDP de Coinbase con los secretos almacenados en 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"
}
}
}
)
El siguiente ejemplo configura un proveedor para 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"
}
}
)
En el siguiente ejemplo, se configura un proveedor de Stripe Privy con los secretos almacenados en 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"
}
}
)