Ansible の Azure 認証ユーザーの確認

Ansible が Azure への認証に使う実際のユーザーを確認し、名前の複雑さに頼らず認証方法と権限を管理してください。

説明

azure.azcollection.azure_rm_adserviceprincipal の ad_user は、Ansible が Azure への認証に使うユーザー名です。Azure SQL の管理者アカウントや、作成するサービスプリンシパルの名前を設定するフィールドではありません。

ユーザー名は秘密情報ではありません。一般的な名前か、推測しにくい名前かだけで認証の安全性を判断せず、実際の認証主体、資格情報、権限を確認してください。

想定される影響

  • 意図しないユーザーで自動化を実行すると、処理が失敗したり、必要以上に広い権限を使ったりする可能性があります。
  • ユーザー名を隠すことに頼ると、資格情報の漏えいや過剰な権限を見落とすおそれがあります。

対処方法

  • ユーザー認証を使う場合は、ad_user に承認済みの実在するユーザーを指定し、必要な資格情報を安全に渡してください。
  • 自動化環境に適した対応済みの認証方法を使い、必要な Azure 権限だけを付与してください。
  • Azure SQL の管理者設定は、対象サーバーの管理者構成で別途確認してください。

例

既存のアプリケーションの app_id、テナント、対応する認証設定が別途必要な抜粋です。ユーザー名を任意に変更しても、アカウントの作成や権限の削減にはなりません。

変更前

yaml
- name: AD 서비스 주체 생성
  azure.azcollection.azure_rm_adserviceprincipal:
    app_id: "{{ app_id }}"
    state: present
    tenant: "{{ tenant_id }}"
    ad_user: admin

admin が実際にどの認証ユーザーを指すか確認する必要があります。この値で SQL 管理者アカウントを設定するわけではありません。

変更後

yaml
- name: AD 서비스 주체 생성
  azure.azcollection.azure_rm_adserviceprincipal:
    app_id: "{{ app_id }}"
    state: present
    tenant: "{{ tenant_id }}"
    ad_user: "{{ azure_auth_username }}"

azure_auth_username で承認済みの実在するユーザーを指定します。そのユーザーの認証方法と権限も管理する必要があります。

参考資料