View a markdown version of this page

Konfigurasikan Otoritas Sertifikat Root untuk Amazon Bedrock AgentCore Browser - Batuan Dasar Amazon AgentCore

Konfigurasikan Otoritas Sertifikat Root untuk Amazon Bedrock AgentCore Browser

Secara default, sesi Amazon Bedrock AgentCore Browser hanya mempercayai otoritas sertifikat yang diakui publik. Jika agen Anda perlu mengakses layanan internal, situs web perusahaan, atau sumber daya di belakang TLS-intercepting proxy yang menggunakan sertifikat yang ditandatangani oleh CA pribadi, Anda harus memberikan sertifikat CA root kustom Anda saat memulai sesi.

Amazon Bedrock AgentCore mengambil konten PEM-encoded sertifikat dari AWS Secrets Manager menggunakan kredenal pemanggil Anda, memvalidasi X.509 format dan kedaluwarsa, dan menginstal sertifikat ke toko kepercayaan OS sesi. Ini memungkinkan browser untuk membuat koneksi HTTPS tepercaya ke sumber daya internal Anda.

Cara kerjanya

Otoritas Sertifikat Root untuk Amazon Bedrock AgentCore Browser berfungsi sebagai berikut:

  1. Anda memberikan daftar lokasi sertifikat, masing-masing menunjuk ke AWS rahasia di Secrets Manager yang berisi sertifikat CA PEM-encoded root.

  2. Amazon Bedrock AgentCore menggunakan kredensi pemanggil Anda untuk mengambil setiap sertifikat dari Secrets Manager. AWS

  3. Setiap sertifikat divalidasi untuk format X.509 PEM yang benar dan diperiksa untuk memastikan belum kedaluwarsa dan tidak digunakan sebelum tanggal mulai validitasnya.

  4. Sertifikat yang valid disebarkan ke toko kepercayaan OS sesi, membuatnya tersedia untuk browser dan klien jaringan apa pun di dalam kotak pasir.

Sertifikat yang dikonfigurasi pada tingkat alat (melaluiCreateBrowser) digabungkan dengan sertifikat apa pun yang disediakan pada waktu mulai sesi. Ini memungkinkan Anda untuk mengatur sertifikat seluruh organisasi pada alat dan menambahkan sertifikat khusus sesi sesuai kebutuhan.

catatan

Konfigurasi sertifikat adalah operasi satu kali per sesi. Setelah sertifikat diinstal, mereka tidak dapat dimodifikasi selama sesi itu.

Prasyarat

Sebelum mengonfigurasi sertifikat root CA, pastikan Anda memiliki yang berikut:

  • Menyelesaikan Prasyarat umum.

  • Sertifikat CA root Anda disimpan sebagai AWS rahasia di Secrets Manager. Setiap rahasia harus berisi PEM-encoded X.509 sertifikat yang valid

  • Izin IAM untuk membaca rahasia sertifikat dari AWS Secrets Manager. Tambahkan izin berikut ke kebijakan IAM Anda:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerCertificateAccess", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:<Region>:<account-id>:secret:<secret-name>" } ] }

Simpan sertifikat Anda di AWS Secrets Manager

Sebelum Anda dapat menggunakan sertifikat CA root dengan Amazon Bedrock AgentCore Browser, Anda harus menyimpannya sebagai AWS rahasia di Secrets Manager. Nilai rahasia harus berupa konten PEM-encoded sertifikat.

contoh
AWS CLI
  1. aws secretsmanager create-secret \ --name "my-corporate-root-ca" \ --description "Corporate root CA certificate for AgentCore sessions" \ --secret-string file://my-root-ca.pem \ --region <region>
Boto3
  1. import boto3 client = boto3.client('secretsmanager', region_name='<region>') # Read the PEM certificate file with open('my-root-ca.pem', 'r') as f: cert_content = f.read() response = client.create_secret( Name='my-corporate-root-ca', Description='Corporate root CA certificate for AgentCore sessions', SecretString=cert_content ) print(f"Secret ARN: {response['ARN']}")

Perhatikan rahasia ARN dari output. Anda akan menggunakan ARN ini saat memulai sesi dengan konfigurasi sertifikat.

penting

Rahasianya harus berisi PEM-encoded X.509 sertifikat yang valid. Sertifikat tidak boleh kedaluwarsa dan harus dalam masa berlakunya. Amazon Bedrock AgentCore memvalidasi format sertifikat dan kedaluwarsa sebelum menginstalnya.

Memulai sesi browser dengan sertifikat kustom

Untuk memulai sesi browser yang mempercayai sertifikat CA root kustom Anda, sertakan certificates parameter dalam StartBrowserSession permintaan Anda.

contoh
AWS CLI
  1. aws bedrock-agentcore start-browser-session \ --browser-identifier "aws.browser.v1" \ --name "session-with-custom-ca" \ --certificates '[ { "location": { "secretsManager": { "secretArn": "arn:aws:secretsmanager:<region>:<account-id>:secret:<secret-name>" } } } ]'
Boto3
  1. import boto3 client = boto3.client('bedrock-agentcore', region_name='<region>') response = client.start_browser_session( browserIdentifier="aws.browser.v1", name="session-with-custom-ca", certificates=[ { "location": { "secretsManager": { "secretArn": "arn:aws:secretsmanager:<region>:<account-id>:secret:<secret-name>" } } } ] ) print(f"Session ID: {response['sessionId']}") print(f"Status: {response['status']}")
API
  1. { "name": "session-with-custom-ca", "certificates": [ { "location": { "secretsManager": { "secretArn": "arn:aws:secretsmanager:<region>:<account-id>:secret:<secret-name>" } } } ] }

Menggunakan beberapa sertifikat

Anda dapat memberikan beberapa sertifikat CA root dalam satu sesi browser. Ini berguna ketika lingkungan Anda membutuhkan kepercayaan untuk beberapa otoritas sertifikat internal, seperti CA terpisah untuk layanan atau lingkungan internal yang berbeda.

contoh
AWS CLI
  1. aws bedrock-agentcore start-browser-session \ --browser-identifier "aws.browser.v1" \ --name "session-with-multiple-cas" \ --certificates '[ { "location": { "secretsManager": { "secretArn": "arn:aws:secretsmanager:<region>:<account-id>:secret:corporate-root-ca" } } }, { "location": { "secretsManager": { "secretArn": "arn:aws:secretsmanager:<region>:<account-id>:secret:proxy-ca" } } } ]'
Boto3
  1. response = client.start_browser_session( browserIdentifier="aws.browser.v1", name="session-with-multiple-cas", certificates=[ { "location": { "secretsManager": { "secretArn": "arn:aws:secretsmanager:<region>:<account-id>:secret:corporate-root-ca" } } }, { "location": { "secretsManager": { "secretArn": "arn:aws:secretsmanager:<region>:<account-id>:secret:proxy-ca" } } } ] )

Konfigurasikan sertifikat di tingkat alat

Anda dapat mengonfigurasi sertifikat di tingkat alat saat membuat browser khusus. Sertifikat yang dikonfigurasi pada tingkat alat secara otomatis diterapkan ke setiap sesi yang dimulai dengan alat itu, selain sertifikat apa pun yang diberikan pada waktu mulai sesi.

Ini berguna untuk sertifikat seluruh organisasi yang harus dipercaya oleh semua sesi browser.

contoh
Boto3
  1. response = client.create_browser( name="corporate-browser", description="Browser with corporate CA trust", certificates=[ { "location": { "secretsManager": { "secretArn": "arn:aws:secretsmanager:<region>:<account-id>:secret:corporate-root-ca" } } } ] ) browser_id = response['browserIdentifier'] print(f"Browser ID: {browser_id}")

Saat Anda memulai sesi dengan browser yang memiliki sertifikat yang dikonfigurasi, sertifikat tingkat alat digabungkan dengan sertifikat tingkat sesi apa pun. Tool-level sertifikat diterapkan terlebih dahulu, diikuti oleh sertifikat tingkat sesi.

Persyaratan dan batasan sertifikat

Sertifikat harus memenuhi persyaratan berikut:

Persyaratan Detail

Format

PEM-encoded X.509 sertifikat

Penyimpanan

AWS Rahasia Secrets Manager (sebagai nilai string, bukan biner)

Validitas

Sertifikat tidak boleh kedaluwarsa dan harus dalam masa berlakunya (antara notBefore dan notAfter tanggal)

Sertifikat maksimum per sesi

10 per sesi dan 10 per alat. Sebuah sesi dapat memiliki hingga 20 sertifikat secara total.

Format RAHASIA ARN

arn:aws:secretsmanager:region:account-id:secret:secret-name

Jenis lokasi

Hanya AWS Secrets Manager yang didukung sebagai lokasi sertifikat