セキュリティ プリンシパルの参照
承認モデルでは、Microsoft Entra ユーザー ID とアプリケーション ID と Microsoft アカウント (MSA) をセキュリティ プリンシパルとして使用できます。 この記事では、Microsoft Entra ID と MSA の両方でサポートされているプリンシパルの種類の概要について説明し、 管理コマンドを使用してセキュリティ ロールを割り当てるときにこれらのプリンシパルを適切に参照する方法を示します。
Microsoft Entra ID
環境にアクセスするための推奨される方法は、Microsoft Entra サービスに対する認証です。 Microsoft Entra ID は、セキュリティ プリンシパルを認証し、Microsoft の Active Directory などの他の ID プロバイダーと調整できる ID プロバイダーです。
Microsoft Entra ID では、次の認証シナリオがサポートされています。
- ユーザー認証 (対話型サインイン): 人間のプリンシパルを認証するために使用されます。
- アプリケーション認証 (非対話型サインイン): ユーザー操作がない状態で実行または認証する必要があるサービスとアプリケーションを認証するために使用されます。
Note
- Microsoft Entra ID では、定義上オンプレミスの AD エンティティであるサービス アカウントの認証は許可されません。 AD サービス アカウントと同等の Microsoft Entra は、Microsoft Entra アプリケーションです。
- セキュリティ グループ (SG) プリンシパルのみがサポートされ、配布グループ (DG) プリンシパルはサポートされません。 DG へのアクセスを設定しようとすると、エラーが発生します。
Microsoft Entra プリンシパルとグループの参照
Microsoft Entra ユーザーとアプリケーション プリンシパルとグループを参照するための構文の概要を次の表に示します。
ユーザー プリンシパル名 (UPN) を使用してユーザー プリンシパルを参照する場合は、ドメイン名からテナントを推測してプリンシパルを見つけようとします。 プリンシパルが見つからない場合は、ユーザーの UPN またはオブジェクト ID に加えて、テナント ID または名前を明示的に指定します。
同様に、グループの電子メール アドレスを持つセキュリティ グループ UPN 形式で参照できます ドメイン名からテナントを推論しようとします。 グループが見つからない場合は、グループの表示名またはオブジェクト ID に加えて、テナント ID または名前を明示的に指定します。
エンティティの種類 | Microsoft Entra テナント | 構文 |
---|---|---|
User | 暗黙 | aaduser =UPN |
User | 明示的 (ID) | aaduser =UPN;TenantIdまたは aaduser =ObjectID;TenantId |
User | 明示的 (名前) | aaduser =UPN;TenantNameまたは aaduser =ObjectID;TenantName |
グループ | 暗黙 | aadgroup =GroupEmailAddress |
グループ | 明示的 (ID) | aadgroup =GroupDisplayName;TenantIdまたは aadgroup =GroupObjectId;TenantId |
グループ | 明示的 (名前) | aadgroup =GroupDisplayName;TenantNameまたは aadgroup =GroupObjectId;TenantName |
アプリ | 明示的 (ID) | aadapp =ApplicationDisplayName;TenantIdまたは aadapp =ApplicationId;TenantId |
アプリ | 明示的 (名前) | aadapp =ApplicationDisplayName;TenantNameまたは aadapp =ApplicationId;TenantName |
Note
ApplicationId がマネージド ID オブジェクト ID またはマネージド ID クライアント (アプリケーション) ID である管理 ID を参照するには、"App" 形式を使用します。
例
次の例では、ユーザー UPN を使用して、 Test
データベースのユーザー ロールのプリンシパルを定義します。 テナント情報が指定されていないため、クラスターは UPN を使用して Microsoft Entra テナントの解決を試みます。
.add database Test users ('aaduser=imikeoein@fabrikam.com') 'Test user (AAD)'
次の例では、グループ名とテナント名を使用して、 Test
データベースのユーザー ロールにグループを割り当てます。
.add database Test users ('aadgroup=SGDisplayName;fabrikam.com') 'Test group @fabrikam.com (AAD)'
次の例では、アプリ ID とテナント名を使用して、アプリに Test
データベースのユーザー ロールを割り当てます。
.add database Test users ('aadapp=4c7e82bd-6adb-46c3-b413-fdd44834c69b;fabrikam.com') 'Test app @fabrikam.com (AAD)'
Microsoft アカウント (MSA)
Microsoft アカウント (MSA) のユーザー認証がサポートされています。 MSA は、Microsoft が管理するすべての組織以外のユーザー アカウントです。 たとえば、 hotmail.com
、 live.com
、 outlook.com
などです。
MSA プリンシパルの参照
IdP | Type | 構文 |
---|---|---|
Live.com | User | msauser= UPN |
例
次の例では、 Test
データベースのユーザー ロールに MSA ユーザーを割り当てます。
.add database Test users ('msauser=abbiatkins@live.com') 'Test user (live.com)'
テーブルのデータパーティション分割ポリシーを管理する
Azure portal を使用してデータベース プリンシパルとロールを 管理する方法について説明します