クイックスタート: SMTP を使用してメールを送信するための認証資格情報を作成する方法
このクイック スタートでは、Entra アプリケーションで、SMTP を使用して Azure Communication Services を使ってメールを送信するための認証資格情報を作成する方法について説明します。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- Azure Communication Email Resource が作成され、プロビジョニングされたドメインが準備されている。メール通信リソースの作成に関する概要
- メール ドメインと接続文字列に接続されているアクティブな Azure Communication Services リソース。 電子メール リソースと通信リソースを接続して開始する
- Azure Communication Services リソースへのアクセス権がある Entra アプリケーション。 Microsoft Entra ID にアプリケーションを登録し、サービス プリンシパルを作成する
- Azure Communication Service リソースへのアクセス権がある Entra アプリケーションのクライアント シークレット。 新しいクライアント シークレットを生成する
SMTP 用 Azure Communication Services リソースへのアクセス権を持つ Microsoft Entra アプリケーションの使用
SMTP プロトコルを使用してメールを送信するアプリを構築するアプリケーション開発者は、セキュリティで保護された先進認証を実装する必要があります。 Azure Communication Services は、Entra アプリケーション サービス プリンシパルを利用してこれを行います。 Azure Communication Services リソースと Entra アプリケーション サービス プリンシパルの情報を組み合わせることで、SMTP サービスはユーザーに代わって Entra との認証を行い、セキュリティで保護されたシームレスなメール送信を保証します。
Entra アプリケーションのカスタム メール ロールの作成
Entra アプリケーションには、Azure Communication Services リソースに対する Microsoft.Communication/CommunicationServices/Read と Microsoft.Communication/EmailServices/write アクセス許可の両方を持つロールが割り当てられている必要があります。 これを行うには、共同作成者ロールを使用するか、カスタム役割を作成します。 既存のロールを複製してカスタム役割を作成するには、次の手順に従います。
- ポータルでカスタム役割を作成するには、最初にサブスクリプション、リソース グループ、または Azure Communication Service リソースに移動し、カスタム ロールを割り当て可能にしてから、アクセス制御 (IAM) を開いてください。
- [ロール] タブをクリックして、すべての組み込みおよびカスタム ロールの一覧を表示します。
- 閲覧者ロールなど、複製するロールを検索してください。
- 行の末尾にある省略記号 (...) をクリックし、[複製] をクリックしてください。
- [基本] タブをクリックし、新しいロールに名前を付けてください。
- [アクセス許可] タブをクリックし、[アクセス許可の追加] をクリックしてください。 Microsoft.Communication を検索し、[Azure Communication Services] を選択してください
- [Microsoft.Communication/CommunicationServicesRead] と [Microsoft.Communication/EmailServicesWrite]* アクセス許可を選択してください。 追加をクリックします。
- 新しい役割のアクセス許可を確認してください。 [確認と作成] をクリックし、次のページで [作成] をクリックしてください。
Entra アプリケーションに Azure Communication Services リソースの役割を割り当てると、新しいカスタム役割が使用できるようになります。 カスタム役割の作成の詳細については、「Azure portal を使用した Azure カスタム役割の作成または更新」を参照してください
Entra アプリケーションへのカスタム メール ロールの割り当て
- ポータルで、カスタム役割を割り当て可能にするサブスクリプション、リソース グループ、または Azure Communication Service リソースに移動し、アクセス制御 (IAM)いてください。
- [+ 追加] をクリックし、[ロールの割り当ての追加] を選択します
- [ロール] タブで、SMTP を使用してメールを送信するために作成されたカスタム役割を選択し、[次へ] をクリックしてください。
- [メンバー] タブで、[ユーザー、グループ、またはサービス プリンシパル] を選んでから、[メンバーの選択] を選んでください。
- 検索ボックスを使用して、認証に使用する Entra アプリケーションを見つけて選択してください。 [選択] をクリックします。
- 選択内容を確認したら、[次へ] をクリックしてください。
- スコープとメンバーを確認したら、[確認と割り当て] をクリックしてください。
Entra アプリケーション情報から SMTP 資格情報を作成する
SMTP 認証ユーザー名
Azure Communication Services では、Entra アプリケーションの資格情報を SMTP のユーザー名とパスワードとして使用できます。 ユーザー名は次の 3 つの部分で構成され、パイプ区切りまたはドット区切りにできます。
- Azure Communication Services リソースの名前。
- Entra アプリケーション ID。
- Entra テナント ID。
ドット区切り形式:
username: <Azure Communication Services Resource name>.<Entra Application ID>.<Entra Tenant ID>
パイプ区切り形式:
username: <Azure Communication Services Resource name>|<Entra Application ID>|<Entra Tenant ID>
SMTP 認証パスワード
パスワードは、Entra アプリケーションのクライアント シークレットの 1 つです。
SMTP AUTH クライアント送信の要件
- 認証: Entra アプリケーションの詳細を認証情報として使用し、ユーザー名とパスワードによる認証がサポートされています。 Azure Communication Services SMTP サービスは、Entra アプリケーションの詳細を使用してユーザーに代わってアクセス トークンを取得し、そのトークンを使用してメールを送信します。 Entra トークンはキャッシュされないため、Entra アプリケーション クライアント シークレットを変更するか、Azure Communication Services リソースのアクセス制御を変更すると、すぐにアクセスを取り消すことができます。
- Azure Communication Services: 接続された Azure Communication Email リソースとドメインを持つ Azure Communication Services リソースが必要です。
- トランスポート層セキュリティ (TLS): お使いのデバイスで TLS バージョン 1.2 以上を使用できる必要があります。
- ポート: ポート 587 が必要であり、ネットワークでブロック解除する必要があります。 ネットワーク ファイアウォールまたは ISP によっては、メール サーバーがメールの送信に使用しているという理由でポートがブロックされています。
- DNS: DNS名 smtp.azurecomm.net を使用します。 IP アドレスはサポートされていないので、Microsoft 365 または Office 365 サーバーには IP アドレスを使用しないでください。
SMTP AUTH クライアントの送信を設定する方法
ガイドの指示に従って、次の設定をデバイスまたはアプリケーションで直接入力してください (この記事とは異なる用語が使われている場合があります)。 シナリオが SMTP AUTH クライアントの送信の前提条件と一致する場合、これらの設定で、SMTP コマンドを使用してデバイスまたはアプリケーションからメールを送信できます。
デバイスまたはアプリケーションの設定 | 値 |
---|---|
サーバー/スマート ホスト | smtp.azurecomm.net |
ポート | ポート 587 |
TLS / StartTLS | 有効 |
ユーザー名とパスワード | Azure Communication Services リソースにアクセスできるアプリケーションから Entra アプリケーションの資格情報を入力してください |