Azure SQL の Azure Active Directory のディレクトリ閲覧者ロール

適用対象: Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics

Azure Active Directory (Azure AD) に、Azure AD グループを使用してロールの割り当てを管理する (プレビュー) 方法が導入されました。 これにより、Azure AD ロールをグループに割り当てることができます。

Azure SQL Database、Azure SQL Managed Instance、または Azure Synapse Analytics に対して マネージド ID を有効にする場合、Azure AD Graph API に対する読み取りアクセスを許可するには Azure AD ディレクトリ閲覧者ロールをその ID に割り当てる必要があります。 SQL Database と Azure Synapse におけるマネージド ID は、サーバー ID と呼ばれます。 SQL Managed Instance のマネージド ID はマネージド インスタンス ID と呼ばれ、これはインスタンスの作成時に自動的に割り当てられます。 SQL Database または Azure Synapse にサーバー ID を割り当てる方法の詳細については、「サービス プリンシパルが Azure AD ユーザーを作成できるようにする」を参照してください。

ディレクトリ閲覧者 ロールは、次を行うために必要です。

  • SQL Managed Instance に対する Azure AD ログインを作成する
  • Azure SQL で Azure AD ユーザーを偽装する
  • Windows 認証を使用している SQL Server ユーザーを Azure AD 認証を使用して SQL Managed Instance に移行する (ALTER USER (Transact-SQL) コマンドを使用)
  • SQL Managed Instance の Azure AD 管理者を変更する
  • サービス プリンシパル (アプリケーション) を使用した Azure SQL の Azure AD ユーザーの作成を許可する

ディレクトリ閲覧者ロールの割り当て

ディレクトリ閲覧者ロールを ID に割り当てるには、全体管理者または 特権ロール管理者アクセス許可を持つユーザーが必要です。 SQL Database、SQL Managed Instance、または Azure Synapse を頻繁に管理またはデプロイするユーザーは、これらの高い特権を持つロールにアクセスできない可能性があります。 これは、計画外のAzure SQL リソースを作成したり、大規模な組織では連絡が付きにくいことが多い、高度な権限を持つロール メンバーの助けを必要とするユーザーにとっては、しばしば複雑な問題を引き起こす可能性があります。

SQL Managed Instance では、マネージド インスタンスの Azure AD 管理者を設定する前に、ディレクトリ閲覧者 ロールをマネージド インスタンス ID に割り当てる必要があります。

論理サーバーの Azure AD 管理者を設定する場合、SQL Database または Azure Synapse では ディレクトリ閲覧者 ロールをサーバー ID に割り当てる必要はありません。 ただし、Azure AD アプリケーションの代わりに SQL Database または Azure Synapse で Azure AD オブジェクトを作成できるようにするには、ディレクトリ閲覧者 ロールが必要になります。 このロールが SQL 論理サーバー ID に割り当てられていない場合、Azure SQL で Azure AD ユーザーを作成することはできません。 詳細については、「Azure SQL での Azure Active Directory のサービス プリンシパル」を参照してください。

Azure AD グループへのディレクトリ閲覧者ロールの付与

グローバル管理者または 特権ロール管理者が Azure AD グループを作成し、ディレクトリ閲覧者権限をそのグループに割り当てることができるようになりました。 これにより、このグループのメンバーは Azure AD Graph API にアクセスできるようになります。 さらに、このグループの所有者である Azure AD ユーザーは、このグループに新しいメンバーを割り当てることができます (Azure SQL 論理サーバーの ID を含む)。

このソリューションでは、グループを作成してユーザーを 1 回限りのアクティビティとして割り当てるには、これまでと変わらず高い特権を持つユーザー (全体管理者または特権ロール管理者) が必要になりますが、今後は Azure AD グループの所有者が、追加のメンバーを割り当てることができるようになります。 これにより、将来的には、Azure ADテナント内のすべての SQL Database、SQL Managed Instance、または Azure Synapse サーバーを構成するために、高い特権を持つユーザーに関与してもらう必要がなくなります。

次のステップ