Microsoft Azure サービスプリンシパルの作成

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:6分
  • Microsoft Azure アカウントのリソースおよび請求処理データに安全にアクセスするために、ディスカバリー プロセスは適切な Microsoft Azure アカウント認証情報を提供する必要があります。必要な認証情報を生成するために、特別なプログラムによるアカウント (Microsoft Azure サービスプリンシパル) を作成します。

    始める前に

    必要なロール:
    • クラウドプロビジョニングとガバナンスの discovery_admin、service_mapping_admin、sn_cmp.cloud_admin ロール、またはクラウドディスカバリーワークスペースの sn_cloud_ops_ws.cloud_ops_admin ロール。
    • Microsoft Azure ポータルでの操作には、次のいずれかのロールが必要です。
      • Azure または Azure AD (Active Directory) アドミン
      • アプリケーションアドミニストレーター
      • アプリケーション開発者
      • クラウドアプリケーションアドミニストレーター
      、リソースポリシーを作成または変更するには、リソースポリシー貢献者ロールを使用します。
    • MID サーバーと Azure クラウド API エンドポイント間の内部ネットワーク接続を有効にします。
      • US GovCloud の URL は https://management.usgovcloudapi.net/ です。
      • 商用の Azure クラウド URL は management.azure.com です。
        注:
        追加するアカウントが既に GovCloud アカウントである場合、資格情報を追加するときには必要ありません。

    手順

    1. Azure ポータルにログインし、[Azure Active Directory] に移動します。
    2. [アプリ登録 (App registrations)] セクションに移動し、[新規アプリケーション登録 (New application registration)] をクリックします。
      アプリケーションに関する以下の情報を入力します。
      アプリケーションの登録
      フィールド 説明
      名前 アプリケーションとそのデータ連携の認証情報の一意の名前。たとえば、ServiceNow Integration とします。
      サポートされているアカウントの種類 アプリケーションを使用できるユーザーを指定します。
      リダイレクト URI (オプション) Azure にアクセスする URL。通常は ServiceNow インスタンスの URL です。
    3. [登録] を選択してアプリの登録を完了します。
    4. 登録が完了したら、[アプリケーション (クライアント) ID] と [ディレクトリ (テナント) ID] の値をコピーして、テキストエディターに貼り付けます。
    5. 値にそれぞれ「アプリケーション ID」と「ディレクトリ ID」とラベル付けします。
    6. Azure ポータルで [証明書とシークレット (Certificates & secrets)] セクションおよび [新しいクライアントシークレット] に移動し、次の値を指定します。
      フィールド 説明
      キーの説明 キーの説明
      期間 キーの有効期限。
      注:
      組織はポリシーを適用してキーの永続性を制限できます。適切な期間を選択します。
    7. [追加] をクリックします。
    8. キー値をコピーしてテキストエディターに貼り付け、その値に「Application key」とラベル付けします。
    9. サービスプリンシパルがさまざまな Azure サブスクリプションで機能するようにするには、[サブスクリプション] に移動します。
      複数のサブスクリプションを管理するには、各サブスクリプションに対して次の手順を実行する必要があります。
      1. サブスクリプション ID をテキストエディターに貼り付け、[サブスクリプション ID] とラベル付けします。
        この手順で生成するテキストファイルは、次のようになります。Azure サービスプリンシパル認証情報の値を一時的に保持するテキストファイル
      2. サブスクリプションに移動し、メニューから [アクセス制御 (IAM)] を選択します。
      3. 画面上部にある [+ 追加 (+ Add)]、続いて [ロールアサインの追加 (Add role assignment)] をクリックします。
      4. [ロール] フィールドから値 [読者] を選択します。
        [アクセスを割り当て (Assign access to)] フィールドのデフォルト値 [ユーザー、グループ、またはサービスプリンシパル (User, group, or service principal)] はそのままにします。
        注:
        リソースポリシー 共同作成者 ロールは、プロビジョニングにのみ必要です。
      5. [選択] フィールドで、ステップ 2 で作成した名前を選択し、[保存] をクリックします。
        ロールアサインの追加
    10. 適切なアクションを実行します。
      • クラウドディスカバリークラウドディスカバリーワークスペース を使用していない場合は、次の手順を実行します。

        ディスカバリーマネージャーで、プラスアイコン ([+]) をクリックし、リストから [Azure サービスプリンシパル] を選択します。

      • クラウドディスカバリークラウドディスカバリーワークスペース を使用している場合は、次の手順を実行します。
        1. 移動先 すべて > 接続 & 認証情報 > 認証情報.
        2. [新規] を選択します。
        3. [Azure サービスプリンシパル] を選択します。
    11. Azure サービスプリンシパルフォームで次の値を指定します。
      フィールド
      名前 インスタンスに登録するサービスプリンシパルの名前。たとえば、Azure サービスプリンシパル認証情報 とします。
      認証方法 [クライアントシークレット] を選択します。

      [クライアントシークレット] を選択すると、[秘密キー] フィールドが表示されます。

      注:
      [クライアントアサーション] はサポートされていません。
    12. 一時テキストファイルから値をコピーして、残りのフィールドに貼り付けます。
      Azure の認証情報
      認証情報フォームフィールド Azure サービスプリンシパルの値
      テナント ID テキストファイルにある Azure Directory ID の値
      クライアント ID テキストファイルにある Azure Application ID の値
      秘密キー テキストファイルにある Azure Application key の値
    13. [保存] をクリックして、Azure サービスプリンシパルを作成します。
    14. [サブスクリプションを検出] 関連リンクをクリックして、Azure サービスプリンシパルのすべてのサブスクリプションを検索します。
      インスタンスは、検出されたサブスクリプションごとにサービスアカウントを作成します。[Azure サブスクリプション] 関連リンクをクリックすると、Azure サービスプリンシパルのすべてのサブスクリプションが表示されます。
    15. サブスクリプションをクリックして、そのサブスクリプションに対して作成されたサービスアカウントを表示します。
    16. [認証情報ディスカバリーステータス] リストの ディスカバリー ステータスエントリーをクリックして、ディスカバリー ログを表示します。
      [サブスクリプションを検出] をクリックするたびに、インスタンスは新しい ディスカバリー ステータスを生成し、それを [認証情報ディスカバリーステータス] リストに表示します。

    次のタスク

    クラウドプロビジョニングとガバナンス のみ:クラウドプロビジョニングとガバナンス プロセスが Microsoft Azure データにアクセスできるように、ServiceNow インスタンスにサービスプリンシパル認証情報のレコードを作成します。「インスタンスに Azure サービス プリンシパル認証情報を格納する」を参照してください。