제공되는 기능
- ID 공급자를 통한 Manager 및 API 로그인
- 역할:
eddi-admin,eddi-editor,eddi-user,eddi-viewer, 그리고 승인 결정을 위한eddi-approver - 설치 프로그램이 Keycloak으로 가져오는 준비된
eddi렐름 - 로그인한 사용자로 실행되는 호출이므로 감사 추적에 실제 사용자가 기록됨
EDDI에서의 동작 방식
- 설치 프로그램을
--with-auth와 함께 실행합니다. Keycloak이 시작되고 첫 부팅 때eddi렐름을 가져옵니다. - Keycloak 관리 콘솔에서
eddi사용자의 비밀번호를 설정합니다. 포함된 렐름에는 비밀번호가 없습니다. - Manager에 로그인합니다. 사용자에게 필요한 역할을 부여하고 승인자를
eddi-approver에 추가합니다. - 기존 ID 공급자를 사용하려면
QUARKUS_OIDC_*변수(테넌트 활성화, 인증 서버 URL, 클라이언트 ID, 클라이언트 시크릿)를 설정합니다. - HTTP 호출에서는
${caller:token}을 사용해 하나의 공유 자격 증명 대신 로그인한 사용자 본인의 토큰으로 API를 호출합니다.
설정
EDDI 문서를 기준으로 합니다. your-agent-id 같은 플레이스홀더는 직접 바꿔서 사용하세요.
bash install.sh --with-authdocker run -d \
-p 7070:7070 \
-e MONGODB_CONNECTIONSTRING='mongodb://mongo:27017/eddi?retryWrites=true&w=majority' \
-e QUARKUS_OIDC_TENANT_ENABLED=true \
-e QUARKUS_OIDC_AUTH_SERVER_URL='https://keycloak.example.com/realms/eddi' \
-e QUARKUS_OIDC_CLIENT_ID=eddi \
-e QUARKUS_OIDC_CREDENTIALS_SECRET="$OIDC_CLIENT_SECRET" \
labsai/eddi:6.4.0거버넌스
- 프로덕션 시작 모드에서는 명시적으로 옵트아웃하지 않는 한 OIDC가 꺼진 상태로는 EDDI가 시작을 거부합니다. 따라서 관리 API가 열려 있다면 실수가 아니라 의도적인 결정입니다.
- 승인 엔드포인트에는
eddi-approver역할이 필요하며, 소유자나eddi-admin도 사용할 수 있습니다. ${caller:token}을 사용하면 감사 추적에 실제 사용자가 기록됩니다. 공유 정적 자격 증명을 쓰면 모든 작업이 하나의 주체로 뭉뚱그려집니다.
알아 두면 좋은 점
- 인증은 선택 사항이며 기본적으로 꺼져 있습니다. 설치 프로그램이 프로비저닝하는 것은 Keycloak입니다. 다른 OIDC 공급자도 같은 설정을 사용하지만, 일부 세부 사항(예: A2A에서 공개하는 토큰 엔드포인트)은 설정하지 않으면 Keycloak 경로를 가정합니다.
- 포함된 렐름 가져오기는 한 번만 수행됩니다. 이후 JSON을 수정해도 실행 중인 Keycloak에는 반영되지 않습니다.
관련 통합
이 페이지의 설정과 동작은 2026-10-14에 확인한 EDDI 문서를 따릅니다. 필드 이름과 기본값은 릴리스마다 달라질 수 있으므로, 사용 중인 버전의 문서에서 확인하세요.