1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ExchangeOnlineのユーザー役割についてのまとめ(ユーザーベースのアクセス制御)

Posted at

#はじめに
ExchangeOnlineでは、RBAC(ユーザーベースのアクセス制御)と呼ばれるアクセス許可モデルを用いて、ユーザーの権限(役割)の制御を行っている。ユーザーには、既定で各種権限(役割)が付与されているが、管理者はユーザーに権限(役割)を追加/削除するといった形で、ユーザーがどういった操作ができて/できないかを制御することが可能である。ここでは、特定の権限を削除する方法について検証をし、RBACの仕組み、実装方法について理解を深めた。

#RBACの仕組み
ユーザーに役割が割り当たる仕組みは以下ような構成によって成り立っている。
ユーザー役割.PNG

番号 コンポーネント 説明 関連コマンド
役割割り当て
ポリシー
ポリシーには複数の役割を紐づけることが可能。
1ユーザーにつき、1つのポリシーのみ割り当ている
ことができる。既定でDefault Role Assignment Policyという
名前の役割ポリシーがユーザーに割り当てっている。
get-roleassignmentpolicy
set-roleassingnmentpolicy
new-roleassignmentpolicy
remove-roleassignmentpolicy
役割の割り当て 役割割り当てポリシーと役割を紐づける役割を担っている。 get-managemenoleassignment
set-managementroleassignment
new-managementoroleassignment
remove-managementroleassignment
役割 複数の役割エントリ(権限の単位)をグループ化する。 get-managementrole
set-managementrole
new-managementrole
remove-managementrole
役割エントリ ユーザーが実行できる操作がコマンド・パラメータ単位で
定義されている。
get-managementroleentry
set-managementorolseentry
remove-managementroleentry

#既定のユーザー役割
既定でユーザーに割り当たるDefault Role Assignment Policyには以下の役割が割り当たっている。

役割 説明
MyContactInformation 個々のユーザーは、住所と電話番号を含めた自分の連絡先情報を変更できる。
MyProfileInformation 個々のユーザーは自分の名前を変更できまる。
MyDistributionGroups 個々のユーザーは配布グループを作成、変更、および表示することと、自らが所有する配布グループでメンバーを変更、表示、削除、および追加することができる。
MyDistributionGroupMembership 個々のユーザーは組織内にある配布グループの自分のメンバーシップを表示および変更できる。ただし、それらの配布グループで、グループ メンバーシップの操作が許可されていることが前提。
My Custom Apps ユーザーはカスタム アプリケーションへの接続を表示して変更できる。
My Marketplace Apps ユーザーはマーケットプレース アプリケーションへの接続を表示して変更できる。
My ReadWriteMailbox Apps ReadWriteMailbox のアクセス許可を持つユーザーはアプリをインストールできる。
MyBaseOptions 個々のユーザーは、自分のメールボックスの基本的な構成と関連する設定を表示し変更できる。
MyMailSubscriptions 個々のユーザーは、メッセージの形式およびプロトコルの既定値のような、電子メール サブスクリプションの設定を表示および変更できる。
MyMailboxDelegation この役割により、管理者はメールボックスのアクセス許可を委任できる。
MyRetentionPolicies 個々のユーザーは保持タグの表示や、保持タグ設定と既定値の表示および変更を実行できる。
MyTeamMailboxes 個々のユーザーはサイト メールボックスを作成して SharePoint サイトに接続できるようになる。
MyTextMessaging 個々のユーザーはテキスト メッセージング設定の作成、表示、および変更を実行できる。
MyVoiceMail 個々のユーザーは自分のボイス メールの設定を表示および変更できます。

#カスタムの役割割り当てポリシーと役割を作成

今回はMyDistributionGroupsの役割(配布グループの作成、変更)からメーリングリスト(配布グループ)の作成権限を削除したカスタムの役割を作成し、それを別途作成するカスタムの役割割り当てポリシーに紐づけをする。
(その他の役割はそのままの状態でカスタムの役割割り当てポリシーに紐づけを行う。)

###MyDistributionGroupsの役割をカスタマイズ
MyDistributionGroupsには既定で以下の役割エントリが紐づいている。

PS C:\WINDOWS\system32> Get-ManagementRoleEntry "MyDistributionGroups\*"

Name                           Role                      Parameters
----                           ----                      ----------
Update-DistributionGroupMember MyDistributionGroups      {Confirm, ErrorAction, ErrorVariable, Identity...}
Set-Group                      MyDistributionGroups      {DisplayName, ErrorAction, ErrorVariable, Identity...}
Set-DynamicDistributionGroup   MyDistributionGroups      {ErrorAction, ErrorVariable, Identity, MailTip...}
Set-DistributionGroup          MyDistributionGroups      {AcceptMessagesOnlyFrom, AcceptMessagesOnlyFromDLMembers, A...
Remove-DistributionGroupMember MyDistributionGroups      {Confirm, ErrorAction, ErrorVariable, Identity...}
Remove-DistributionGroup       MyDistributionGroups      {Confirm, ErrorAction, ErrorVariable, Identity...}
New-DistributionGroup          MyDistributionGroups      {Alias, Confirm, CopyOwnerToMember, DisplayName...}
Get-Recipient                  MyDistributionGroups      {Anr, AuthenticationType, BookmarkDisplayName, ErrorAction...}
Get-Group                      MyDistributionGroups      {Anr, ErrorAction, ErrorVariable, Filter...}
Get-EligibleDistributionGro... MyDistributionGroups      {ErrorAction, ErrorVariable, Identity, ManagedBy...}
Get-DistributionGroupMember    MyDistributionGroups      {ErrorAction, ErrorVariable, Identity, IncludeSoftDeletedOb...
Get-DistributionGroup          MyDistributionGroups      {Anr, ErrorAction, ErrorVariable, Filter...}
Get-AcceptedDomain             MyDistributionGroups      {Identity}
Add-DistributionGroupMember    MyDistributionGroups      {Confirm, ErrorAction, ErrorVariable, Identity...}

ここから、New-DistributionGroupの管理エントリを削除したカスタムの役割を作成する。

役割は新規に作成することができないため、既存の役割を親としてまずはコピーを作成し、必要な変更を行う。
MyDistributionGroups役割を親として、MyDistributionGroupsCustom役割を作成。

new-managementrole -parent MyDistributionGroups -name MyDistributionGroupsCustom 

作成したカスタムの役割から特定の役割エントリ(New-DistributionGroup)を削除する。

remove-managementroleentry MyDistributionGroupsCustom\New-DistributionGroup

作成したMyDistributionGroupsCustom役割に紐づく役割エントリを確認する。

PS C:\WINDOWS\system32> Get-ManagementRoleEntry "MyDistributionGroupsCustom\*"

Name                           Role                      Parameters
----                           ----                      ----------
Add-DistributionGroupMember    MyDistributionGroupsCu... {Confirm, ErrorAction, ErrorVariable, Identity...}
Get-AcceptedDomain             MyDistributionGroupsCu... {Identity}
Get-DistributionGroup          MyDistributionGroupsCu... {Anr, ErrorAction, ErrorVariable, Filter...}
Get-DistributionGroupMember    MyDistributionGroupsCu... {ErrorAction, ErrorVariable, Identity, IncludeSoftDeletedOb...
Get-EligibleDistributionGro... MyDistributionGroupsCu... {ErrorAction, ErrorVariable, Identity, ManagedBy...}
Get-Group                      MyDistributionGroupsCu... {Anr, ErrorAction, ErrorVariable, Filter...}
Get-Recipient                  MyDistributionGroupsCu... {Anr, AuthenticationType, BookmarkDisplayName, ErrorAction...}
Remove-DistributionGroup       MyDistributionGroupsCu... {Confirm, ErrorAction, ErrorVariable, Identity...}
Remove-DistributionGroupMember MyDistributionGroupsCu... {Confirm, ErrorAction, ErrorVariable, Identity...}
Set-DistributionGroup          MyDistributionGroupsCu... {AcceptMessagesOnlyFrom, AcceptMessagesOnlyFromDLMembers, A...
Set-DynamicDistributionGroup   MyDistributionGroupsCu... {ErrorAction, ErrorVariable, Identity, MailTip...}
Set-Group                      MyDistributionGroupsCu... {DisplayName, ErrorAction, ErrorVariable, Identity...}
Update-DistributionGroupMember MyDistributionGroupsCu... {Confirm, ErrorAction, ErrorVariable, Identity...}

New-DistributionGroupの役割エントリが一覧にないことを確認できた。

###カスタムの役割割り当てポリシーを作成

Custom Role Assignmment Policyというカスタムの役割割り当てポリシーを作成し、役割の割り当てを行う。
ここに、上で作成したMyDistributionGroupsCustomの役割に加え、MyDistributionGroupを除く、デフォルトのDefaul Role Assignment Policyと同じ役割を割り当てる。

PS C:\WINDOWS\system32> New-RoleAssignmentPolicy -Name "Custom Role Assignment Policy" -Roles "MyContactInformation", "MyProfileInformation", "MyDistributionGroupsCustom", "MyDistributionGroupMembership", "My Custom Apps", "My Marketplace Apps", "My ReadWriteMailbox Apps", "MyBaseOptions", "MyMailSubscriptions", "MyMailboxDelegation", "MyRetentionPolicies", "MyTeamMailboxes", "MyTextMessaging", "MyVoiceMail"

###作成した役割割り当てポリシーをユーザーメールボックスに割り当てる

ここではExchange管理センターから、ユーザーメールボックスに対して、上で作成した役割割り当てポリシー(Custom Role Assignment Policy)を割り当てる。
役割割り当て.PNG

#ユーザーの操作を確認する

それぞれのポリシーをユーザーに割り当てた場合の、ユーザー操作について確認。メーリングリスト(配布グループ)の作成権限を削除した、Custom Role Assignment Policyを割り当てると、メーリングリスト作成ボタン「+」が非表示になることが確認できた。(WebのOutlookで確認)
roleassignment.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?