Skip to Content
고객사 IT 가이드운영자에게 넘길 값

운영자에게 넘길 값

Microsoft Entra ID 앱 등록 + DNS 준비 완료 후, 귀사 IT 가 채택한 옵션에 따라 운영자 ([email protected]) 에게 전달합니다.

옵션회신 형식채널
Option A (CLI 1줄, 권장)axelabs-bootstrap-{customer}.json 파일 1 개1Password Send / Bitwarden Send (view-once)
Option B (portal 수작업)아래 텍스트 템플릿 8 개 값동일 안전 채널 (한 메시지에 통합)

운영자가 ingest 완료 후 알림 보내드리면, 안전 채널 메시지를 즉시 삭제해 주세요.

⚠️ 구 docs 폐기 안내

이전 버전 (realchoice_entra_id_setup_v2.md 등) 은 Mobile/desktop platform + http://localhost + secret 없음 모델 기반이었습니다. 본 가이드 (registration.mdx 신모델) 가 정본 — Web platform + 도메인 검증된 App ID URI + mcp.access scope + client_secret 발급.

구 docs 가 검색에 잡히면 무시하시고 본 페이지 + registration + domain-prep 만 따라주세요.


Option A — JSON pack 회신 (권장)

registration §Option Aaxelabs-bootstrap.sh 가 만든 파일:

axelabs-bootstrap-<customer_id>.json

이 파일을 수정하지 말고 그대로 첨부 (1Password Send / Bitwarden Send 의 file attachment). 안에 8 개 값 + scope/redirect_uri/application_id_uri 모두 포함되어 운영자가 axe customer ingest <customer> <file> 으로 1 줄에 vault push + customers.yaml 갱신.

스키마 (axelabs-bootstrap/v1) 예시:

{ "schema": "axelabs-bootstrap/v1", "customer": "realchoice", "public_domain": "realchoice.axelabs.ai", "tenant_id": "00000000-0000-0000-0000-000000000000", "generated_by": "[email protected]", "apps": { "blueprint": { "client_id": "...", "client_secret": "..." }, "vaultwarden": { "client_id": "...", "client_secret": "..." }, "frame_mcp": { "client_id": "...", "client_secret": "...", "application_id_uri": "https://realchoice.axelabs.ai/frame/mcp", "scope": "mcp.access", "redirect_uris": [ "https://claude.ai/api/mcp/auth_callback", "https://claude.com/api/mcp/auth_callback" ] } } }

추가로 한 줄 회신 (메일 본문 — secret 없음):

Option A 로 axelabs-bootstrap-realchoice.json 생성 완료. 첨부는 [Bitwarden Send link, view-once 1 회 + 24h 만료] 입니다. ADMIN_EMAIL: [email protected] SENDER_EMAIL: [email protected] — 리얼초이스 IT

ADMIN_EMAIL (첫 Blueprint admin) 과 SENDER_EMAIL (회신자) 은 JSON pack 에 없는 메타 — 메일 본문에 추가.


Option B — 텍스트 템플릿 (수작업 시)

TENANT_ID: <Directory (tenant) ID> BLUEPRINT_CLIENT_ID: <App #1 Application (client) ID> BLUEPRINT_CLIENT_SECRET: <App #1 Client secret VALUE> VAULTWARDEN_CLIENT_ID: <App #2 Application (client) ID> VAULTWARDEN_CLIENT_SECRET: <App #2 Client secret VALUE> FRAME_MCP_CLIENT_ID: <App #3 Application (client) ID> FRAME_MCP_CLIENT_SECRET: <App #3 Client secret VALUE> ADMIN_EMAIL: <첫 Blueprint admin 으로 지정할 사용자 메일> SENDER_EMAIL: <회신 보낸 분 메일 (확인 회신용)>

안전 채널 권장 (필수)

*_CLIENT_SECRET 평문은 다음 경로 금지:

  • ❌ 일반 이메일 (백업·archiving 영구 보관)
  • ❌ Slack/Teams 채팅 (스레드 영구)
  • ❌ 첨부 파일 (메일 서버 캐시)

권장:

  • 1Password Send (view-once 옵션 활성화)
  • Bitwarden Send (만료 + view-once)
  • ✅ 회사 SSO 보호된 보안 메신저
  • ✅ 직접 대면 / 음성 통화

운영자가 Keychain push 완료 통지를 보낸 직후, 안전 채널 메시지를 삭제하시기 바랍니다.

CLIENT_ID 는 평문 무방

*_CLIENT_ID 는 GUID 식별자로 비밀이 아닙니다. 이메일 평문 전송 가능. SECRET 만 안전 채널.

운영자 측 처리

운영자가 회신 받은 후 (customer-onboarding D-day TLDR 참조):

작업명령 (2026-05-23 시점)시점
1. customers.yaml 에 client_id + tenant_id 채워넣기 + services 슬롯 등재현재 수동 (B-onboard-customers-add 자동화 예정)회신 즉시
2. 3 개 client_secret → Vaultwarden pushaxe secret push AZURE_..._CLIENT_SECRET --service {svc} --customer {customer} × 3회신 즉시
3. Cloudflare tunnel + frame stack 부트axe onboard {customer} --apply회신 당일
4. Blueprint stack 부트axe deploy blueprint {customer} --apply회신 당일
5. 첫 로그인 검증 + admin 권한 부여Blueprint 첫 SSO 로그인 후 UPDATE User SET role='admin' WHERE email='...'1일 내
6. 직원 onboarding 가이드 전달신규 직원 onboarding URL1일 내

기존 Vaultwarden 운영 중인 경우

귀사가 이미 Vaultwarden / Timshel fork 를 운영 중이고 그것을 유지하기로 결정 시 — axec stack 의 신규 axe-vaultwarden 신설을 skip 하고 기존 vault 에 OIDC SSO 만 추가합니다. 절차는 배포 협의 §Vault OIDC SSO 통합 참조 (11 key env + 4-block + view-once secret 전달).

만료·회전 정책

Secret기본 만료회전 시점
Blueprint180일만료 30일 전
Vaultwarden180일만료 30일 전
Frame MCP24개월만료 60일 전

만료 30일 전 운영자가 귀사 IT 에게 새 secret 요청 → 받아서 swap. 직원 측은 영향 없음 (claude.ai 측 캐시 자동 갱신).

신규 직원 추가 시

배포 후 신규 직원 (entity 권한) 추가:

  1. 귀사 측 Microsoft 365 에서 회사 메일 발급 + tenant 활성 사용자 등록
  2. 운영자에게 알림:
    신규 직원: firstname.lastname@{customer}.com 업무: 회계 필요 권한: axec read+write
  3. 운영자가 customers.yaml > user_entity_map 에 추가 + 컨테이너 재기동

추가 후 직원은 신규 직원 온보딩 따라 본인 setup.

퇴사 시

  1. 귀사 측 Microsoft 365 에서 사용자 비활성 (그것만으로도 모든 access 차단됨 — Entra ID 측 검증 통과 못 함)
  2. 운영자에게 알림 → user_entity_map 에서 제거 + 마지막 활동 audit log 보관
Last updated on