DynamoDBのテーブルに対するアクセス制御はIPアドレスではなく、アクセスキーとシークレットアクセスキーで!
DynamoDBでのアクセス制御
DynamoDBのテーブルに対するアクセス制御は、IPアドレスではなく、アクセスキーとシークレットアクセスキーで行います。
DynamoDBはサブネット(VPC)に所属させることができないため、セキュリティグループを設定することができず、そのため、IPアドレスでのアクセス制御はできません。
代わりに、アクセスキーとシークレットアクセスキーでアクセス制御を行います。
DynamoDBへの通信はパブリック?
DynamoDBへの通信は、原則としてプライベートです。
DynamoDBがパブリックIPアドレスを有して、インターネット空間に属していることから、LambdaやEC2などからの通信もパブリックに行われるように思えますが、AWS間での通信はプライベートとなります。
両ノードがAWS上に属している場合には、そのノードがパブリックIPを用いて通信を行っても、その通信はプライベートとなると公式サイトで記載されています。
これは、インターネットからの攻撃を考慮しなくてもいいというセキュリティに関する話ではありません。
あくまでも実際に発生する通信の流れの話であって、インターネットからのアクセスは可能ですので、当然アクセスキーとシークレットアクセスキーでのアクセス制御が必要となります。
これぞ、真のセキュリティ、ゼロトラスト?
最近はIPアドレスによるアクセス制御の効果が薄れているという話をよく聞きます。
理由はネットワークに対する侵入が容易になったことによるものと思われます。
これに伴い、ゼロトラストの考え方が盛んになっています。
ゼロトラストとは、ネットワークは侵入されると考えた上で、セキュリティを強化する考え方です。
ネットワークへの侵入に成功したマルウェアを用いて、リソースにアクセスされたら、IPアドレスによるアクセス制御は意味がなくなってしまいますからね、、、
DynamoDBのアクセス制御は、IPアドレスではなく、アクセスキーとシークレットアクセスキーで行うことで、ゼロトラストの考え方に沿ったセキュリティを実現しています。
ちなみに、Azure Cosmos DBも同様の仕組みになっています。
Discussion