이 문서에서는 동적 멤버 자격 그룹에 대한 규칙을 간소화하는 데 사용할 수 있는 가장 일반적인 방법을 설명합니다. 더 간단하고 효율적인 규칙은 동적 그룹의 처리 시간을 향상합니다.
동적 멤버 자격 그룹에 대한 멤버 자격 규칙을 작성할 때 이 문서의 팁을 따라 이러한 규칙을 최대한 효율적으로 만들 수 있습니다.
-match 연산자 사용 최소화
규칙에서 연산자 -match 사용을 최대한 최소화합니다. 대신, -startswith 또는 -eq 연산자를 사용할 수 있는지 탐색합니다. 연산자를 사용하지 않고 그룹에 대한 사용자를 선택하는 규칙을 작성할 수 있는 다른 속성을 사용하는 -match 것이 좋습니다.
예를 들어 도시가 Lagos인 모든 사용자가 포함된 그룹에 대한 규칙을 원하는 경우 다음과 같은 규칙을 사용하지 마세요.
user.city -match "ago"user.city -match ".*?ago.*"
다음 예제와 같은 규칙을 사용하는 것이 좋습니다.
user.city -startswith "Lag"
또는 무엇보다도 다음을 수행합니다.
user.city -eq "Lagos"
-contains 연산자 사용 최소화
마찬가지로 -match규칙에서 연산자 -contains 사용을 최대한 최소화합니다. 대신, -startswith 또는 -eq 연산자를 사용할 수 있는지 탐색합니다.
-contains을 사용하는 것은 특히 동적 멤버 자격 그룹이 많은 테넌트의 처리 시간을 늘릴 수 있습니다.
더 적은 -or 연산자 사용
동일한 속성에 대해 연산자 -or로 연결된 다양한 값을 규칙이 사용하는 경우를 식별합니다. 대신 연산자를 -in 사용하여 단일 기준으로 그룹화합니다. 단일 조건을 사용하면 규칙을 더 쉽게 평가할 수 있습니다.
예를 들어 다음과 같은 규칙을 사용하지 마세요.
(user.department -eq "Accounts" -and user.city -eq "Lagos") -or
(user.department -eq "Accounts" -and user.city -eq "Ibadan") -or
(user.department -eq "Accounts" -and user.city -eq "Kaduna") -or
(user.department -eq "Accounts" -and user.city -eq "Abuja") -or
(user.department -eq "Accounts" -and user.city -eq "Port Harcourt")
다음 예제와 같은 규칙을 사용하는 것이 좋습니다.
user.department -eq "Accounts" -and user.city -in ["Lagos", "Ibadan", "Kaduna", "Abuja", "Port Harcourt"]
반대로, 동일한 속성이 -and 연산자로 연결된 여러 값과 같지 않은 유사한 부기준을 식별합니다. 그런 다음 -notin 연산자를 사용하여 규칙을 더 쉽게 이해하고 평가할 수 있도록 단일 기준으로 그룹화합니다.
예를 들어 다음과 같은 규칙을 사용하지 마세요.
(user.city -ne "Lagos") -and (user.city -ne "Ibadan") -and (user.city -ne "Kaduna") -and (user.city -ne "Abuja") -and (user.city -ne "Port Harcourt")
다음 예제와 같은 규칙을 사용하는 것이 좋습니다.
user.city -notin ["Lagos", "Ibadan", "Kaduna", "Abuja", "Port Harcourt"]
중복 조건 방지
규칙에서 중복 기준을 사용하고 있지 않은지 확인합니다. 예를 들어 다음과 같은 규칙을 사용하지 마세요.
user.city -eq "Lagos" or user.city -startswith "Lag"
다음 예제와 같은 규칙을 사용하는 것이 좋습니다.
user.city -startswith "Lag"