52
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

お題は不問!Qiita Engineer Festa 2023で記事投稿!

AWSの特定サービスだけ権限エラーになってしまって困った話

Posted at

概要

症状

以下のような状態に陥った。

  • AWS Cloud Map のアクセスが権限エラー (explicit deny in an identity-based policy) になる
    • 最初は、ローカル端末 (Mac) から terraform plan を打った際に発生
    • servicediscovery:ListNamespaces でエラーになっている
    • Webコンソールやcliでアクセスしても同様
  • 他の機能は特に問題なく使える
    • AWS全機能で試したわけではないが、使っている主要どころは特に問題なくアクセス可能
    • ex. s3, ec2, ecs, rds, etc...
  • 自分のIAMに紐づく権限設定には AWS Cloud Map (servicediscovery:*) を指定した制限は入っていない...

原因

  • AWS Cloud Map アクセスへの通信でipv6が使われていた
  • その結果、以下のアクセス制限に引っかかってエラーになった
    • AWSを含めて、社内リソースアクセス時はVPNを使っている
    • IAM設定の aws:SourceIp で接続元IPを絞っており、VPN経由でなければアクセスできないようになっている
    • この許可リストにipv6のIPがないので弾かれていた

対策

ローカル端末 (Mac) でipv6を使わないようにしたら解消した。

詳細

前提となる設定や、調査時に行ったことを記載します。

AWS のアクセス制限の設定

以下のような設定が入っています。
外部接続用プロキシサーバやVPNに紐づくIPを使って接続元を絞る、といった運用は、よく実施されているのではないでしょうか。

インターネットアクセス時の接続元IPの確認

最近すごく重たいのですが、httpbin で確認することが多いです。

サーバからアクセスした際にどう見えているかもわかります。

curl https://httpbin.org/ip

他にも色々確認できてすごく便利です。

Macでのipv6の利用のon/off

下記のシステム設定で「IPv6を構成」を「リンクローカルのみ」に設定。

なぜ Cloud Map だけエラーになるのか?

これは結局不明のままです。
AWSのサービスの「ipv6サポート状況」は、以下にまとまっています。

これを見ると、「AWS Cloud Map」と「Amazon EC2」は、(本記事執筆時点では)、サポート状況は全く同じに見えます。

スクリーンショット 2023-07-03 17.51.21.png

ですが、自分の環境では、上記のMacのipv6設定が「自動」の場合、EC2 は ipv4、Cloud Map は ipv6 が使われていて、何が違いを生み出しているのかはわかりませんでした...。

EC2のAPIエンドポイントへのアクセス
mosaic_ec2.png

Cloud Map のAPIエンドポイントへのアクセス
mosaic_ds.png

最後に

リモートワーク等で「社外N/W + VPN + IAMの aws:SourceIp でアクセス制限」という環境で作業されていて、いつの間にかipv6が使われて同じ目に遭う人がもしかしたらいるのでは、ということで、書き残してみました。
誰かのお役に立てば幸いです。

52
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
52
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?