2009-10-16 4 views
1

Windows Server 2003에서 AzMan을 사용하고 있으며 보안 팀에서 AzMan과 MMC를 완전히 숨기는 관리 응용 프로그램을 작성했습니다. 그러나 MMC의 기능 중 하나를 구현하는 데 어려움을 겪고 있습니다.프로그래밍 방식으로 Microsoft AzMan에서 범위에 역할을 할당 하시겠습니까?

나는 User라는 역할과 User 역할 외에는 Branch User라는 역할을 가지고 있습니다. 모든 데이터 (역할 할당) 수준에서 사용자 역할을 할당하고 범위 수준에서 지점 사용자 역할을 할당하려고합니다. 그러나 지점 사용자 역할을 정의가 손실되지 않고 범위에 프로그래밍 방식으로 할당하는 방법을 찾을 수 없습니다. 범위에 CreateRole을 호출하여 역할을 할당 할 수 있지만 새로운 빈 역할을 만드는 것처럼 보입니다. MMC에서 마우스 오른쪽 버튼을 클릭하고 속성을 클릭 한 다음 정의 표시를 클릭하면 아무 것도 표시되지 않습니다.

또한 "IAzRole"개체에 AddTask를 호출하여 "사용자"를 추가하려고하면 예상대로 작동하지 않습니다. 사용자 역할의 모든 작업을 지점 사용자 역할에 추가하지만 역할 자체는 추가하지 않습니다.

이 방법이 있습니까? 나는 그것을 이해할 수 없다.

+0

그래서 나는 "오 이런"순간을 보았습니다. 나는 프로그래밍 방식으로 CreateRole ("Branch User", null)을 호출하고 그 IAzRole 객체에 AddTask ("Branch User", null)를 호출하고 원하는 것을 수행합니다. 나는 이것에 어떤 바람직하지 않은 부작용이 있는지보기 위해 여전히 실험 중입니다. 올바른 방법인지 확실하지 않지만, AzMan 모델로 생각하면 이해가됩니다. 이것이 어떻게해야만하는지 누구나 확실히 압니까? –

답변

1

예, 올바른 방법은 WIN2k3입니다. 아쉽게도 Vista/Win2k8 이전의 AzMan 버전에서는 역할 정의가 task.IsRoleDefinition이 1로 설정된 작업입니다. 새 버전에서는 이름이 클래스로되어 있습니다.

기본적으로 CreateRole()은 역할 정의가 아니라 역할 할당을 만듭니다 (이 경우 반드시 "지점 사용자"라는 이름이 필요하지는 않습니다). 역할 할당에는 역할/작업/작업의 정의와 구성원/사용자 간의 링크가 포함됩니다.

그런 다음 app.AddTask()를 사용하여 역할 할당에 역할 "지점 사용자"를 추가합니다.

특정 범위에서만이 작업을 수행하려면 IAzScope 객체를 반환하는 app.OpenScope (또는 새로운 경우 app.CreateScope)를 호출해야합니다. 그런 다음 scope.CreateTask 또는 scope.CreateRole에서 위의 모든 작업을 수행 할 수 있습니다.

호프가 도움이 되었기를 바랍니다.

관련 문제