본문으로 건너뛰기

M34.03 · 운영 UI의 요청·권한·확인·취소·감사 기록

단위별 목표·권장 선수와 자료 준비 상태를 확인하고, 공개된 본문과 활동을 읽고 준비 상태를 확인할 수 있습니다.

전체 커리큘럼

학습 안내

본문을 읽고 장비 없는 기본 실습·세 확인 문제와 해설로 이해를 확인하세요.

예상 학습 시간: 미정. 이 페이지 방문이나 자료 열람으로 완료·숙달을 자동 부여하지 않습니다.

현재 경로·이전·다음 단위 확인 ↓

학습 목표

  • 관측 화면·명령 초안·사용자 확인·서버 권한 판정을 구분하고 정확한 대상/동작/기한에 확인을 묶는다.
  • 중복 재전송·응답 단절·기한 만료·취소 수락을 합성 기록에서 판정하고 실제 종료/정지와 구분한다.
  • 요청에서 판정·진행·취소·결과·실제 관측까지 연결하는 감사 기록과 미확인 표시를 설계한다.

아래 설명·실습·문제로 각 학습 목표를 확인하세요.

권장 선수

M34.01의 신선도, M22.06의 권한/실행 감독, M30.04의 중단·미상 상태가 선수다. M34.02의 장면 계약과 함께 읽는다. 종이 요청표·합성 로그로 수행하며 실제 인증/서버/로봇 명령·안전 정지를 구현하거나 실증하지 않는다. 언어/문법 설명은 제외한다. 이미 알고 있다면 직접 열어볼 수 있습니다.

설명 필수

세 목표에 대응하는 검수된 설명·예제를 읽습니다.

화면에서 보이는 것과 실행할 수 있는 것은 다르다

관제에서 r1의 위치를 볼 수 있다고 r1을 움직일 권한까지 있다는 뜻은 아니다. 운영 UI는 관측을 읽는 경로와 변경을 요청하는 경로를 구분해야 한다. 지도에서 선택한 로봇이 바뀌었는데 확인창에는 이전 로봇 이름이 남아 있다면, 버튼을 한 번 더 누르는 것으로 정확한 확인이 되지 않는다.

M34.01은 현재/마지막 관측을, M34.02는 장면의 좌표·시간·개정 정합을 다뤘다. 이제 그 관측을 근거로 누가 무엇을 요청했고 어떤 범위가 승인됐으며 실제로 무엇이 확인됐는지를 나눈다. 이 단원의 UI는 설계 대상이며 제공 표는 합성 자료다. 이 페이지에서 실제 로봇을 조작하는 기능은 없다.

권한 검사는 신뢰된 실행 경로에 둔다

인증은 주체가 누구인지 확인하는 일이고, 권한 판정은 그 주체가 특정 대상에 특정 동작을 할 수 있는지 확인하는 일이다. 버튼을 숨기거나 비활성화하는 것은 사용자 안내에 도움이 되지만 서버의 권한 검사를 대신하지 못한다. UI를 우회한 요청도 같은 판정을 받아야 한다.

OWASP Authorization 지침은 최소 권한·기본 거부와 매 요청 권한 확인을 설명한다. 이 수업에서는 이를 대상/동작/범위/기한 검사로 구체화한다. 역할 이름 하나만 보고 허가하지 않고 해당 로봇·과업·세대와 현재 조건까지 확인한다. 실제 인증·권한 서비스나 안전 인증을 구현했다는 뜻은 아니다.

주체/요청화면/서버가 구분할 것
viewer의 상태 읽기허용된 관측 범위만 제공, 변경 권한 자동 부여 안 함
operator의 r1 이동 요청r1·동작/거리/속도·세대/장면·기한·현재 관측 조건 검사
같은 operator의 r2 요청r1 허가를 r2로 확대하지 않음
AI가 만든 이동 초안제안 자료이며 권한/사용자 확인/실행 결과가 아님

‘확인했습니다’라는 UI 상태는 사용자 확인의 기록이다. 신뢰된 서버의 허가 판정, 로봇의 실행 수락, 실제 물리 결과는 별도로 필요하다. M22.06의 감독과 M30.04의 미상/중단 조건을 유지한다.

확인은 정확한 요청 내용에 묶는다

가상 요청 q17은 대상 r1/bootA, map-v7/model-v3에서 전진거리0.5m·속도상한0.1m/s라는 초안이다. q17은 교육용 식별자이며 암호학적 내용 지문이 아니다. 실제 계약은 요청ID와 정확한 정규화 내용/개정의 대응, 변경 감지와 확인의 연결을 정의해야 한다.

최종 확인 화면은 대상/과업·동작과 한계·관측의 시각/유효성·지도/모델 개정·권한 만료·예상 영향과 취소의 한계를 보여 준다. 내용을 바꾸면 확인도 다시 받아야 한다. 거리0.5m를1.0m로 바꾸거나 r2·새 지도 개정을 선택했는데 이전 q17의 확인 표시를 그대로 쓰지 않는다. 재확인해도 범위 밖 요청이 자동 허가되는 것은 아니다.

UI는 확인 직후의 상태만 신뢰하지 않는다. 확인과 실제 admission 사이에 권한이 만료되거나 관측/장면이 달라질 수 있다. admission은 명령을 실행 경로에 새로 받아들이는 판정이다. 그 시점에 신뢰된 서버가 현재 권한과 정확한 요청·상태 조건을 다시 검사한다.

나이 경계와 요청 만료 경계를 따로 계산한다

합성 시계는 ClockA이며 근거 관측은1000ms, 표시용 관측 TTL은200ms를 포함한다. q17의 권한/확인은1100ms부터1200ms 전까지 유효하다. 구간 표기 [1100,1200)은 시작을 포함하고 끝을 제외한다. 다음 표는 권한 범위와 장면·현재 상태가 모두 맞다는 가정이다. 실제 전진을 실행하는 표가 아니다.

admission 시각관측 나이/신선도요청 권한/확인새 요청 판정
1110ms110ms, 유효유효나머지 조건 충족 시 허용 가능
1199ms199ms, 유효유효나머지 조건 충족 시 허용 가능
1200ms200ms, 경계 포함 유효만료거부, 관측 통과만으로 허가 못 함
1201ms201ms, 만료만료거부, 두 실패를 별도로 기록

따라서1200ms에는 관측이200ms로 유효해도 요청 권한이 만료돼 admission을 거부한다. 모든 관문을 함께 만족해야 한다. 이200/1200ms는 교육용 계약이며 실제 장비의 제어·안전 기준으로 쓰지 않는다. 요청 만료는 새 admission을 막는 조건이며 이미 수행 중인 동작이 물리적으로 정지했다는 뜻도 아니다.

재전송할 때 새 물리 동작을 만들지 않게 한다

응답이 끊겼다면 서버가 요청을 받지 못했을 수도 있고 처리했는데 응답만 잃었을 수도 있다. 타임아웃을 곧바로 실패/미실행이라고 보고 새 요청ID로 반복하면 같은 동작이 두 번 수행될 수 있다. 화면은 ‘응답 미확인’을 표시하고 기존 요청의 상태를 조회/대조하는 경로를 제공한다.

멱등성 키(idempotency key)는 같은 논리 요청의 재시도를 연결하기 위한 키다. 이번 계약에서 같은 주체·대상 범위의 q17/key17·동일 내용 재전송은 기존 처리 기록에 연결하고 새 실행 효과를 만들지 않는다. 동일 키인데 거리/대상 등 내용이 다르면 충돌로 거부한다. 단순히 같은 키라는 이유로 바뀐 내용을 새로 실행하지 않는다.

이 규칙은 서버의 저장/동시성·보존 기간·실행기와의 연계가 필요한 설계다. 클라이언트의 버튼 연타 방지만으로 네트워크 전체의 정확히 한 번 실행을 증명하지 않는다. 보존 범위 밖이거나 재시작 후 처리 기록이 없으면 자동 재실행 대신 미확인으로 두고 요청/실제 상태를 복구 절차로 확인한다. 현재 자료는 그 구현을 제공하는 것이 아니라 요청표의 판정을 연습한다.

취소 수락·종료 결과·실제 정지를 나눈다

취소 요청 c17은 원 요청 q17 또는 실행 goal의 정확한 ID에 연결한다. ‘전체 취소’와 ‘이 요청 취소’를 같은 동작으로 취급하지 않는다. 취소를 누른 뒤 버튼을 지웠다고 실행 결과를 CANCELED나 물리 정지로 바꾸지 않는다.

ROS2 Jazzy CancelGoal 정의에서 오류 없는 취소 수락은 해당 goal들이 CANCELING으로 전환됐음을 나타낸다. 이는 취소 완료나 실제 정지의 관측과 다르다. 이 단원에서도 요청/수락·진행·최종 결과·물리 관측을 다른 열로 추적한다.

합성 기록말할 수 있는 것아직 확인할 것
q17 ACCEPTED실행기가 요청을 수락진행/종료·물리 성과
c17 ACCEPTED, goal CANCELING취소 처리가 수락/진행 중최종 상태·실제 정지
q17 CANCELED해당 실행의 소프트웨어 종료 결과실제 속도/물체/잔여 동작·관측 시각
r1 속도 관측 만료/누락현재 속도 미확인신선한 관측과 별도 감독/현장 절차

UI/통신 장애로 물리 정지가 확인되지 않으면 감독 상태는 미상이며 자동 재개하지 않는다. 네트워크 취소 버튼은 독립된 물리 정지 수단과 같은 보장을 하지 않는다. 이미 일어난 동작이나 이동한 물체는 소프트웨어 취소/코드 롤백만으로 원상복구되지 않는다. 실제 설비의 정지/재개는 그 장비의 검증된 감독 절차가 필요하며 여기서는 실행하지 않는다.

감사 기록은 결정과 관측의 연결을 보존한다

OWASP Logging 지침은 사건의 시각·장소·주체·내용과 연결 식별자를 다룬다. 관제에는 요청ID/내용 개정, 주체·대상/세대·과업, 지도/모델 개정, 권한 판정과 이유, 확인 내용/시각, admission/실행ID, 취소ID·최종 결과, 별도 관측 출처/시각을 연결해 남긴다. 원발생/수집/표시 시각도 구분한다.

이력에 거부·만료·중복·내용 충돌·권한 변경과 수집 실패도 남겨야 한다. 성공한 버튼 클릭만 기록하면 왜 다음 상태가 되었는지 재구성하기 어렵다. 감사 기록의 접근 권한·변경 방지·보존/수집 상태도 별도 설계 대상이다. 원토큰·비밀번호·불필요한 개인정보를 기록에 복사하지 않는다.

로그에 ACCEPTED가 있다는 사실만으로 물리 성과가 검증되지는 않는다. 반대로 로그가 없다는 이유만으로 실행이 없었다고 단정해서도 안 된다. 수집 누락 가능성과 요청·실제 관측을 함께 확인한다. 학습 답안에도 ‘확인된 단계/시각/출처’와 ‘아직 미확인’을 나누어 적는다.

기존 6.6 평가 설계의 실행 근거에 이 연결을 더한다. 이후 P4에서는 정책/트윈/관제 기록을 조건과 실패 분모에 연결하고, M32.01 등 캡스톤에서는 선택 과제의 재현·판정 근거를 구성한다. 화면상의 허가만으로 실물 전이 성과를 대신하지 않는다.

학습 범위와 한계

기본 설명·예제가 준비되었습니다. 기존 보충 자료의 범위와 구별하세요.

실습 필수

장비 없는 실습을 수행하고 관찰·계산 근거를 해설과 비교합니다.

종이나 메모에 요청/관문/처리 결과/실제 관측/미확인 열을 만든다. 실제 요청은 보내지 않는다.

  1. q17의 대상·거리/속도·세대/개정·관측시각·확인/권한 기한을 적고1110/1199/1200/1201ms의 판정을 계산한다.
  2. viewer 또는 r2 요청, 거리1.0m 변경, 새map-v8의 경우 무엇을 거부/재확인해야 하는지 적는다. 재확인과 권한 부여를 구분한다.
  3. q17/key17의 동일 내용 재전송·같은 키 다른 내용·응답 단절을 비교한다. 새 요청ID로 자동 반복하는 것이 왜 중복 동작을 만들 수 있는지 설명한다.
  4. c17수락→CANCELING→CANCELED 뒤 속도 관측이 만료됐다고 하자. 확인된 단계와 미확인을 나누고 감사 기록의 연결 항목을 작성한다.

막히면 ‘버튼 클릭’, ‘서버 판정’, ‘실행기 결과’, ‘물리 관측’을 별도 행으로 나눈다. 다음 행을 앞 행만으로 자동 채우지 않는다. 근거와 한계를 답안에 직접 적는다.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

학습 범위와 한계

기본 실습은 장비 없이 수행합니다. 실제 장비·GPU 실증을 완료했다는 뜻은 아닙니다.

평가·해설 필수

목표별 세 서술문항에 답하고 해설·판정 기준으로 자기검토합니다.

확인 문제 Q1

확인창에서 r1의0.5m 이동에 동의한 뒤 대상이r2, 거리가1.0m로 바뀌었다. 버튼에 확인 표시가 남아 있고 로그인된 operator라면 바로 실행해도 되는가? 무엇을 어디서 다시 검사하는가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q2

1200ms에 관측 나이는200ms이고 q17의 유효구간은[1100,1200)ms다. 요청을 허용해도 되는가? 응답이 끊겨 새 요청ID로 재실행하거나 같은키의 내용을 바꾸면 어떤 문제가 있는가?

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

확인 문제 Q3

c17이 수락돼 CANCELING, 이후 q17이 CANCELED로 기록됐다. 마지막 속도 관측은 만료됐고 일부 감사 로그 수집도 끊겼다. 화면에 실제 정지·미실행을 확정 표시해도 되는가? 필요한 연결 근거를 적어라.

0 / 8,000자 · 확인하면 이 브라우저에 저장

답안을 작성하고 확인하기를 한 번 선택하면 해설·판정 기준을 열어볼 수 있습니다.

학습 범위와 한계

서술답안과 해설이 준비되었습니다. 자기검토와 학습 완료는 숙달 인증과 별개입니다.

참고 자료

학습 확인

실습과 세 문항의 답안을 해설과 비교한 뒤, 이 단위의 학습 완료를 직접 기록할 수 있습니다. 자기검토·학습 완료는 자동 채점이나 숙달 인증과 별개입니다.

실습1개·확인 문제3개의 답안을 저장하고 각각 자기검토를 기록하세요.

학습 이동

학습 단계 순서 · 공통 과정 이후 전문화 선택

전체 목차로 돌아가기 →

신규 활동의 답안은 이 브라우저의 통합 학습 기록에 저장합니다. 기존 화면의 답안·진도는 원래 키를 유지합니다. AI 강사는 현재 단위의 준비 상태·부족한 범위와 연결된 실제 자료를 참고합니다.