View a markdown version of this page

프라이빗 자격 증명 공급자에 연결 - Amazon Bedrock AgentCore

프라이빗 자격 증명 공급자에 연결

Amazon Bedrock AgentCore Identity는 자체 호스팅 Keycloak, PingFederate 또는 기타 OIDC 호환 권한 부여 서버와 같이 AWS VPC 내에서 호스팅되는 OAuth 2.0 ID 제공업체(IdPs)에 퍼블릭 인터넷에 노출하지 않고 연결할 수 있도록 지원합니다. 이를 통해 AgentCore 런타임 및 AgentCore Gateway를 통한 인바운드 JWT 권한 부여와 아웃바운드 OAuth2 자격 증명 공급자 모두에 프라이빗 IdPs를 사용할 수 있습니다.

VPC 호스팅 IdPs에 대한 프라이빗 연결은 AgentCore Gateway VPC 송신에서 사용하는 것과 동일한 패턴에 따라 Amazon VPC Lattice 리소스 게이트웨이 및 리소스 구성을 사용하여 설정됩니다. AgentCore Identity는 AWSServiceRoleForBedrockAgentCoreIdentity 서비스 연결 역할을 사용하여 IdP 엔드포인트에 대한 프라이빗 연결을 위해 계정에서 VPC Lattice 리소스를 생성하고 관리합니다.

중요

AgentCore는 관리형 Lattice(단순, AgentCore가 리소스 수명 주기 처리)와 자체 관리형 Lattice(고급, 교차 계정 지원 및 전체 거버넌스 가시성)의 두 가지 VPC Lattice 연결 모드를 지원합니다. 각 모드에는 복잡성, 비용 및 제어에 대한 서로 다른 장단점이 있습니다. 장단점과의 자세한 비교는 지원되는 VPC 송신 모드를 참조하세요.

사용 사례

프라이빗 자격 증명 공급자는 조직이 다음과 같은 엔터프라이즈 환경에서 흔히 사용됩니다.

  • 규정 준수 또는 데이터 레지던시 요구 사항을 위해 VPC 내에서 자체 호스팅된 권한 부여 서버 실행

  • 공개적으로 액세스할 수 없는 프라이빗 OIDC 검색 엔드포인트 사용

  • 퍼블릭 인터넷을 통과하지 않고 모든 인증 트래픽이 AWS 네트워크 내에 유지되도록 요구

프라이빗 IdP를 사용한 인바운드 JWT 권한 부여

AgentCore 런타임 또는 AgentCore 게이트웨이에 대한 인바운드 JWT 권한 부여를 구성할 때 권한 부여자는 검색 URL을 사용하여 IdP의 퍼블릭 키(JWKS)를 가져오고 들어오는 JWT 토큰을 검증합니다. IdP가 VPC 내에서 호스팅되고 검색 URL에 공개적으로 액세스할 수 없는 경우 AgentCore Identity가 IdP의 OIDC 검색 및 JWKS 엔드포인트에 도달할 수 있도록 프라이빗 엔드포인트를 구성해야 합니다.

프라이빗 IdP를 사용하여 인바운드 권한 부여 구성

프라이빗 IdP를 사용하여 인바운드 JWT 권한 부여를 구성하려면 AgentCore 런타임 또는 게이트웨이를 생성하거나 업데이트할 때 권한 부여자 구성에 privateEndpoint 블록을 포함합니다.

예: 인바운드 인증을 위한 프라이빗 IdP를 사용한 CreateAgentRuntime

{ "agentRuntimeName": "my-runtime", "authorizerConfiguration": { "customJWTAuthorizer": { "discoveryUrl": "https://idp.internal.example.com/.well-known/openid-configuration", "allowedAudiences": [ "my-agent-audience" ], "allowedClients": [ "my-client-id" ], "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0abc123def456", "subnetIds": [ "subnet-0abc123", "subnet-0def456" ], "endpointIpAddressType": "IPV4", "securityGroupIds": [ "sg-0abc123def" ] } } } } }

예: 인바운드 인증을 위한 프라이빗 IdP가 있는 CreateGateway

{ "name": "my-gateway", "authorizerConfiguration": { "customJWTAuthorizer": { "discoveryUrl": "https://idp.internal.example.com/.well-known/openid-configuration", "allowedAudiences": [ "my-gateway-audience" ], "allowedClients": [ "my-client-id" ], "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0abc123def456", "subnetIds": [ "subnet-0abc123", "subnet-0def456" ], "endpointIpAddressType": "IPV4", "securityGroupIds": [ "sg-0abc123def" ] } } } } }

IdP가 프라이빗 인증 기관에서 발급한 TLS 인증서를 사용하는 경우 그 앞에 퍼블릭 ACM 인증서가 있는 내부 Application Load Balancer를 배치할 수 있습니다. 자세한 내용은 프라이빗 인증서에 대한 해결 방법: ALB를 참조하세요.

자체 관리형 Lattice의 경우를 managedVpcResource로 바꿉니다selfManagedLatticeResource.

예: 인바운드 인증을 위한 자체 관리형 Lattice를 사용한 CreateAgentRuntime

{ "agentRuntimeName": "my-runtime", "authorizerConfiguration": { "customJWTAuthorizer": { "discoveryUrl": "https://idp.internal.example.com/.well-known/openid-configuration", "allowedAudiences": [ "my-agent-audience" ], "allowedClients": [ "my-client-id" ], "privateEndpoint": { "selfManagedLatticeResource": { "resourceConfigurationIdentifier": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-abc123" } } } } }

예: 인바운드 인증을 위한 자체 관리형 Lattice가 있는 CreateGateway

{ "name": "my-gateway", "authorizerConfiguration": { "customJWTAuthorizer": { "discoveryUrl": "https://idp.internal.example.com/.well-known/openid-configuration", "allowedAudiences": [ "my-gateway-audience" ], "allowedClients": [ "my-client-id" ], "privateEndpoint": { "selfManagedLatticeResource": { "resourceConfigurationIdentifier": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-abc123" } } } } }

프라이빗 IdP가 있는 아웃바운드 OAuth 자격 증명 공급자

프라이빗 IdP를 사용하는 아웃바운드 OAuth2 자격 증명 공급자를 구성할 때 AgentCore 자격 증명은 IdP의 토큰 엔드포인트에 연결하여 액세스 토큰에 대한 권한 부여 코드를 교환하거나 클라이언트 자격 증명 부여를 수행해야 합니다. IdP의 토큰 엔드포인트가 VPC 내에서 호스팅되는 경우 자격 증명 공급자에서 프라이빗 엔드포인트를 구성해야 합니다.

프라이빗 IdP를 사용하여 아웃바운드 자격 증명 공급자 구성

프라이빗 IdP로 아웃바운드 OAuth 자격 증명 공급자를 구성하려면 수동 구성으로 사용자 지정 공급자를 사용하여 자격 증명 공급자를 생성할 때 privateEndpoint 블록을 포함합니다.

예: 프라이빗 IdP를 사용하여 OAuth 자격 증명 공급자 생성

{ "name": "my-private-idp-provider", "credentialProviderType": "OAUTH", "oauthCredentialProvider": { "providerType": "CUSTOM", "customProviderConfiguration": { "issuer": "https://idp.internal.example.com/realms/my-realm", "authorizationEndpoint": "https://idp.internal.example.com/realms/my-realm/protocol/openid-connect/auth", "tokenEndpoint": "https://idp.internal.example.com/realms/my-realm/protocol/openid-connect/token" }, "clientId": "my-client-id", "clientSecret": "my-client-secret", "privateEndpoint": { "managedVpcResource": { "vpcIdentifier": "vpc-0abc123def456", "subnetIds": [ "subnet-0abc123", "subnet-0def456" ], "endpointIpAddressType": "IPV4", "securityGroupIds": [ "sg-0abc123def" ] } } } }

자체 관리형 Lattice의 경우를 managedVpcResource로 바꿉니다selfManagedLatticeResource.

{ "name": "my-private-idp-provider", "credentialProviderType": "OAUTH", "oauthCredentialProvider": { "providerType": "CUSTOM", "customProviderConfiguration": { "issuer": "https://idp.internal.example.com/realms/my-realm", "authorizationEndpoint": "https://idp.internal.example.com/realms/my-realm/protocol/openid-connect/auth", "tokenEndpoint": "https://idp.internal.example.com/realms/my-realm/protocol/openid-connect/token" }, "clientId": "my-client-id", "clientSecret": "my-client-secret", "privateEndpoint": { "selfManagedLatticeResource": { "resourceConfigurationIdentifier": "arn:aws:vpc-lattice:us-east-1:123456789012:resourceconfiguration/rcfg-abc123" } } } }

사전 조건

프라이빗 자격 증명 공급자를 구성하기 전에 다음을 확인합니다.

  • 자격 증명 공급자가 실행 중이며 VPC 내에서 액세스할 수 있습니다.

  • IdP의 OIDC 검색 엔드포인트(/.well-known/openid-configuration), JWKS 엔드포인트 및 토큰 엔드포인트는 지정된 서브넷에서 연결할 수 있습니다.

  • 보안 그룹은 IdP에서 사용하는 포트(일반적으로 HTTPS용 포트 443)에서 인바운드 트래픽을 허용합니다.

  • 관리형 Lattice의 경우 AgentCore가 사용자를 대신하여 Identity Network 서비스 연결 역할을 생성할 수 있도록 IAM 보안 주체에 iam:CreateServiceLinkedRole 권한이 있어야 합니다. 필요한 IAM 정책은 Identity Network 서비스 연결 역할을 참조하세요.

  • 관리형 Lattice의 경우 IAM 보안 주체에 Amazon EC2 권한ec2:CreateNetworkInterface도 필요합니다.

프라이빗 자격 증명 공급자를 위한 서비스 연결 역할

자격 증명 공급자에 대한 프라이빗 엔드포인트를 구성할 때 AgentCore 자격 증명은 AWSServiceRoleForBedrockAgentCoreIdentity 서비스 연결 역할을 사용하여 VPC 호스팅 IdP에 대한 연결을 관리합니다. 이 역할은 IAM 보안 주체에 필요한 iam:CreateServiceLinkedRole 권한이 있는 경우 자격 증명 공급자에 대한 관리형 프라이빗 엔드포인트를 처음 구성할 때 자동으로 생성됩니다.

이 역할 생성, 편집 및 삭제에 대한 전체 정책 문서 및 지침은 Identity Network 서비스 연결 역할을 참조하세요.

제한 사항 및 고려 사항

  • 검색 URL은 HTTPS여야 합니다. IdP의 OIDC 검색 URL은 HTTPS를 사용해야 합니다. HTTP 엔드포인트는 지원되지 않습니다.

  • 프라이빗 인증서 : IdP는 공개적으로 신뢰할 수 있는 TLS 인증서를 사용하거나 그 앞에 퍼블릭 ACM 인증서가 있는 ALB를 배치해야 합니다. 자세한 내용은 프라이빗 인증서에 대한 해결 방법: ALB를 참조하세요.

  • 교차 계정: 교차 계정 프라이빗 IdP 연결에는 자체 관리형 Lattice 옵션이 필요합니다. Managed Lattice는 교차 계정 시나리오를 지원하지 않습니다.

VPC Lattice 연결과 관련된 추가 제한 사항은 VPC Lattice를 사용하여 VPC의 프라이빗 리소스에 연결의 제한 및 고려 사항을 참조하세요. VPC Lattice를 사용하여 VPC의 프라이빗 리소스에 연결