New-AzureADServiceAppRoleAssignment
ユーザー、グループ、または別のサービス プリンシパルにアプリ ロールを割り当てます。
構文
New-AzureADServiceAppRoleAssignment
-ObjectId <String>
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
-Id <String>
-PrincipalId <String>
-ResourceId <String>
[<CommonParameters>]
説明
New-AzureADServiceAppRoleAssignment コマンドレットは、リソース サービス プリンシパルからユーザー、グループ、または別のサービス プリンシパルにアプリ ロールを割り当てます。 サービス プリンシパルに割り当てられたアプリ ロールは、アプリケーションのアクセス許可とも呼ばれます。
注意
ここで説明する動作は、パラメーターなしで呼び出された場合、または Microsoft 所有のアプリケーション ID を使用している場合 Connect-AzureAD
に適用されます。 顧客所有のアプリ登録またはサービス ID を使用して接続するときの違いの詳細については、 例 4 を参照してください。
例
例 1: アプリ ロールを別のサービス プリンシパルに割り当てる
PS C:\> Connect-AzureAD
PS C:\> New-AzureADServiceAppRoleAssignment -ObjectId $resource.ObjectId -ResourceId $resource.ObjectId -Id $appRole.Id -PrincipalId $client.ObjectId
この例では、クライアント サービス プリンシパルに、リソース サービス プリンシパル (API など) によって定義されたアプリ ロール (アプリケーション アクセス許可) が割り当てられます。
-
ObjectId
: リソース サービス プリンシパル (API など) の ObjectId。 -
ResourceId
: リソース サービス プリンシパル (API など) の ObjectId。 -
Id
: クライアント サービス プリンシパルに割り当てるアプリ ロール (リソース サービス プリンシパルで定義) の ID。 リソース アプリでアプリ ロールが定義されていない場合は、 を使用00000000-0000-0000-0000-000000000000
できます。 -
PrincipalId
: アプリ ロールを割り当てるクライアント サービス プリンシパルの ObjectId。
注意
この例は、 がパラメーターなしで呼び出された場合 Connect-AzureAD
に適用されます。 顧客所有のアプリ登録またはサービス ID を使用して接続するときにこのコマンドレットを使用する方法については、 例 4 を参照してください。
例 2: ユーザーにアプリ ロールを割り当てる
PS C:\> Connect-AzureAD
PS C:\> New-AzureADServiceAppRoleAssignment -ObjectId $resource.ObjectId -ResourceId $resource.ObjectId -Id $appRole.Id -PrincipalId $user.ObjectId
この例では、ユーザーにリソース アプリによって定義されたアプリ ロールが割り当てられます。
-
ObjectId
: アプリのサービス プリンシパルの ObjectId。 -
ResourceId
: アプリのサービス プリンシパルの ObjectId。 -
Id
: ユーザーに割り当てるアプリ ロールの ID (アプリのサービス プリンシパルで定義されます)。 リソース アプリにアプリ ロールが定義されていない場合は、 を使用00000000-0000-0000-0000-000000000000
して、アプリがユーザーに割り当てられていることを示すことができます。 -
PrincipalId
: アプリ ロールを割り当てるユーザーの ObjectId。
注意
この例は、 がパラメーターなしで呼び出された場合 Connect-AzureAD
に適用されます。 顧客所有のアプリ登録またはサービス ID を使用して接続するときにこのコマンドレットを使用する方法については、 例 4 を参照してください。
例 3: アプリ ロールをグループに割り当てる
PS C:\> Connect-AzureAD
PS C:\> New-AzureADServiceAppRoleAssignment -ObjectId $resource.ObjectId -ResourceId $resource.ObjectId -Id $appRole.Id -PrincipalId $group.ObjectId
この例では、リソース アプリによって定義されたアプリ ロールがグループに割り当てられます。 割り当てられたグループの直接メンバーであるすべてのユーザーには、アプリ ロールが割り当てられていると見なされます。
-
ObjectId
: アプリのサービス プリンシパルの ObjectId。 -
ResourceId
: アプリのサービス プリンシパルの ObjectId。 -
Id
: グループに割り当てるアプリ ロールの ID (アプリのサービス プリンシパルで定義されます)。 リソース アプリでアプリ ロールが定義されていない場合は、 を使用00000000-0000-0000-0000-000000000000
して、アプリがグループに割り当てられているかどうかを示すことができます。 -
PrincipalId
: アプリ ロールを割り当てるグループの ObjectId。
注意
この例は、 がパラメーターなしで呼び出された場合 Connect-AzureAD
に適用されます。 顧客所有のアプリ登録またはサービス ID を使用して接続するときにこのコマンドレットを使用する方法については、 例 4 を参照してください。
例 4: 顧客所有のアプリまたはサービス ID を使用して接続する場合
PS C:\> Connect-AzureAD -TenantId $tenantOrDomain -ApplicationId $appId -CertificateThumbprint $thumb
PS C:\> New-AzureADServiceAppRoleAssignment -ObjectId $client.ObjectId -ResourceId $resource.ObjectId -Id $appRole.Id -PrincipalId $client.ObjectId
このコマンドレットの動作は、顧客所有のアプリ登録またはサービス ID を使用して Azure AD PowerShell モジュールに接続すると変わります。次に示します。
- サービス プリンシパルとして接続する場合、
- パラメーターを
AadAccessToken
、顧客所有のアプリ登録またはサービス ID に対して取得されたアクセス トークンと共に使用する場合。
このような状況では、このコマンドレットは、 パラメーターと PrincipalId
パラメーターによって識別される別のサービス プリンシパルにアプリ ロールをObjectId
割り当てるためにのみ使用されます。
-
ObjectId
: アプリ ロールを割り当てるクライアント サービス プリンシパルの ObjectId。 -
ResourceId
: リソース サービス プリンシパル (API など) の ObjectId。 -
Id
: クライアント サービス プリンシパルに割り当てるアプリ ロール (リソース サービス プリンシパルで定義) の ID。 リソース アプリでアプリ ロールが定義されていない場合は、 を使用00000000-0000-0000-0000-000000000000
できます。 -
PrincipalId
: アプリ ロールを割り当てるクライアント サービス プリンシパルの ObjectId。
顧客所有のアプリまたはサービス ID を使用して接続する場合は、 New-AzureADUserAppRoleAssignment と New-AzureADGroupAppRoleAssignment を使用して、それぞれユーザーとグループのアプリ ロールの割り当てを作成します。
パラメーター
-Id
割り当てるアプリ ロール (リソース サービス プリンシパルで定義) の ID を指定します。 リソース アプリでアプリ ロールが定義されていない場合は、 を使用 00000000-0000-0000-0000-000000000000
して、アプリ ロールを指定せずに、リソース アプリまたはサービスの割り当てを示すことができます。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-InformationAction
このコマンドレットが情報イベントに応答する方法を指定します。 このパラメーターの有効値は、次のとおりです。
- 続行
- Ignore
- 照会
- SilentlyContinue
- Stop
- [中断]
型: | ActionPreference |
Aliases: | infa |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-InformationVariable
情報変数を指定します。
型: | String |
Aliases: | iv |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ObjectId
ユーザー、グループ、または別のサービス プリンシパルに割り当てるリソース サービス プリンシパル (アプリや API など) の ObjectId を指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-PrincipalId
アプリ ロールが割り当てられているユーザー、グループ、またはその他のサービス プリンシパルの ObjectId を指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ResourceId
ユーザー、グループ、または別のサービス プリンシパルに割り当てるリソース サービス プリンシパル (アプリや API など) の ObjectId を指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
メモ
Microsoft Graph PowerShell への New-AzureADServiceAppRoleAssignment の移行ガイド を参照してください。