스크립트에서 사용자 그룹 정의
권한 부여 관리자에서 IAzApplicationGroup 개체는 사용자 그룹을 나타냅니다. 그런 다음 이 사용자 그룹에 역할을 총체적으로 할당할 수 있습니다. IAzApplicationGroup 개체는 다른 IAzApplicationGroup 개체를 멤버로 포함할 수도 있습니다. 애플리케이션 그룹에 대한 자세한 내용은 사용자 및 그룹참조하세요.
그룹은 멤버 및 비회원의 명시적 목록이나 LDAP(Lightweight Directory Access Protocol) 쿼리를 통해 정의할 수 있습니다. 다음 예제에서는 각 유형의 애플리케이션 그룹을 만드는 방법을 보여 줍니다.
- 기본 그룹 만들기
- LDAP 쿼리 그룹 만들기
기본 애플리케이션 그룹은 그룹을 나타내는 IAzApplicationGroup 개체의 멤버 및 NonMembers 속성에 포함된 멤버에 의해 정의됩니다. 멤버 속성에 나열된 사용자 및 그룹은 애플리케이션 그룹에 포함되며 NonMembers 속성에 나열된 사용자 및 그룹은 애플리케이션 그룹에서 제외됩니다. NonMembers 속성에 나열되는 것이 Members 속성에 나열되는 것보다 우선합니다.
다음 예제에서는 기본 애플리케이션 그룹을 만들고 모든 로컬 사용자를 해당 그룹의 구성원으로 추가하는 방법을 보여줍니다. 이 예제에서는 C 드라이브의 루트 디렉터리에 MyStore.xml 명명된 기존 XML 정책 저장소가 있다고 가정합니다.
' Create the AzAuthorizationStore object.
Dim AzManStore
Set AzManStore = CreateObject("AzRoles.AzAuthorizationStore")
' Initialize the authorization store.
AzManStore.Initialize 2, "msxml://C:\MyStore.xml"
' Create an application object in the store.
Dim expenseApp
Set expenseApp= AzManStore.OpenApplication("Expense")
' Create an application group object.
Dim appGroup
Set appGroup = expenseApp.CreateApplicationGroup("Trusted Users")
' Add a well-known SID for all local users to the group.
appGroup.AddMember("S-1-1-0")
' Save the application group to the store.
appGroup.Submit
LDAP 쿼리 그룹에는 LdapQuery 속성 값에 포함된 쿼리에 의해 정의된 멤버 자격이 있습니다.
다음 예제에서는 LDAP 쿼리 애플리케이션 그룹을 만들고 모든 사용자를 해당 그룹의 구성원으로 추가하는 방법을 보여줍니다. 이 예제에서는 C 드라이브의 루트 디렉터리에 MyStore.xml 명명된 기존 XML 정책 저장소가 있다고 가정합니다.
' Create the AzAuthorizationStore object.
Dim AzManStore
Set AzManStore = CreateObject("AzRoles.AzAuthorizationStore")
' Initialize the authorization store.
AzManStore.Initialize 2, "msxml://C:\MyStore.xml"
' Create an application object in the store.
Dim expenseApp
Set expenseApp= AzManStore.OpenApplication("Expense")
' Create an application group object.
Dim appGroup
Set appGroup = expenseApp.CreateApplicationGroup("LDAP Trusted Users")
' Set the Type property of the group to two
' (AZ_GROUPTYPE_LDAP_QUERY).
appGroup.Type = 2
' Add LDAP query for all users.
appGroup.LdapQuery = ("&(objectCategory=person)(objectClass=user)")
' Save the application group to the store.
appGroup.Submit