[이 문서는 시험판 설명서이므로 변경될 수 있습니다.]
솔루션 검사기의 정적 분석 기능으로 개발 워크플로를 개선하십시오. 이 도구는 로봇 프로세스 자동화(RPA)의 모범 사례를 지원하며 최적의 성능을 보장하기 위해 흐름을 자동으로 평가하여 중요한 흐름 요구 사항을 충족합니다. 정적 분석은 디자이너의 흐름 검사기 섹션에서 사용할 수 있습니다. 주요 지침을 적용하고 실시간 피드백 및 조기 코드 검사를 제공합니다. 워크플로에 직접 통합되고, 코드 품질을 개선하며, 보다 효율적이고 생산적인 개발 경험을 위한 토대를 마련합니다.
중요
- 이는 프리뷰 기능입니다.
- 프리뷰 기능은 프로덕션용으로 만들어진 것이 아니므로 기능이 제한될 수 있습니다. 이러한 기능에는 추가 사용 약관이 적용되며, 고객이 조기에 액세스하고 피드백을 제공할 수 있도록 공식 출시 전에 제공됩니다.
규칙 관리
규칙은 Power Platform 관리 센터의 솔루션 검사기를 통해 정의되고 관리됩니다. 관리자는 다음 작업을 수행할 수 있습니다.
- 규칙을 활성화하거나 비활성화합니다.
- 심각도 수준(오류, 경고, 정보)을 구성합니다.
- 특정 환경 또는 환경 그룹에 규칙을 적용합니다(관리형 환경만 해당).
관리 센터의 구성
정적 분석 규칙을 구성하려면:
- Power Platform 관리 센터로 이동합니다.
- 관리>환경을 선택하여 계속 진행합니다.
- 관리형 환경 편집을 선택합니다.
- 솔루션 검사기 적용 섹션에서 선택한 환경에 대해 제외해야 하는 규칙을 구성합니다.
참고
- 환경이 정의된 구성이 있는 환경 그룹의 일부인 경우 규칙 설정은 상속되며 개별적으로 편집할 수 없습니다. 솔루션 검사기 및 관리형 환경의 솔루션 검사기 적용에서 솔루션 검사기에 대해 자세히 알아보세요.
- Power Platform 관리자는 기능에 액세스해야 하는 모든 역할에
prvReadmsdyn_analysisoverride
(식별 이름: '분석 재정의(읽기)') 권한을 할당해야 합니다.
포털에서 정적 분석 실행
정적 분석을 수동으로 트리거하는 방법:
Power Automate 포털의 솔루션 페이지로 이동합니다.
솔루션 옆에 있는 상황에 맞는 메뉴(⋯)를 엽니다.
솔루션 검사기 위로 마우스를 가져갑니다.
다음 옵션 중 하나를 선택합니다.
- 실행: 정적 분석을 시작합니다.
- 결과 보기: 최신 분석 보고서를 엽니다.
- 결과 다운로드: 오프라인 검토를 위해 보고서를 내보냅니다.
참고
정적 분석은 솔루션에 포함된 모든 데스크톱 흐름에 대해 실행됩니다. 결과에서 개체 이름 열을 확인하여 특정 규칙 위반을 트리거하는 데스크톱 흐름을 식별합니다. 이 열에는 해당 데스크톱 흐름의 이름이 표시됩니다.
디자이너의 정적 분석
정적 분석은 자동으로 실행되어 수동 개입 없이 코드를 지속적으로 검사합니다. 흐름에서 작업을 추가, 제거 또는 수정하면 이 기능이 활성화되어 변경 사항을 평가하고 분석을 새로 고칩니다. 이 프로세스는 개발을 원활하고 효율적으로 만듭니다.
각 분석은 성공적으로 준수된 규칙의 비율을 보여주는 백분율 점수를 생성합니다. 점수가 높을수록 위반 횟수가 적고 코드 품질이 향상됩니다.
이 점수는 흐름이 변경될 때마다 다시 계산되어 즉각적인 피드백을 제공하고 좋은 개발 사례를 장려합니다.
규칙을 위반하면 정적 분석 보고서에 명확한 요약이 표시됩니다. 여기에는 규칙 이름과 흐름에서 각 규칙을 위반하는 작업 또는 변수의 수가 나열됩니다. 규칙을 선택하면 해당 작업이 강조 표시되고 자세한 오류 설명이 제공됩니다. 변수 관련 위반의 경우 시스템은 변수 창으로 이동하여 쉽게 수정할 수 있습니다.
각 위반에는 오류의 특성, 권장 수정 사항 및 설명서에 대한 링크를 포함한 세부 정보가 포함된 타일이 표시됩니다. 규칙 헤더의 슬라이더를 사용하여 동일한 위반 발생 사이를 이동합니다. 이 지침은 개발자가 문제를 빠르고 효과적으로 해결하는 데 도움이 됩니다.
정적 분석 규칙
정적 분석 규칙은 흐름의 보안, 유지 관리 및 성능이 잘 유지되도록 돕는 미리 정의된 지침입니다. 각 규칙은 보안, 성능, 유지 관리 용이성과 같은 흐름 설계의 특정 측면을 대상으로 하며 흐름의 품질을 개선하기 위한 실행 가능한 피드백을 제공합니다. 다음은 규칙, 설명 및 제안된 수정 사항 목록입니다.
안전하지 않은 암호 보안
- 심각도: 경고
- 유형: 보안
- 오류 세부 정보: 암호는 흐름에서 안전하게 관리되지 않습니다.
- 설명: 이 규칙은 데스크톱 흐름에서 암호가 안전하지 않게 관리되는지 확인하여 실행 중에 암호가 노출되거나 잘못 처리되지 않는지 확인합니다.
- 제안된 수정 사항: 데스크톱용 Power Automate의 암호 기능을 사용하여 모든 암호 관련 입력이 적절하게 처리되도록 하세요. 시스템 기반 암호화를 통한 최대한의 보안을 위해 "직접 암호화된 텍스트 입력"을 사용합니다. 다른 머신에서 사용되는 흐름의 경우 "암호 입력을 변수로"를 선택하고 해당 변수를 민감하게 표시하여 보안을 강화합니다. 또한 CyberArk 자격 증명과 통합되는 "자격 증명 가져오기" 작업과 같은 안전한 자격 증명 관리 기능을 사용합니다.
두 하위 흐름 간의 재귀
- 심각도: 경고
- 유형: 성능
- 오류 세부 정보: 하위 흐름 사이에 재귀 호출이 감지되어 잠재적으로 무한 루프가 발생합니다.
- 설명: 이 규칙은 두 개 이상의 하위 흐름 간의 재귀 호출을 확인하여 흐름이 무한 루프에 들어가지 않도록 합니다.
- 제안된 수정 사항: 하위 흐름 간의 재귀 호출을 제거합니다.
변수 길이 초과
- 심각도: 경고
- 유형: 유지 관리
- 오류 세부 정보: 변수 이름이 25자 제한을 초과했습니다.
- 설명: 이 규칙은 흐름에 정의된 각 변수의 이름이 지정된 문자 수를 초과하는지 확인합니다. 기본 제한은 25자로 설정되어 있습니다.
- 제안된 수정 사항: 지정된 문자 수 한도를 초과하는 모든 변수의 이름을 변경하여 이름이 25자 미만인지 확인하세요.
입력 변수 기본값
- 심각도: 경고
- 유형: 유지 관리
- 오류 세부 정보: 입력/출력 변수가 기본값을 사용하지 않고 있습니다.
- 설명: 이 규칙은 입력/출력 변수가 기본값을 사용하고 있는지 확인하여 흐름에 맞게 올바르게 구성되었는지 확인합니다.
- 제안된 수정 사항: 흐름의 모든 입력 및 출력 변수에 기본값을 할당합니다.
입력 및 출력 변수의 수에 대한 임계값
- 심각도: 경고
- 유형: 유지 관리
- 오류 세부 정보: 총 입력/출력 변수가 25개 변수 한도를 초과했습니다.
- 설명: 이 규칙은 흐름의 총 입력/출력 변수 수가 지정된 임계값을 초과하는지 확인합니다. 제한은 25개 변수입니다.
- 제안된 수정 사항: 흐름의 입력 및 출력 변수의 수가 25개를 초과하지 않는지 확인하세요.
블록 오류 시 빈 작업
- 기본 심각도: 경고
- 유형: 유지 관리
- 오류 세부 정보: "블록 오류 시" 작업은 빈 상태이며 오류를 처리하지 않습니다.
- 설명: 이 규칙은 흐름의 "블록 오류 시" 작업이 오류를 처리하도록 올바르게 설정되어 있는지 확인하여 오류가 예상대로 발생하고 관리되는지 확인합니다.
- 제안된 수정 사항: 잠재적인 오류를 관리하려면 흐름에서 블록 오류 시 작업을 설정합니다.
중첩된 If 절
- 심각도: 경고
- 유형: 유지 관리
- 오류 세부 정보: 중첩된 If 절이 5단계 이상입니다.
- 설명: 이 규칙은 5단계 이상의 중첩된 if 문이 있는지 확인하여 흐름이 관리하기 쉽고 읽기 쉽도록 합니다.
- 제안된 수정 사항: 이 규칙은 5단계 이상의 중첩된 if 문이 있는지 확인하여 흐름이 관리하기 쉽고 읽기 쉽도록 합니다.
불완전 if
- 심각도: 경고
- 유형: 유지 관리
- 오류 세부 정보: 불완전한 If 작업이 감지되었거나, 내용이 부족하거나, Else 분기에만 작업이 포함되어 있습니다.
- 설명: 이 규칙은 내용이 없는 If 작업이나 Else 분기에 있는 작업만 포함하는 If 작업을 감지하여 조건문이 효과적으로 구현되도록 보장합니다.
- 제안된 수정 사항: 흐름을 살펴보고 각 “If” 조건을 검토하여 "If", "Else if" 및 "Else" 분기 모두에 의미 있는 작업이 포함되어 있는지 확인합니다.
무한 루프
- 심각도: 경고
- 유형: 성능
- 오류 세부 정보: 흐름에서 무한 루프가 감지되어 무한 실행될 가능성이 있습니다.
- 설명: 이 규칙은 흐름에 무한 루프가 있는지 확인하여 흐름이 무한정 실행될 수 있는 시나리오를 식별하고 방지합니다.
- 제안된 수정 사항: 각 루프에 명확하게 정의되고 달성 가능한 종료 조건이 있는지 확인합니다. 조건은 카운터, 특정 값 또는 작업 완료를 기반으로 할 수 있습니다. 루프가 예상보다 오래 실행되는 경우 루프를 중단하기 위해 검사 또는 비상 안전 조건을 추가합니다. 예를 들어 최대 반복 횟수를 설정하거나 시간 제한을 포함합니다.
대기 작업의 부적절한 사용
- 심각도: 경고
- 유형: 성능
- 오류 세부 정보: 대기 작업의 부적절한 사용이 감지되었습니다. 10개 이상의 대기 작업이 잠재적인 병목 현상을 유발할 수 있습니다.
- 설명: 이 규칙은 장시간 지연으로 인해 발생할 수 있는 병목 현상을 식별하고 최소화하기 위해 흐름에 과도한 수의 대기 작업(10개 이상)이 포함되어 있는지 확인합니다.
- 제안된 수정 사항: 흐름을 검토하여 모든 대기 작업을 식별하고 흐름의 논리에 필수적인지 확인합니다. 불필요한 대기를 제거하거나 가능한 경우 결합합니다.
대규모 대기 시간
- 심각도: 경고
- 유형: 성능
- 오류 세부 정보: 대규모 대기 시간이 감지되었습니다. 하드코딩된 대기 작업의 600초 제한을 초과했습니다.
- 설명: 이 규칙은 흐름에 하드코딩된 대기 작업이 지정된 시간을 초과하는지 확인하며, 제한은 600초로 설정되어 있습니다.
- 제안된 수정 사항: 흐름을 검토하여 600초 제한을 초과하는 대기 작업을 찾습니다. 이러한 긴 대기 시간이 필요한지 확인하고 흐름이 올바르게 작동하는 데 필요한 최단 시간으로 기간을 조정합니다. 긴 대기가 필요한 경우 더 짧은 간격으로 나누고 그 사이에 검사 또는 조건을 추가합니다. 가능하면 긴 대기 작업을 이벤트 기반 트리거로 바꿉니다.
알려진 제한 사항
- 관리형 환경에서만 사용할 수 있습니다.
- 규칙 사용자 지정은 규칙을 사용하거나 사용하지 않도록 설정하고 심각도를 구성하는 것으로 제한됩니다.
알려진 문제점
- 규칙 위반 세부 정보를 본 후 복사된 작업을 삭제하면 처리되지 않은 오류가 발생할 수 있습니다.
- 다음 작업에서 비민감한 암호 변수를 사용하면 규칙 평가 중에 정적 분석이 실패합니다.
- 입력 대화 표시
- 폴더 선택 대화 표시
- 사용자 지정 양식 표시