次の方法で共有


サービス プリンシパルを作成する

この記事では、Azure Cloud で管理パック ワークフロー Azure SQL Managed Instance認証するためにロールベースのアクセス制御と共に使用できるMicrosoft Entra アプリケーションとサービス プリンシパルを作成する方法について説明します。

Microsoft Entra ID に新しいアプリケーションを登録すると、アプリの登録用にサービス プリンシパルが自動的に作成されます。 サービス プリンシパルは、Microsoft Entra テナント内のアプリの ID です。 リソースへのアクセスはサービス プリンシパルに割り当てられているロールによって制限されるため、どのリソースに、どのレベルでアクセスできるかを制御することができます。 セキュリティ上の理由から、自動化ツールにはユーザー ID でのサインインを許可するのではなく、常にサービス プリンシパルを使用することを推奨します。

この記事では、Azure portal でシングル テナント アプリケーションを作成します。 この例は、1 つの組織内で使用される基幹業務アプリケーションに適用できます。 Azure PowerShell または Azure CLI を使用して、サービス プリンシパルを作成することもできます。

前提条件

Microsoft Entra テナントにアプリケーションを登録するには、次のものが必要です。

アプリの登録に必要なアクセス許可

アプリケーションを Microsoft Entra テナントに登録し、Azure サブスクリプションでそのアプリケーションにロールを割り当てるために、十分なアクセス許可を持っている必要があります。 これらのタスクを完了するには、 Application.ReadWrite.Allpermission.

Microsoft Entra ID にアプリケーションを登録し、サービス プリンシパルを作成する

  1. Azure portal にサインインします。

  2. [Microsoft Entra ID>] を参照しアプリの登録[新規登録] を選択します。

  3. アプリケーションに名前を付けます (例: Azure_SQL_ManagedInstance_App_customSPN)。

  4. サポートされているアカウントの種類を選択して、アプリケーションを使用できるユーザーを決定し、[ 登録] を選択します。

    登録アプリケーションを示すスクリーンショット。

    ヒント

    Web URI リダイレクトはスキップできます。このパラメーターは監視には必要ありません。

Microsoft Entra アプリケーションとサービス プリンシパルが作成されました。

アプリケーションにロールを割り当てる

サブスクリプション内のリソースにアクセスするには、アプリケーションにロールを割り当てる必要があります。 アプリケーションに適切なアクセス許可を提供するロールを決定しますが、Azure Cloud で管理パック ワークフロー Azure SQL Managed Instance認証する場合は、閲覧者ロールで十分です。

スコープは、サブスクリプション、リソース グループ、またはリソースのレベルで設定できます。 アクセス許可は、スコープの下位レベルに継承されます。

  1. ポータルに残り、アプリケーションを割り当てるスコープのレベルを選択します。 たとえば、サブスクリプション スコープでロールを割り当てるには、[サブスクリプション] を検索して選択します。 探しているサブスクリプションが表示されない場合は、グローバル サブスクリプション フィルターを選択します。 必要なサブスクリプションがテナントで選択されていることを確認してください。

  2. [ アクセス制御 (IAM)] を選択し、[ 追加] を選択してから、[ ロールの割り当ての追加] を選択します。

  3. [ ロール ] タブで、一覧でアプリケーションに割り当てる 閲覧者 ロールを選択し、[ 次へ] を選択します。

  4. [ メンバー ] タブで、[ アクセスの割り当て先] を選択し、[ ユーザー、グループ、またはサービス プリンシパル] を選択します。

  5. [ メンバーの選択] を選択 し、アプリケーションを検索し、その名前で検索します。 [選択] ボタンを選択し、[確認と割り当て] を選択します。

    ロールの割り当ての追加を示すスクリーンショット。

アプリケーションにサインインする

プログラムでサインインするときは、認証要求でテナント ID とアプリケーション ID を渡します。 証明書または認証キーも必要です。 ディレクトリ (テナント) ID とアプリケーション ID を取得するには:

  1. [ID][アプリケーション][アプリ登録] の順に進み、アプリケーションを選択します。
  2. アプリの [概要] ページで、ディレクトリ (テナント) ID 値をコピーし、アプリケーション コードに保存します。
  3. アプリケーション (クライアント) ID 値をコピーし、アプリケーション コードに保存します。

認証の設定

サービス プリンシパルで使用できる認証には、パスワードベースの認証 (クライアント シークレット) と証明書ベースの認証の 2 種類があります。 この記事では、パスワードベースの認証 (クライアント シークレット) を使用します。

新しいクライアント シークレットを作成する

  1. [Microsoft Entra ID>アプリの登録に移動し、アプリケーションを選択します。

  2. [ 証明書 & シークレット] を選択し、[ クライアント シークレット] を選択してから、[ 新しいクライアント シークレット] を選択します。

  3. 企業ポリシーに基づいてシークレットと期間の説明を入力し、[ 追加] を選択します。

    ヒント

    クライアント シークレットを保存すると、クライアント シークレットの値が表示されます。 これは 1 回だけ表示されるため、この値をコピーし、再利用のために安全な場所に保存します。

    クライアント シークレットの登録を示すスクリーンショット。

サービスプリンシパルの設定が完了しました。

Azure 実行アカウントを設定する

サービス プリンシパルの使用を開始するには、[ Azure 実行アカウントの設定 ] 監視ウィザードの手順で [ 新規 ] を選択し、アプリの概要ページで確認できる値を含むフォームに入力します。

新しい Azure 実行アカウントの作成を示すスクリーンショット。

Azure サービス プリンシパル名に関連付けられている実行アカウントを作成したら、ドロップダウン リストから選択し、[ 次へ] を選択します。 この実行アカウントは、Azure クラウドでの認証に使用されます。

既存の実行プロファイルを示すスクリーンショット。