Amazon Bedrock AgentCore 코드 해석기에 대한 루트 인증 기관 구성
기본적으로 Amazon Bedrock AgentCore 코드 해석기 세션은 공개적으로 인식된 인증 기관만 신뢰합니다. 에이전트가 프라이빗 CA에서 서명한 인증서를 사용하는 TLS 가로채기 프록시 뒤에 있는 내부 서비스 또는 리소스에 액세스해야 하는 경우 세션을 시작할 때 사용자 지정 루트 CA 인증서를 제공해야 합니다.
Amazon Bedrock AgentCore는 호출자 자격 증명을 사용하여 AWS Secrets Manager에서 PEM 인코딩 인증서 콘텐츠를 검색하고, X.509 형식 및 만료를 검증하고, 인증서를 세션의 OS 트러스트 스토어에 설치합니다. 이렇게 하면 코드 인터프리터가 내부 리소스에 대한 신뢰할 수 있는 HTTPS 연결을 설정할 수 있습니다.
작동 방식
Amazon Bedrock AgentCore 코드 해석기의 루트 인증 기관은 다음과 같이 작동합니다.
-
PEM 인코딩 루트 CA 인증서가 포함된 AWS Secrets Manager에서 각각 보안 암호를 가리키는 인증서 위치 목록을 제공합니다.
-
Amazon Bedrock AgentCore는 호출자 자격 증명을 사용하여 AWS Secrets Manager에서 각 인증서를 검색합니다.
-
각 인증서는 올바른 X.509 PEM 형식에 대해 검증되고 만료되지 않았으며 유효 시작 날짜 이전에 사용되지 않았는지 확인합니다.
-
유효한 인증서가 세션의 OS 트러스트 스토어에 배포되므로 코드 실행 런타임과 샌드박스 내의 모든 네트워크 클라이언트에서 사용할 수 있습니다.
도구 수준(를 통해CreateCodeInterpreter)에서 구성된 인증서는 세션 시작 시 제공된 모든 인증서와 결합됩니다. 이렇게 하면 도구에서 조직 전체 인증서를 설정하고 필요에 따라 세션별 인증서를 추가할 수 있습니다.
참고
인증서 구성은 세션당 일회성 작업입니다. 인증서가 설치되면 해당 세션 기간 동안 수정할 수 없습니다.
사전 조건
루트 CA 인증서를 구성하기 전에 다음이 있는지 확인합니다.
-
일반 사전 조건을 완료했습니다.
-
AWS Secrets Manager에 보안 암호로 저장된 루트 CA 인증서입니다. 각 보안 암호에는 유효한 PEM 인코딩 X.509 인증서가 포함되어야 합니다.
-
AWS Secrets Manager에서 인증서 보안 암호를 읽을 수 있는 IAM 권한. IAM 정책에 다음 권한을 추가합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerCertificateAccess", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:<Region>:<account-id>:secret:<secret-name>" } ] }
AWS Secrets Manager에 인증서 저장
Amazon Bedrock AgentCore 코드 해석기와 함께 루트 CA 인증서를 사용하려면 먼저 AWS Secrets Manager에 보안 암호로 저장해야 합니다. 보안 암호 값은 PEM 인코딩 인증서 콘텐츠여야 합니다.
예
출력의 보안 암호 ARN을 기록해 둡니다. 인증서 구성으로 세션을 시작할 때이 ARN을 사용합니다.
중요
보안 암호에는 유효한 PEM 인코딩 X.509 인증서가 포함되어야 합니다. 인증서는 만료되지 않아야 하며 유효 기간 내에 있어야 합니다. Amazon Bedrock AgentCore는 인증서 형식과 만료를 확인한 후 설치합니다.
사용자 지정 인증서로 코드 인터프리터 세션 시작
사용자 지정 루트 CA 인증서를 신뢰하는 코드 인터프리터 세션을 시작하려면 StartCodeInterpreterSession 요청에 certificates 파라미터를 포함합니다.
예
여러 인증서 사용
단일 코드 인터프리터 세션에서 여러 루트 CA 인증서를 제공할 수 있습니다. 이는 환경에 다양한 내부 서비스 또는 환경에 대한 별도의 CAs와 같은 여러 내부 인증 기관에 대한 신뢰가 필요한 경우에 유용합니다.
예
도구 수준에서 인증서 구성
사용자 지정 코드 인터프리터를 생성할 때 도구 수준에서 인증서를 구성할 수 있습니다. 도구 수준에서 구성된 인증서는 세션 시작 시 제공된 인증서 외에도 해당 도구로 시작된 모든 세션에 자동으로 적용됩니다.
이는 모든 코드 인터프리터 세션에서 신뢰해야 하는 조직 전체의 인증서에 유용합니다.
예
인증서가 구성된 코드 인터프리터로 세션을 시작하면 도구 수준 인증서가 모든 세션 수준 인증서와 결합됩니다. 도구 수준 인증서가 먼저 적용된 다음 세션 수준 인증서가 적용됩니다.
인증서 요구 사항 및 제한
인증서는 다음 요구 사항을 충족해야 합니다.
| 요구 사항 | 세부 정보 |
|---|---|
|
형식 |
PEM 인코딩 X.509 인증서 |
|
스토리지 |
AWS Secrets Manager 보안 암호(바이너리가 아닌 문자열 값으로) |
|
유효성 |
인증서는 만료되지 않아야 하며 유효 기간(~ |
|
세션당 최대 인증서 수 |
세션당 10개, 도구당 10개. 세션은 최대 총 20개의 인증서를 가질 수 있습니다. |
|
보안 암호 ARN 형식 |
|
|
위치 유형 |
AWS Secrets Manager만 인증서 위치로 지원됩니다. |
문제 해결
다음 표에서는 Amazon Bedrock AgentCore 코드 인터프리터에 대한 루트 CA 인증서를 구성할 때 발생하는 일반적인 오류와 해결 방법을 설명합니다.
| 오류 | 원인 | 해결 방법 |
|---|---|---|
|
Secrets Manager에서 인증서 암호를 찾을 수 없음 |
보안 암호 ARN이 존재하지 않거나 보안 암호가 삭제되었습니다. |
보안 암호 ARN이 올바르고 보안 암호가 지정된 리전에 존재하는지 확인합니다. |
|
Secrets Manager의 인증서 보안 암호에 대한 액세스 거부 |
호출자에게 보안 암호에 대한 |
지정된 보안 암호 ARN에 대한 IAM 정책에 |
|
인증서 콘텐츠가 유효한 PEM/X.509 형식이 아닙니다. |
보안 암호 값이 유효한 PEM 인코딩 X.509 인증서가 아닙니다. |
보안 암호에 로 시작하고 |
|
인증서가 만료되었습니다. |
인증서의 |
만료된 인증서를 AWS Secrets Manager의 유효한 인증서로 바꾸고 다시 시도하세요. |
|
인증서가 아직 유효하지 않음 |
인증서 날짜는 미래 |
인증서의 유효 기간이 시작될 때까지 기다리거나 현재 유효한 인증서를 사용합니다. |
|
인증서 수가 허용되는 최대값을 초과합니다. |
세션 수준 또는 도구 수준에서 10개 이상의 인증서가 제공되었습니다. |
인증서 수를 세션당 10개 이하, 도구당 10개 이하로 줄입니다. |
|
인증서 위치는 필수입니다. |
인증서 항목이 위치 없이 제공되었습니다. |
배열의 각 인증서에 유효한가 포함된 |
|
인증서 구성이 활성화되지 않음 |
계정에는 인증서 기능이 활성화되어 있지 않습니다. |
계정에 대한 인증서 기능을 활성화하려면 AWS Support에 문의하세요. |