4. 作成されるAWSリソース

メンバーズでは、セキュリティおよびメンバーズサービス提供のためいくつかのAWSサービスを有効化しリソースを作成します。このドキュメントではメンバーズご契約時に作成される主なリソースを説明します。

リソースにはCM管理リソースとオプションリソースの2種類があります。

CM管理リソースについては、お客様で削除および変更はできません。

オプションリソースはセキュリティ設定オプションによって設定される内容が異なります。メンバーズでは初期設定時に「ベーシック」か「セキュア」を選択できます。このドキュメントでは共通のものと個別のものでそれぞれ説明します。それらのリソースについては、お客様の判断で設定変更や削除をしても問題ありません。

ベーシック設定では次のリソースを初期設定で有効化します。

  • メンバーズ基本サービスの各種リソース

  • ベーシック設定の各種リソース

セキュア設定では次のリソースを初期設定で有効化します。

  • メンバーズ基本サービスの各種リソース

  • セキュア設定の各種リソース

初期設定で有効化するいくつかのリソースについて、メンバーズポータル上のメンバーズサービス設定画面でオプトインを提供しています。オプトインすると、メンテナンス時にそのリソースを再有効化および一部設定をメンバーズの推奨設定に上書きします。そのため、お客様独自の設定を行う場合、オプトインしないことを推奨します。オプトインに対応しているリソースには オプトイン ラベルを付与しています。

  • ベーシック設定ではオプトインは デフォルトOFF となっています

  • セキュア設定ではオプトインは デフォルトON となっています

  • ベーシック設定でアカウントの初期設定を行なった場合でも、セキュア設定のリソースをオプトイン可能です

特殊なリソースにはラベルを付与しています。ラベルのないリソースは初期設定となり、お客様独自の設定が可能です。AWS上のタグ設定が可能なリソースには、次のタグが設定されています。

  • CM管理 ラベル

    • メンバーズサービスを提供する上で必須のリソース。設定変更などを行うとサービス提供に支障が出る可能性があります

    • cm:Members=Managed

  • ラベルのないリソース

    • アカウント提供時に有効になっているリソース

    • ベーシック設定および共通で有効化されるリソース

      • cm:Members=Initialized

    • セキュア設定で有効化されるリソース

      • cm:Members=SecureAccount

4.1. メンバーズ基本サービス

4.1.1. AWS Identity and Access Management(IAM)

4.1.1.1. ユーザー

次のような初期ユーザーが作成されています。新しいユーザーを作成したあとであれば削除しても問題ありません。

  • initial-admin-user-<アカウントID>

    • 「admin-group-<アカウントID>」グループに追加

4.1.1.2. グループ

次のような初期グループが作成されています。適切なポリシーがアタッチされたユーザーやグループを作成したあとであれば削除しても問題ありません。

  • admin-group-<アカウントID>

    • 「AdministratorAccess」ポリシーをアタッチ

4.1.1.3. ロール

  • AWSServiceRoleForOrganizations

    • メンバーズではAWS Organizationsを利用しており、お客様のアカウントはメンバーアカウントとして作成しています。このロールはAWSによってメンバーアカウントに自動的に作成されます

    • AWS Organizationsの仕様で削除することはできません

  • CM管理 cm-helpdesk

  • CM管理 cm-membersportal

  • CM管理 cm-policymaintainer

    • IAMロール、ポリシーおよびメンバーズサービスで有効にしているサービスの初期設定とメンテナンスを実施するために使用します

    • 初期設定を実行する際、一時的に記載とは異なるポリシーがアタッチされることがあります。詳細はアカウントのCloudTrail証跡をご確認ください

    • アタッチされているインラインポリシー

  • CM管理 cm-config-role-all-regions

    • AWS Configで使用します

    • アタッチされているAWS管理ポリシー

    • アタッチされているインラインポリシー

4.1.1.4. アカウント設定

  • オプトイン パスワードポリシー

    • パスワードの最小長

      • 8文字

    • 少なくとも1つの大文字が必要

      • ON

    • 少なくとも1つの小文字が必要

      • ON

    • 少なくとも1つの数字が必要

      • ON

    • 少なくとも1つの英数字以外の文字が必要

      • ON

    • ユーザーにパスワードの変更を許可

      • ON

4.1.2. Amazon S3

S3バケットを誤って公開しないようにアカウントレベルのパブリックアクセスブロックを設定します。

4.1.2.1. このアカウントのブロックパブリックアクセス設定

  • パブリックアクセスをすべてブロック

    • オン

4.1.3. AWS CloudFormation

4.1.3.1. スタック

次のCloudFormationスタックが作成されています。不要でしたら削除して問題ありません。

  • cm-Initial-IAM

    • AWSアカウント新規発行時に「お客様向けIAMユーザー」「管理者権限IAMグループ」を作成する際に作成したものです

  • cm-policymaintainer-init-prod

    • アカウントに対しメンバーズ標準の設定を行う際に作成したものです

4.1.4. オプトイン AWS Compute Optimizer有効化

アクティブな各リージョンで有効化します。

4.1.4.1. Compute Optimizer

  • オプトイン

    • 有効

4.1.4.2. IAMロール

  • AWSServiceRoleForComputeOptimizer

    • Compute Optimizerで使用します

4.1.5. オプトイン AWS IAM Access Analyzer有効化

アクティブな各リージョンで有効化し、次の設定を行います。

4.1.5.1. アナライザー

  • cm-access-analyzer

    • タイプ

      • アカウント

4.1.5.2. アーカイブルール

  • ArchiveRule-CmHelpdesk

    • リソース

      • cm-helpdesk

  • ArchiveRule-CmMembersportal

    • リソース

      • cm-membersportal

  • ArchiveRule-CmPolicymaintainer

    • リソース

      • cm-policymaintainer

4.1.5.3. IAMロール

  • AWSServiceRoleForAccessAnalyzer

    • IAM Access Analyzerで使用します

4.2. ベーシック設定

4.2.1. オプトイン AWS CloudTrail有効化

東京リージョンで「すべてのリージョンに適用される証跡」を作成し有効化します。証跡は各リージョンに対して5個が上限となっています。そのためすでに上限の証跡が存在している場合、証跡は作成されません。証跡を新たに作成するためには、既存の証跡を5個未満にする必要があります。またS3バケットを作成するため、バケット数が上限となっている場合は不要なバケットを削除するか上限緩和の申請を行ってください。次の設定を行います。

4.2.1.1. CloudTrail証跡

  • Members

    • Trail settings

      • 証跡情報を全てのリージョンに適用

        • Yes

    • 管理イベント

      • 読み込み/書き込みイベント

        • すべて

    • ストレージの場所

      • S3 バケット

        • cm-members-cloudtrail-<アカウントID>

    • ログファイルの検証を有効化

      • はい

4.2.1.2. S3バケット

AWS CloudTrailのログ配信先として東京リージョンに作成します。

  • cm-members-cloudtrail-<アカウントID>

    • パブリックアクセスのブロック(バケット設定)

      • パブリックアクセスをすべてブロック

        • オン

    • バケットのバージョニング

      • 有効

    • デフォルトの暗号化

      • サーバー側の暗号化

        • 有効

      • 暗号化キータイプ

        • Amazon S3 マネージドキー(SSE-S3)

    • オブジェクトロック

      • デフォルトの保持期間

        • 1年

      • デフォルトの保持モード

        • コンプライアンス

    • リクエスタ支払い

      • リクエスタ支払い

        • 無効

    • ライフサイクルルール

      • オブジェクトの完全削除

        • 3年後

      • 不完全なマルチパートアップロード

        • 7日後

4.2.2. オプトイン AWS Config有効化

アクティブな各リージョンでAWS Configを有効化します。またS3バケットを作成するため、バケット数が上限となっている場合は不要なバケットを削除するか上限緩和の申請を行ってください。

4.2.2.1. AWS Config 配信チャネルおよび設定レコーダー

  • default

    • 配信チャネル

      • S3バケット

        • cm-members-config-<アカウントID>

    • 設定レコーダー

      • IAMロール

        • cm-config-role-all-regions

      • 記録するリソースタイプ

        • 詳細は次項をご確認ください

4.2.2.2. 記録するリソースタイプ

ベーシック設定では一部のリソースのみを記録します。リソースタイプには特定リージョンのみ記録可能なものがあります。また、グローバルリソース(AWS IAMリソースなど)は東京リージョンのみ記録します。

4.2.2.2.1. AWS Configに関する注意点

記録対象となっているリソースは、あくまでメンバーズの初期設定となります。セキュリティをより強化する目的で記録対象を追加する(あるいは すべてのリソース を記録対象とする)ことは問題ありません。その場合、AWS Configの利用費も増加するため注意してください。

また、利用費軽減の目的で記録対象からリソースを削除する(あるいは 記録をオフ にする)ことも問題ありません。ただし変更管理ができなくなるため、本当に削除してもよいのかは十分に検討してください。

一時的に記録対象からリソースを削除する(あるいは 記録をオフ にする)ケースとして、検証目的などで頻繁にリソースの作成、変更、削除を行う場合が考えられます。AWS Configは 記録対象となっているリソースの変更を記録する料金 が利用費として発生するため、仮に検証目的であってもリソースの作成、変更、削除を行うと利用費が発生します。検証時などにAWS Configの利用費が多く見込まれる場合、記録が不要なリソースを記録対象から一時的に削除することをご検討ください。

4.2.2.3. S3バケット

AWS Configのログ配信先として東京リージョンに作成します。

  • cm-members-config-<アカウントID>

    • パブリックアクセスのブロック(バケット設定)

      • パブリックアクセスをすべてブロック

        • オン

    • デフォルトの暗号化

      • サーバー側の暗号化

        • 有効

      • 暗号化キータイプ

        • Amazon S3 マネージドキー(SSE-S3)

    • リクエスタ支払い

      • リクエスタ支払い

        • 無効

    • ライフサイクルルール

      • オブジェクトの完全削除

        • 3年後

      • 不完全なマルチパートアップロード

        • 7日後

4.3. セキュア設定

4.3.1. AWS Key Management Service (KMS)

S3バケットに保存するAWS CloudTrailおよびAWS Configのログを暗号化するためにカスタマーマスターキー(CMK)を作成します。

4.3.1.1. KMSキー

  • alias/cm-members-logs-key

    • リージョン

      • 東京

    • キーのタイプ

      • 対称

4.3.2. デフォルトVPC削除

意図せず必要以上の公開範囲でリソースを晒してしまう可能性があるため、アクティブな各リージョンのデフォルトVPCを削除します。

4.3.3. オプトイン AWS CloudTrail有効化

東京リージョンで「すべてのリージョンに適用される証跡」を作成し有効化します。証跡は各リージョンに対して5個が上限となっています。そのためすでに上限の証跡が存在している場合、証跡は作成されません。証跡を新たに作成するためには、既存の証跡を5個未満にする必要があります。またS3バケットを作成するため、バケット数が上限となっている場合は不要なバケットを削除するか上限緩和の申請を行ってください。次の設定を行います。

4.3.3.1. CloudTrail証跡

  • Members

    • Trail settings

      • 証跡情報を全てのリージョンに適用

        • Yes

    • 管理イベント

      • 読み込み/書き込みイベント

        • すべて

    • ストレージの場所

      • S3 バケット

        • cm-members-cloudtrail-<アカウントID>

    • ログファイルのSSE-KMS暗号化

      • 有効

      • KMSエイリアス

        • alias/cm-members-logs-key

    • ログファイルの検証を有効化

      • はい

4.3.3.2. S3バケット

AWS CloudTrailのログ配信先として東京リージョンに作成します。

  • cm-members-cloudtrail-<アカウントID>

    • パブリックアクセスのブロック(バケット設定)

      • パブリックアクセスをすべてブロック

        • オン

    • バケットのバージョニング

      • 有効

    • デフォルトの暗号化

      • サーバー側の暗号化

        • 有効

      • 暗号化キータイプ

        • AWS Key Management Service キー(SSE-KMS)

      • AWS KMSキー

        • alias/cm-members-logs-key

      • バケットキー

        • 有効

    • オブジェクトロック

      • デフォルトの保持期間

        • 1年

      • デフォルトの保持モード

        • コンプライアンス

    • リクエスタ支払い

      • リクエスタ支払い

        • 無効

    • ライフサイクルルール

      • オブジェクトの完全削除

        • 3年後

      • 不完全なマルチパートアップロード

        • 7日後

4.3.4. オプトイン AWS Config有効化

アクティブな各リージョンでAWS Configを有効化します。またS3バケットを作成するため、バケット数が上限となっている場合は不要なバケットを削除するか上限緩和の申請を行ってください。

4.3.4.1. AWS Config 配信チャネルおよび設定レコーダー

  • default

    • 配信チャネル

      • S3バケット

        • cm-members-config-<アカウントID>

    • 設定レコーダー

      • IAMロール

        • cm-config-role-all-regions

      • 記録するリソースタイプ

        • サポートされているすべてのリソース

      • グローバルリソースを含める

        • 東京のみ有効

4.3.4.2. S3バケット

AWS Configのログ配信先として東京リージョンに作成します。

  • cm-members-config-<アカウントID>

    • パブリックアクセスのブロック(バケット設定)

      • パブリックアクセスをすべてブロック

        • オン

    • デフォルトの暗号化

      • サーバー側の暗号化

        • 有効

      • 暗号化キータイプ

        • AWS Key Management Service キー(SSE-KMS)

      • AWS KMSキー

        • alias/cm-members-logs-key

      • バケットキー

        • 有効

    • リクエスタ支払い

      • リクエスタ支払い

        • 無効

    • ライフサイクルルール

      • オブジェクトの完全削除

        • 3年後

      • 不完全なマルチパートアップロード

        • 7日後

4.3.5. オプトイン Amazon EBSデフォルト暗号化の有効化

ブロックストレージであるAmazon EBSをデフォルトで暗号化します。セキュアアカウント発行時のデフォルトの暗号化キーはAWSマネージドキーを指定していますが、お客様で発行したカスタマーマスターキー(CMK)に変更することも可能です。データを保管するストレージをCMKで暗号化することで、暗号化キーの削除による暗号化消去(Cryptographic Erase)が可能です。お客様が暗号化消去を行うことで、AWS上からデータを論理的に削除したことが説明できます。安全なデータ破棄の考え方は クラウドにおける安全なデータの廃棄 も参照してください。

4.3.5.1. EBS暗号化

  • 常に新しいEBSボリュームを暗号化

    • 有効

  • デフォルトの暗号化キー

    • alias/aws/ebs

4.3.6. オプトイン Amazon GuardDuty有効化

AWS上の脅威検知サービスとして各リージョンでAmazon GuardDutyを有効化します。攻撃者による不正なAWSログインやコインマイニング、S3データ漏洩などを検知します。

4.3.6.1. GuardDuty

  • S3保護

    • 有効

  • EKS保護

    • EKS監査ログのモニタリング

      • 有効

    • EKSランタイムモニタリング

      • 有効

    • エージェントを自動的に管理する

      • 有効

  • マルウェア保護

    • 有効

  • RDS保護

    • 有効

  • Lambda保護

    • 有効

4.3.7. オプトイン AWS Security Hub有効化

AWS上の危険な設定を検知するためにAWS Security Hubによるセキュリティ基準をアクティブな各リージョンで設定します。うっかりSecurity GroupのSSHポートを 0.0.0.0/0 で開放したり、S3バケットを公開してしまったりという誤設定を検知します。Security Hubを有効化するためにはAWS Configが有効になっている必要があります。事前にAWS Configを有効化しておくか、両方のリソースをオプトインしてください。

Security Hub有効化にあたっては、次のドキュメントも参照してください。

4.3.7.1. Security Hub

  • 検出結果の集約

    • 集約リージョン

      • アジアパシフィック(東京)/ap-northeast-1

    • 将来のリージョンを自動的にリンク

      • オン

  • セキュリティ基準

    • AWS 基礎セキュリティのベストプラクティス v1.0.0

    • 無効化項目

      • Account.1

      • CloudTrail.5

      • Config.1(東京リージョン以外)

      • IAM.1(東京リージョン以外)

      • IAM.2(東京リージョン以外)

      • IAM.3(東京リージョン以外)

      • IAM.4(東京リージョン以外)

      • IAM.5(東京リージョン以外)

      • IAM.6

      • IAM.7(東京リージョン以外)

      • IAM.8(東京リージョン以外)

      • IAM.21(東京リージョン以外)

      • KMS.1

      • KMS.2

  • コントロール

    • 統合されたコントロールの検出結果

      • オン

  • オートメーション

    • Suppress KMS.2 for cm-config-role-all-regions

      • RuleOrder

        • 100

      • IsTerminal

        • false

      • 条件

        • キー

          演算子

          RecordState

          EQUALS

          ACTIVE

          WorkflowStatus

          EQUALS

          NEW

          GeneratorId

          EQUALS

          aws-foundational-security-best-practices/v/1.0.0/KMS.2

          ResourceId

          EQUALS

          arn:aws:iam::<アカウントID>:role/cm-config-role-all-regions

      • 自動アクション

        • ASFF属性

          ワークフローステータス

          SUPPRESSED

4.3.8. オプトイン Amazon Detective有効化

インシデントが発生した場合に脅威を可視化するためにアクティブな各リージョンで有効化します。ログの詳細な調査や可視化を簡単に実現できます。Detectiveを有効化するためにはGuardDutyが有効になっている必要があります。事前にGuardDutyを有効化しておくか、両方のリソースをオプトインしてください。

4.3.9. オプトイン Amazon EventBridge有効化

Amazon GuardDuty/AWS Security Hub/AWS IAM Access Analyzerで検知した各種セキュリティアラートをメールやSlackなどに転送するために作成します。通知を受け取るためには セキュリティアラート通知設定 の手順に 沿って設定を行ってください。

4.3.9.1. イベントバス

  • cm-security-alert-aggregator-bus

    • 整形後のセキュリティアラートを集約します

    • お客様が通知設定することで通知を受け取ることが可能です

    • 通知設定は ユーザーガイド を参照してください

4.3.9.2. ルール

  • cm-guardduty-alert-rule

    • 各リージョンのGuardDuty検知結果を集約しステートマシンに送ります

    • リージョン

      • 東京

    • ターゲット

      • cm-sharping-security-alert-machine

  • cm-guardduty-<region_name>-alert-rule

    • 各リージョンのGuardDuty検知結果を東京リージョンに転送します

    • リージョン

      • 東京以外

    • ターゲット

      • cm-guardduty-aggregate-alert-rule

  • cm-securityhub-alert-rule

    • 各リージョンのSecurity Hub検知結果を集約しステートマシンに送ります

    • リージョン

      • 東京

    • ターゲット

      • cm-sharping-security-alert-machine

  • cm-accessanalyzer-alert-rule

    • 各リージョンのAccess Analyzer検知結果を集約しステートマシンに送ります

    • リージョン

      • 東京

    • ターゲット

      • cm-sharping-security-alert-machine

  • cm-accessanalyzer-<region_name>-alert-rule

    • 各リージョンのAccess Analyzer検知結果を東京リージョンに転送します

    • リージョン

      • 東京以外

    • ターゲット

      • cm-accessanalyzer-alert-rule

4.3.9.3. AWS Step Functionsステートマシン

Amazon EventBridgeから送られてきた各種セキュリティアラートを整形してメールやSlackなどに転送できるフォーマットに加工します。東京リージョンに作成します。

  • cm-sharping-security-alert-machine

  • 整形後のセキュリティアラート転送先

    • cm-security-alert-aggregator-bus

4.3.9.4. IAM ロール

セキュア設定では各種セキュリティアラート関連リソースのため次のIAMロールが作成されます。

  • cm-alert-eventrule-role

    • 各種セキュリティアラートを検知してステートマシンに転送するルールで利用します

  • cm-alert-forward-eventrule-role

    • 各種セキュリティアラートを検知して東京リージョンに転送するルールで利用します

  • cm-alert-statemachine-role

    • 各種セキュリティアラートを受け取り整形するステートマシンで利用します

4.4. 【組織管理プラン】補足事項

上記は組織管理プランにおける管理アカウント・メンバーアカウントについても同様ですが、いくつか補足事項がございます。

4.4.1. 管理アカウント

組織管理プランの場合、お客様は管理アカウントもご利用いただけますが、セキュリティおよびメンバーズサービス提供のためいくつかのAWSサービスを有効化しリソースを作成します。

前提として、AWS Organizationsはデフォルトの機能セット(すべての機能)で有効化します。

4.4.1.1. AWS Organizations組織単位 (OU)

  • CM管理 MembersDefaultOU

    • Root直下のOUはクラスメソッド管理のOUとなり、当該OUが実質的にお客様のRootとしてご利用いただけます

  • CM管理 AllowASAOU

    • AWS Shield Advancedを利用するAWSアカウントがある場合にのみ、ご利用いただけます

  • CM管理 AccountLeavableOU

    • AWSアカウントを別の組織に移管する場合にのみ、使用します

  • CM管理 MembersControlTowerOU(※AWS Control Tower利用時のみ作成)

    • AWS Control Tower 登録済みOUとして、当該OUが実質的にお客様のRootとしてご利用いただけます

  • CM管理 SecurityOU(※AWS Control Tower利用時のみ作成)

    • AWS Control Towerの基礎OUとして作成します

4.4.1.2. AWS Organizationsサービスコントロールポリシー (SCP)

  • CM管理 CM-Root

    • Rootに適用します

  • CM管理 CM-MembersDefaultOU

    • MembersDefaultOUに適用します

  • CM管理 CM-AllowASAOU

    • AllowASAOUに適用します

  • CM管理 CM-AccountLeavableOU

    • AccountLeavableOUに適用します

  • CM管理 CM-MembersControlTowerOU(※AWS Control Tower利用時のみ作成)

    • MembersControlTowerOUに適用します

  • CM管理 CM-SecurityOU(※AWS Control Tower利用時のみ作成)

    • SecurityOUに適用します

4.4.1.3. AWS IAM ロール

メンバーズ基本サービスのIAMロール(CM管理のみ) に加え、以下リソースを作成します。

  • CM管理 cm-ActAdministrator

  • CM管理 cm-ActManager

  • CM管理 cm-ActMember

  • CM管理 cm-SupportMember

    • 弊社オペレーションチームがお客様環境へアクセスするために使用します

  • CM管理 cm-managementaccount-maintainer

    • メンバーズサービスのメンテナンスを実施するために使用します

  • CM管理 cm-membersportal-billing

    • メンバーズポータルがお客様環境へアクセスするために使用します

  • CM管理 cm-ActCTCreator

    • AWS Control Towerを利用してAWSアカウントを作成するために使用します

4.4.2. メンバーアカウント

4.4.2.1. AWS Control Tower利用時における変更点

AWS Control Towerアカウントファクトリーにより発行されたAWSアカウントには、次のAWSリソースは作成・メンテナンスされません。

  • AWS CloudTrail

  • AWS Config

  • AWS IAM ユーザー/グループ

    • initial-admin-user-<アカウントID> および admin-group-<アカウントID>

AWS Control Towerを利用しているかの判定にはご利用のAWSアカウント内にIAMロール aws-controltower-AdministratorExecutionRole が存在するかをチェックします。

そのため AWS Control Towerを利用していないにもかかわらず、上記AWSリソースがメンテナンスされない場合、正常に設定されるよう当該IAMロールを削除してください。