New-EntraUserAppRoleAssignment

アプリケーション ロールにユーザーを割り当てます。

構文

Default (既定)

New-EntraUserAppRoleAssignment

    -UserId <String>
    -PrincipalId <String>
    -AppRoleId <String>
    -ResourceId <String>
    [<CommonParameters>]

説明

New-EntraUserAppRoleAssignment コマンドレットは、Microsoft Entra IDのアプリケーション ロールにユーザーを割り当てます。

職場または学校アカウントを使用する委任されたシナリオでは、サインインしているユーザーは、サポートされているMicrosoft Entraロールまたは必要なアクセス許可を持つカスタム ロールを持っている必要があります。 サポートされるロールは次のとおりです。

  • ディレクトリ同期アカウント (Entra Connect とクラウド同期用)
  • ディレクトリ ライター
  • ハイブリッド ID の管理者
  • アイデンティティガバナンス管理者
  • 特権ロール管理者
  • ユーザー管理者
  • アプリケーション管理者
  • クラウド アプリケーション管理者

例 1: ロールのないアプリケーションにユーザーを割り当てる

Connect-Entra -Scopes 'AppRoleAssignment.ReadWrite.All'
$appId = (Get-EntraApplication -SearchString '<App-DisplayName>').AppId
$user = Get-EntraUser -SearchString '<UserPrincipalName>'
$servicePrincipal = Get-EntraServicePrincipal -Filter "appId eq '$appId'"
$params = @{
    UserId      = $user.Id
    PrincipalId = $user.Id
    ResourceId  = $servicePrincipal.Id
    AppRoleId   = [Guid]::Empty
}
New-EntraUserAppRoleAssignment @params
DeletedDateTime Id                                          AppRoleId                            CreatedDateTime     PrincipalDisplayName PrincipalId                          PrincipalType ResourceDisplayName
--------------- --                                          ---------                            ---------------     -------------------- -----------                          ------------- ------------------- -
                A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u 00aa00aa-bb11-cc22-dd33-44ee44ee44ee 18-06-2024 11:22:40 UserPrincipalName          aaaaaaaa-bbbb-cccc-1111-222222222222 User          App-DisplayName

このコマンドは、ロールを持たないアプリケーションにユーザーを割り当てます。

  • -UserId パラメーターは、アプリ ロールを割り当てるユーザーの ID を指定します。
  • -PrincipalId パラメーターは、アプリ ロールを割り当てるユーザーの ID を指定します。
  • -ResourceId パラメーターは、アプリ ロールを定義した resource servicePrincipal の ID を指定します。
  • -AppRoleId パラメーターは、ユーザーに割り当てる appRole (リソース サービス プリンシパルで定義) の ID を指定します。

例 2: アプリケーション内の特定のロールにユーザーを割り当てる

Connect-Entra -Scopes 'AppRoleAssignment.ReadWrite.All'
$servicePrincipal = Get-EntraServicePrincipal -Filter "DisplayName eq 'Box'"
$user = Get-EntraUser -UserId 'SawyerM@contoso.com'
$params = @{
    UserId      = $user.Id
    PrincipalId = $user.Id
    ResourceId  = $servicePrincipal.Id
    AppRoleId   = $servicePrincipal.AppRoles[1].Id
}
New-EntraUserAppRoleAssignment @params
DeletedDateTime Id                                          AppRoleId                            CreatedDateTime     PrincipalDisplayName PrincipalId                          PrincipalType ResourceDisplayName
--------------- --                                          ---------                            ---------------     -------------------- -----------                          ------------- -------------------
                A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u 00aa00aa-bb11-cc22-dd33-44ee44ee44ee 06/18/2024 09:47:00 Sawyer Miller        1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5 User          Box

この例では、Microsoft Entra IDでアプリケーション ロールにユーザーを割り当てる方法を示します。

  • -UserId パラメーターは、アプリ ロールを割り当てるユーザーの ID を指定します。
  • -PrincipalId パラメーターは、アプリ ロールを割り当てるユーザーの ID を指定します。
  • -ResourceId パラメーターは、アプリ ロールを定義した resource servicePrincipal の ID を指定します。
  • -AppRoleId パラメーターは、ユーザーに割り当てる appRole (リソース サービス プリンシパルで定義) の ID を指定します。

パラメーター

-AppRoleId

割り当てるアプリ ロールの ID。

新しいアプリ ロールの割り当ての作成時にアプリケーションにロールがない場合は、空の guid またはユーザーに割り当てるロールの ID を指定します。

アプリケーション オブジェクトの AppRoles プロパティを調べることで、アプリケーションのロールを取得できます。

Get-EntraApplication -SearchString 'Your-Application-DisplayName' | Select-Object Approles | Format-List

このコマンドレットは、アプリケーションで定義されているロールの一覧を返します。

AppRoles: {GUID1, GUID2}

パラメーターのプロパティ

型:System.String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-PrincipalId

新しいアプリ ロールが割り当てられているプリンシパルのオブジェクト ID。

ユーザーに新しいロールを割り当てるときは、ユーザーのオブジェクト ID を指定します。

パラメーターのプロパティ

型:System.String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-ResourceId

ユーザー ロールが割り当てられているアプリケーションのサービス プリンシパルのオブジェクト ID。

パラメーターのプロパティ

型:System.String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-UserId

新しいアプリ ロールを割り当てるMicrosoft Entra IDで、ユーザーの ID (UserPrincipalName または ObjectId として) を指定します。

パラメーターのプロパティ

型:System.String
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:オブジェクト識別子

パラメーター セット

(All)
配置:Named
必須:True
パイプラインからの値:True
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

CommonParameters

このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。