Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konfigurasikan penyedia kredensia
Penyedia kredensi sumber daya di AgentCore Identitas bertindak sebagai perantara cerdas yang mengelola hubungan kompleks antara agen, penyedia identitas, dan server sumber daya. Setiap penyedia merangkum konfigurasi titik akhir tertentu yang diperlukan untuk layanan atau sistem identitas tertentu. Layanan ini menyediakan penyedia bawaan untuk layanan populer termasuk Google,, Slack GitHub, dan Salesforce, dengan titik akhir server otorisasi dan parameter khusus penyedia yang telah dikonfigurasi sebelumnya untuk mengurangi upaya pengembangan. AgentCore Identity mendukung konfigurasi khusus melalui penyedia kredensia OAuth2 yang dapat dikonfigurasi yang dapat disesuaikan untuk bekerja dengan server sumber daya apa pun. OAuth2-compatible Untuk informasi tentang batas penyedia kredensia OAuth2, lihat Kuota Layanan AgentCore Identitas.
Penyedia kredensia sumber daya terintegrasi secara mendalam dengan brankas token untuk menyediakan manajemen siklus hidup kredensia yang mulus. Ketika agen meminta akses ke sumber daya, penyedia menangani alur otentikasi, menyimpan kredenSIAL yang dihasilkan di brankas token, dan menyediakan token akses yang diperlukan kepada agen.
Membuat penyedia kredensia OAuth 2.0
Konfigurasi penyedia di AgentCore Identitas menentukan parameter dasar yang diperlukan untuk manajemen kredensia dengan sumber daya dan sistem otentikasi yang berbeda.
Jika Anda menggunakan AgentCore CLI, Anda dapat membuat penyedia kredensia OAuth 2.0 dengan perintah: 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
CLI menyimpan konfigurasi kredensia agentcore/agentcore.json dan menyimpan nilai sensitif (ID klien dan rahasia klien) ke. agentcore/.env.local
Atau, Anda dapat membawa rahasia Anda sendiri dengan memberikan referensi ke rahasia klien yang sudah disimpan di Manajer AWS Rahasia:
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
Atau, Anda dapat menggunakan AgentCore SDK untuk mengonfigurasi penyedia kredensia OAuth 2.0 secara terprogram. Contoh berikut mengonfigurasi penyedia untuk 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"
}
}
})
Untuk mengonfigurasi pertukaran token on-behalf of (OBO) pada penyedia kredensia OAuth 2.0, tambahkan ke konfigurasi penyedia. onBehalfOfTokenExchangeConfig Untuk mode, parameter, dan contoh yang didukung, lihat pertukaran On-behalf-of token.
Untuk mengotentikasi ke titik akhir token hilir menggunakan pernyataan klien JWT yang ditandatangani yang didukung oleh kunci AWS KMS alih-alih rahasia klien, konfigurasikan PRIVATE_KEY_JWT sebagai metode otentikasi klien. Untuk petunjuk penyiapan, opsi algoritma penandatanganan, dan persyaratan kunci KMS, lihat Kunci Pri badi J WT.
Membuat penyedia kredensia kunci API
Untuk layanan yang menggunakan kunci API untuk otentikasi daripada OAuth, AgentCore Identity akan menyimpan dan mengambil kunci untuk agen Anda dengan aman. Untuk informasi tentang batas penyedia kredensia kunci API, lihat Kuota Layanan AgentCore Identitas.
Jika Anda menggunakan AgentCore CLI, Anda dapat menyimpan kunci API dengan satu perintah:
agentcore add credential --name your-service-name --api-key your-api-key
Atau, Anda dapat membawa rahasia Anda sendiri dengan memberikan referensi ke kunci API yang sudah disimpan di 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
Atau, Anda dapat menggunakan AgentCore SDK untuk menyimpan kunci API secara terprogram:
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"
})
Membuat penyedia kredensia pembayaran
Untuk layanan yang menggunakan kredentif pemroses pembayaran seperti Coinbase CDP atau Stripe Privy, AgentCore Identity menyimpan kunci API terkait, rahasia aplikasi, dan rahasia dengan aman di wallet/authorization Secrets Manager dan hanya menampilkan ARN-nya ke agen Anda. Untuk informasi tentang batas penyedia kredensia pembayaran, lihat Kuota Layanan AgentCore Identitas.
Penyedia kredensi pembayaran saat ini mendukung dua vendor: CoinbaseCDP danStripePrivy. Berikan tepat satu blok konfigurasi di bawah providerConfigurationInput yang cocok dengan yang credentialProviderVendor Anda pilih. Atau, Anda dapat membawa rahasia Anda sendiri dengan memberikan referensi ke rahasia yang sudah disimpan di Manajer AWS Rahasia.
contoh
- AWS CLI
-
Contoh berikut membuat penyedia kredensia pembayaran untuk 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
Contoh berikut membuat penyedia kredensia pembayaran CDP Coinbase dengan rahasia yang disimpan di 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
Contoh berikut membuat penyedia kredensia pembayaran untuk 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
Contoh berikut membuat penyedia kredensia pembayaran Stripe Privy dengan rahasia yang disimpan di AWS Secrets Manager:
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
-
Contoh berikut mengonfigurasi penyedia untuk 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"
}
}
)
Contoh berikut mengonfigurasi penyedia CDP Coinbase dengan rahasia yang disimpan di 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"
}
}
}
)
Contoh berikut mengonfigurasi penyedia untuk 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"
}
}
)
Contoh berikut mengonfigurasi penyedia Stripe Privy dengan rahasia yang disimpan di AWS Secrets Manager:
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
-
Contoh berikut mengonfigurasi penyedia untuk 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"
}
}
)
Contoh berikut mengonfigurasi penyedia CDP Coinbase dengan rahasia yang disimpan di 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"
}
}
}
)
Contoh berikut mengonfigurasi penyedia untuk 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"
}
}
)
Contoh berikut mengonfigurasi penyedia Stripe Privy dengan rahasia yang disimpan di AWS Secrets Manager:
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"
}
}
)