NTT東日本の自治体クラウドソリューション

AWSのインターフェイスVPCエンドポイント経由の通信制御をうまく行うコツ

こんにちは、白鳥です。

2025年8月、IAMポリシーに新たな条件キーが追加され、VPCエンドポイント経由の通信制御がより柔軟に行えるようになりました。具体的にはaws:VpceAccountaws:VpceOrgPathsaws:VpceOrgIDの3つになります。これまでインターフェイスVPCエンドポイント経由でのAWSリソースのアクセスにはaws:SourceVpcaws:SourceVpceといった具体的なVPCやVPCエンドポイントを具体的に指定する必要があったのが、aws:VpceAccountではアカウント単位、aws:VpceOrgPathsではOU単位、aws:VpceOrgIDではAWS Organizations単位で指定できるようになりました。

What's New at AWS - Cloud Innovation & News

運用面で言うと、接続の必要があるインターフェイスVPCエンドポイントが増えるたびに対象のVPCやVPCエンドポイントのIDを条件キーに追加する必要があったのですが、アカウントやOU、Organizationsといった単位で制御するようにできることで、通信制御をより適切な範囲で行えるようになっています。今回は改めて、インターフェイスVPCエンドポイントにおける通信制御の目的とベストプラクティスを振り返ってみたいと思います。

想定する読者

  • AWSをセキュアに使いたい方
  • セキュリティグループやNACLだけではなく、アカウント単位をはじめ適切な条件で制御を行いたい方

AWSの構築/運用のお悩みにNTT東日本のエンジニアがおこたえします。お気軽にご相談ください。

インターフェイスVPCエンドポイントの概要

ここからは、基礎的な話も振り返りながら理解を深めていきたいと思います。まず、インターフェイスVPCエンドポイントとは、Amazon VPC内からAWSの各種リソースに対してインターネットを介することなく接続を可能にするものです。インターフェイスVPCエンドポイントに対してVPC内部のリソースはAWSの管理するDNSを通じてプライベートIPアドレスに名前解決を行い、VPC内に構築されたENI(ネットワークインターフェイスを通じて)AWSの各種リソースへの通信を行います。

VPCエンドポイントの詳しい解説は、こちらのコラムも参照ください

2025年版AWS Privatelinkを上手に使ってスマートに通信するコツ

インターフェイスVPCエンドポイントでの通信制御の目的

では、インターフェイスVPCエンドポイントを使う際の通信制御の目的について振り返りたいと思います。

インターフェイスVPCエンドポイントからの通信はプライベートIPアドレスを使って通信を行うため、これだけ聞くと閉域接続でセキュアな通信が確立されているように聞こえますが閉域接続においても、下記のようなセキュリティリスクについて留意する必要があります。

  • 意図しないVPCやネットワークからの接続
  • 意図しないポートスキャンやDoS攻撃などのリスク
  • 権限のないリソース(Amazon EC2など)やAWSアカウントからの接続

これらの通信をいくつかの手法を用いて適切に制御を行っていくことが必要になっていきます。

AWSの構築/運用のお悩みにNTT東日本のエンジニアがおこたえします。お気軽にご相談ください。

インターフェイスVPCエンドポイントにおける2つの通信制御のアプローチ

インターフェイスVPCエンドポイントにおける通信制御方法は大きく分けると2つのアプローチがあります。

  • セキュリティグループ・ネットワークアクセスリスト(NACL)によるネットワークレベルの通信制御
  • IAMベースによる権限レベルでの通信制御

二つの組み合わせを行うことで、多層防御を行うことができるようになります。

セキュリティグループ・NACLによる制御

インターフェイスVPCエンドポイントを作成すると、VPCのサブネットにENIが作成されます。このENIに対してはセキュリティグループおよび、NACLによる通信制御が可能となります。

セキュリティグループとNACLについて本コラムでは詳しく説明しませんが、IPアドレス、通信プロトコル、といったネットワークレベルで通信制御を行うことができるようになります。

セキュリティグループとNACLについての詳しい解説は、下記のコラムをご覧ください。

セキュリティグループとネットワークアクセスリストを併用して、上手に通信制御を行うためのベストプラクティス

IAMベースによる権限レベルでの通信制御

次にIAMベースによる権限レベルでの通信制御について考えてみます。IAMベースでリソースやアクション、条件といった許可・拒否を与えることができます。IAMについての概要や認証認可の仕組みは、AWS公式ドキュメントをご覧ください。

IAM とは - AWS Identity and Access Management

IAMベースの権限レベルの通信制御は次のような場所で使うことができます。

  • VPCエンドポイントポリシーによる通信制御
  • 通信先のリソースのポリシーによる通信制御

VPCエンドポイントポリシーによる通信制御

VPCエンドポイントポリシーとは、VPCエンドポイントでアクセス権限を制御できるリソースベースのポリシーとなります。

エンドポイントポリシーを使用して VPC エンドポイントへのアクセスを制御する - Amazon Virtual Private Cloud

デフォルトでは、フルアクセスが許可されています。

{
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "*",
            "Resource": "*"
        }
    ]
}

ここで、特定のVPCからのアクセスといった許可だけではなく、特定のIAMロールを持ったリソースや、許可されたアクション(例えば、Amazon S3への読み取りや書き込みなど)を指定することができます。

VPCエンドポイントポリシーで、特定のIAMロールを持つリソースのみに読み取り専用許可を与えるエンドポイントポリシー例は次のようになります。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowReadFromS3WithSpecificRole",
      "Effect": "Allow",
      "Principal": "*",
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::<bucket-name>/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:PrincipalArn": "arn:aws:iam::<Account-ID>:role/<RoleName>"
        }
      }
    }
  ]
}

通信先のリソースのポリシーによる通信制御

Amazon S3のバケットポリシーやAWS Lambdaのリソースベースポリシーでも、特定のリソースからのアクションの許可や拒否を行うことができます。

例えば、特定のアカウントで特定のIAMロールを持つリソースからの読み取りとリストを許可するバケットポリシーは次のようになります。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowDataProcessingAccounts",
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::<Account-ID>:role/<RoleName>"

        ]
      },
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::<bucket-name>",
        "arn:aws:s3:::< bucket-name>/*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:VpceAccount": [
             "<Account-ID>"
          ]
        }
      }
    }
  ]
}

SCP/RCPによる制御

上級編として、AWS Organizationsを使っている場合、SCPやRCPによる制御も可能となります。インターフェイスVPCエンドポイントのセキュリティ設計というよりは、AWSのアカウントにおけるコンプライアンス・ガバナンスの管理の設計となるため、ここでは割愛したいと思います。

AWSの構築/運用のお悩みにNTT東日本のエンジニアがおこたえします。お気軽にご相談ください。

インターフェイスVPCエンドポイント経由の通信制御のコツ

では、セキュリティグループ・NACL・VPCエンドポイントポリシー・リソースベースポリシーを上手に活用して、通信制御をうまく行うコツを考えてみたいと思います。

共通

  • ネットワークレベルと、アクセス権限レベルによる多層防御を行う
  • レイヤーによる多層化だけではなく、サービスごとのセキュリティ設定による多層化を行う
  • アクセス権限はできるだけ最小化を行う

では、それぞれできることを踏まえて、各サービスにおいてどのような設定を行っていくのが良いか考えていきます。

ネットワークレベルの通信制御のコツ(セキュリティグループ・NACL)

  • 送信元・宛先IP、プロトコルによる制御を行う
  • NACLも併用し、セキュリティグループが付与されたリソースごとだけではなく、サブネット単位の通信制御を行う

アクセス権限レベルの通信制御のコツ(VPCエンドポイントポリシー・リソースベースポリシー)

  • VPCエンドポイントポリシーでは、VPCに付与されたリソースへのアクセス許可を確認する(正しいIAMロールが付与されている、IAMロール側のアクションの設定ミスがないか)
  • リソースベースポリシーでは、許可するアクションと接続元のリソースの認証を大枠で行う(付与されたIAMロール、VPCが所属するアカウントやOU, Organizations)

AWSの構築/運用のお悩みにNTT東日本のエンジニアがおこたえします。お気軽にご相談ください。

まとめ

インターフェイスVPCエンドポイントを使った際に通信制御を行うことで、セキュアな環境構築が可能となります。ネットワークレベル、アクセス権限のレベルで適切に組み合わせ、多層防御を実現していきましょう。

NTT東日本では、AWSの構築保守だけではなく、オンプレミスのネットワーク設計なども含めたエンドツーエンドでのソリューション提供をおこなっております。

経験値豊かなメンバーがご担当させていただきますので、是非お気軽にお問い合わせください!

ページ上部へ戻る

相談無料!プロが中立的にアドバイスいたします

クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。