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