Alibabaクラウドのネットワーク
はじめにAlibabaクラウドには、pubulicとイントラネット、プライベートというのがある。
publicは、その名の通り全世界に対してオープンなネットワーク、プライベートはその名の通り、ローカルな環境。
そして最後にイントラネット。ここがすごくハマった。APIGatewayとRedisやRDSなどのイントラネットでは違いがあった。(2019年5月21日現在)
通常イントラネットというとインターネットに出たりもするが、そこは閉域網になっており、例えばA支店とB支店、本社をイントラネットで結ぶとなると、あくまで外部からは閲覧できないクローズドな環境を意味する。
ところが、APIGatewayでのイントラネットは他のアカウントから参照できてしまう。
APIGatewayのイントラネットについて
APIGatewayで下記のように「インターネットアクセスを防ぐ」というところにチェックを入れると世界中からAPIGatewayにアクセスにアクセスはできないが、Alibabaクラウドを使用しているユーザからはアクセスができてしまう。(実際に別のAlibabaアカウントから試したところレスポンスが返ってきた)
では「IPアクセス制御」で制限できるかと思いきや、こちらはあくまでグローバルからの制限のためローカルIPは指定しても無駄となる。
素直に、外部に出して「IPアクセス制御」と「APIKey」や「署名鍵」などで制御する方法がまだセキュリティが確保されている気がする。
Redisでの制限
Redisはホワイトリスト形式で接続を制限できる。例えばローカルセグメントの 192.168.0.0/24
から接続を許可したい場合は、イントラネットアドレスに対して、素直にローカルセグメントのIPのレンジを入力すれば良い。
まとめ
APIGatewayのイントラネットは他のAlibabaアカウントから接続が可能
Redisなどのイントラネットはアカウントに紐づけされており他のAlibabaユーザからのアクセスはできない。