View a markdown version of this page

Root-Zertifizierungsstelle für Amazon Bedrock Browser AgentCore konfigurieren - Amazon Grundgestein AgentCore

Root-Zertifizierungsstelle für Amazon Bedrock Browser AgentCore konfigurieren

Standardmäßig vertrauen Amazon Bedrock AgentCore Browser-Sitzungen nur öffentlich anerkannten Zertifizierungsstellen. Wenn Ihre Agenten auf interne Dienste, Unternehmenswebsites oder Ressourcen hinter einem TLS-intercepting Proxy zugreifen müssen, der Zertifikate verwendet, die von einer privaten Zertifizierungsstelle signiert wurden, müssen Sie beim Starten einer Sitzung Ihre benutzerdefinierten Root-CA-Zertifikate angeben.

Amazon Bedrock AgentCore ruft den Inhalt des PEM-encoded Zertifikats mithilfe Ihrer Anruferanmeldedaten von AWS Secrets Manager ab, validiert X.509 Format und Ablauf und installiert die Zertifikate im OS Trust Store der Sitzung. Dadurch kann der Browser vertrauenswürdige HTTPS-Verbindungen zu Ihren internen Ressourcen herstellen.

Funktionsweise

Die Stammzertifizierungsstelle für Amazon Bedrock AgentCore Browser funktioniert wie folgt:

  1. Sie stellen eine Liste von Zertifikatsspeicherorten bereit, die jeweils auf ein Geheimnis in AWS Secrets Manager verweisen, das ein PEM-encoded Root-CA-Zertifikat enthält.

  2. Amazon Bedrock AgentCore verwendet Ihre Anruferanmeldeinformationen, um jedes Zertifikat von AWS Secrets Manager abzurufen.

  3. Jedes Zertifikat wird auf das richtige X.509 PEM-Format validiert und überprüft, um sicherzustellen, dass es nicht abgelaufen ist und nicht vor dem Gültigkeitsbeginn verwendet wird.

  4. Gültige Zertifikate werden im Vertrauensspeicher des Betriebssystems der Sitzung bereitgestellt, sodass sie für den Browser und alle Netzwerkclients in der Sandbox verfügbar sind.

Auf Toolebene (bisCreateBrowser) konfigurierte Zertifikate werden mit allen Zertifikaten kombiniert, die zu Beginn der Sitzung bereitgestellt werden. Auf diese Weise können Sie unternehmensweite Zertifikate für das Tool einrichten und bei Bedarf sitzungsspezifische Zertifikate hinzufügen.

Anmerkung

Die Zertifikatkonfiguration ist ein einmaliger Vorgang pro Sitzung. Sobald Zertifikate installiert sind, können sie für die Dauer dieser Sitzung nicht mehr geändert werden.

Voraussetzungen

Stellen Sie vor der Konfiguration von Root-CA-Zertifikaten sicher, dass Sie über Folgendes verfügen:

  • Sie haben die allgemeinen Voraussetzungen erfüllt.

  • Ihre Root-CA-Zertifikate sind als Secrets in AWS Secrets Manager gespeichert. Jedes Geheimnis muss ein gültiges PEM-encoded X.509 Zertifikat enthalten

  • IAM-Berechtigungen zum Lesen der Zertifikatsgeheimnisse aus AWS Secrets Manager. Fügen Sie Ihrer IAM-Richtlinie die folgenden Berechtigungen hinzu:

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

Speichern Sie Ihr Zertifikat in AWS Secrets Manager

Bevor Sie ein Root-CA-Zertifikat mit Amazon Bedrock AgentCore Browser verwenden können, müssen Sie es als Geheimnis in AWS Secrets Manager speichern. Der geheime Wert muss der Inhalt des PEM-encoded Zertifikats sein.

Beispiel
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']}")

Notieren Sie sich den geheimen ARN aus der Ausgabe. Sie verwenden diesen ARN, wenn Sie Sitzungen mit Zertifikatkonfiguration starten.

Wichtig

Das Geheimnis muss ein gültiges PEM-encoded X.509 Zertifikat enthalten. Das Zertifikat darf nicht abgelaufen sein und muss innerhalb seiner Gültigkeitsdauer liegen. Amazon Bedrock AgentCore überprüft das Format und den Ablauf des Zertifikats vor der Installation.

Starten Sie eine Browsersitzung mit benutzerdefinierten Zertifikaten

Um eine Browsersitzung zu starten, die Ihren benutzerdefinierten Root-CA-Zertifikaten vertraut, fügen Sie den certificates Parameter in Ihre StartBrowserSession Anfrage ein.

Beispiel
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>" } } } ] }

Verwenden mehrerer Zertifikate

Sie können mehrere Root-CA-Zertifikate in einer einzigen Browsersitzung bereitstellen. Dies ist nützlich, wenn in Ihrer Umgebung mehrere interne Zertifizierungsstellen vertrauenswürdig sein müssen, z. B. separate Zertifizierungsstellen für verschiedene interne Dienste oder Umgebungen.

Beispiel
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" } } } ] )

Konfigurieren Sie Zertifikate auf Tool-Ebene

Sie können Zertifikate auf Toolebene konfigurieren, wenn Sie einen benutzerdefinierten Browser erstellen. Auf Toolebene konfigurierte Zertifikate werden automatisch auf jede Sitzung angewendet, die mit diesem Tool gestartet wurde, zusätzlich zu allen Zertifikaten, die beim Sitzungsstart bereitgestellt werden.

Dies ist nützlich für unternehmensweite Zertifikate, denen alle Browsersitzungen vertrauen sollten.

Beispiel
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}")

Wenn Sie eine Sitzung mit einem Browser starten, für den Zertifikate konfiguriert sind, werden die Zertifikate auf Toolebene mit allen Zertifikaten auf Sitzungsebene kombiniert. Tool-level Zertifikate werden zuerst angewendet, gefolgt von Zertifikaten auf Sitzungsebene.

Anforderungen und Beschränkungen für Zertifikate

Zertifikate müssen die folgenden Anforderungen erfüllen:

Anforderung Details

Format

PEM-encoded X.509 Zertifikat

Speicher

AWS Secrets Manager secret (als Zeichenkettenwert, nicht binär)

Gültigkeit

Das Zertifikat darf nicht abgelaufen sein und muss innerhalb seines Gültigkeitszeitraums (zwischen notBefore undnotAfter) liegen

Maximale Anzahl von Zertifikaten pro Sitzung

10 pro Sitzung und 10 pro Tool. Eine Sitzung kann insgesamt bis zu 20 Zertifikate enthalten.

Geheimes ARN-Format

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

Art des Standorts

Nur AWS Secrets Manager wird als Speicherort für Zertifikate unterstützt