[アップデート] Amazon Cognito のマネージドログイン機能で、利用規約とプライバシーポリシー文書のサポートが追加されました
こんにちは、製造ビジネステクノロジー部の若槻です。
今月初めに、Amazon Cognito のマネージドログインに「プライバシーポリシー」と「利用規約」を設定可能となるアップデートがありました。以下が公式アナウンスです。
- 英語:https://aws.amazon.com/about-aws/whats-new/2025/10/amazon-cognito-terms-use-privacy-policy-documents-managed-login/
- 日本語:https://aws.amazon.com/jp/about-aws/whats-new/2025/10/amazon-cognito-terms-use-privacy-policy-documents-managed-login/
これにより、ユーザーのサインアップ時(サービス利用開始時)にプライバシーポリシーと利用規約への同意を促す UI を簡単に提供できるようになります。
やってみた
事前準備
まずはマネージドログインを設定した Amazon Cognito ユーザープールを作成します。今回は AWS CDK を使用して作成しました。
import * as cdk from "aws-cdk-lib";
import * as cr from "aws-cdk-lib/custom-resources";
import * as cognito from "aws-cdk-lib/aws-cognito";
import { Construct } from "constructs";
const COGNITO_DOMAIN_PREFIX = "cm-test-20251020";
const CALLBACK_URLS = ["https://dev.classmethod.jp/"];
const LOGOUT_URLS = ["https://dev.classmethod.jp/"];
export class MainStack extends cdk.Stack {
constructor(scope: Construct, id: string) {
super(scope, id);
/**
* Cognito User Pool
*/
const userPool = new cognito.UserPool(this, "UserPool", {
selfSignUpEnabled: true, // 本ブログの検証のため、ユーザーセルフサインアップを有効化
removalPolicy: cdk.RemovalPolicy.DESTROY, // 検証簡易化のため、スタック削除時に User Pool も削除
});
/**
* Cognito User Pool Domain
*/
userPool.addDomain("UserPoolDomain", {
cognitoDomain: { domainPrefix: COGNITO_DOMAIN_PREFIX },
managedLoginVersion: cognito.ManagedLoginVersion.NEWER_MANAGED_LOGIN, // 最新のマネージドログインを使用
});
/**
* Cognito User Pool Client
*/
const client = userPool.addClient("UserPoolClient", {
oAuth: {
callbackUrls: CALLBACK_URLS,
logoutUrls: LOGOUT_URLS,
},
});
/**
* デフォルトのマネージドログインブランディングを作成
*/
const managedLoginBranding = new cognito.CfnManagedLoginBranding(
this,
"ManagedLoginBranding",
{
userPoolId: userPool.userPoolId,
clientId: client.userPoolClientId,
useCognitoProvidedValues: true, // デフォルトのスタイルを使用する場合は true に設定
}
);
managedLoginBranding.node.addDependency(userPool);
managedLoginBranding.node.addDependency(client);
}
}
上記をデプロイして、マネージドログインを設定したユーザープールを作成します。
プライバシーポリシーと利用規約の作成
続いて今回のアップデートで追加された、プライバシーポリシーと利用規約を設定します。設定手順は以下のドキュメントが参考になります。
ユーザープールのマネージドログイン設定画面を開くと、今回のアップデートでプライバシーポリシーと利用規約の設定セクションが追加されています。[追加ドキュメントを作成] ボタンをクリックします。
すると[規約ドキュメントを作成] 画面が表示されます。プライバシーポリシーと利用規約のそれぞれを作成し、アプリクライアントに紐付ける流れのようです。
プライバシーポリシーの URL を指定して作成します。
プライバシーポリシーが作成できました。
同様に利用規約も作成します。
作成できました。
これでマネージドログインに利用規約とプライバシーポリシーが設定できました。
動作確認
マネージドログインのプレビューを確認すると、サインアップ画面に利用規約とプライバシーポリシーへのリンクが表示されるようになりました。
By signing up, you agree to our Terms of Use and Privacy Policy
スタイルの編集 UI 上でも表示されています。
実際のサインアップ画面にも同様に表示されています。
注意点
片方のみ設定した場合、表示されない
プライバシーポリシーと利用規約の両方を設定しないと、サインアップ画面にリンクは表示されません。次のように片方のみ設定した状態にしてみます。
サインアップ画面を確認すると、リンクは表示されていません。
最初に検証する際にハマったポイントでした。皆さんもご注意ください。
サインイン画面では、表示されない
利用規約とプライバシーポリシーへのリンクが表示されるのはサインアップ画面のみです。サインイン画面には表示されません。
よって、ユーザープールの作成済みのユーザーへは、新しく利用規約とプライバシーポリシーへの同意を促すことはできないので注意が必要です。
終わりに
Amazon Cognito のマネージドログインに「プライバシーポリシー」と「利用規約」を設定可能となるアップデートがあったのでご紹介しました。
この機能が無い場合は、サインアップ前後の導線上にプライバシーポリシーと利用規約への同意を促す仕組みを自前で用意する必要がありましたが、今回のアップデートにより簡単に実装できるようになりました。
ちなみに表示させるリンクは言語ごとに分けて設定することも可能です。多言語対応が必要な場合にも便利ですね。
参考
以上