AWS マネージメントコンソール プライベートアクセスとは?
- AWS マネージメントコンソール プライベートアクセスは、AWS マネジメントコンソールへのアクセスを制御するための高度なセキュリティ機能です。
概要
- AWS マネジメントコンソール プライベートアクセスは、ユーザーがネットワーク内から予期しない AWS アカウントにサインインできないようにする場合に役立ちます。これは、VPC エンドポイントポリシーを使用して実装します。
以下の VPC エンドポイントポリシーは、指定された organization からの AWS アカウントへのサインインを許可し、他のアカウントへのサインインをブロックします。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "*",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalOrgId": "o-xxxxxxxxxxx"
}
}
}
]
}
この VPC エンドポイントポリシーは、特定の AWS アカウントへのサインインを制限し、他のアカウントへのサインインをブロックします。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "*",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalAccount": [ "111122223333", "222233334444" ]
}
}
}
]
}
- 静的コンテンツや AWS PrivateLink で有効になっていない AWS リソースへアクセスするには、インターネット接続が引き続き必要です。
サポートされている AWS リージョン、サービス
- 2023年6月現在、東京リージョンには対応していないようです。
必要な VPC エンドポイントと DNS 構成
VPC エンドポイント
リージョンごとに次の 2 つの VPC エンドポイントが必要です。
VPC エンドポイント | 説明 |
---|---|
com.amazonaws.region.console | AWS マネジメントコンソール VPC エンドポイント |
com.amazonaws.region.signin | AWS サインイン VPC エンドポイント |
AWS マネジメントコンソールで使用する他のリージョンに関係なく、常にインフラストラクチャとネットワーク接続を米国東部 (バージニア北部) (us-east-1) リージョンにプロビジョニングする必要があります。
DNS設定
ネットワークトラフィックをそれぞれの VPC エンドポイントにルーティングするための DNS 設定が必要です。
DNS | 説明 |
---|---|
region.signin.aws.amazon.com | AWS サインイン VPC エンドポイント用 DNS |
region.console.aws.amazon.com | AWS マネジメントコンソール VPC エンドポイント用 DNS |
signin.aws.amazon.com | 米国東部 (バージニア北部) (us-east-1) の AWS サインイン VPC エンドポイント用 DNS |
Amazon S3 を含む一部の AWS コンソールは、DNS 名に異なるパターンを使用するため、他の DNS 名の登録が必要になります。
例)
support.console.aws.amazon.com
s3.console.aws.amazon.com
試してみる
ドキュメントに従って試してみます。
ドキュメントには、3 パターン書かれていましたが、「Amazon WorkSpaces を使用したテストセットアップ」で動作確認してみたいと思います。
ここでは、ユーザー環境が WorkSpace 上で実行されている Web ブラウザを使用して AWS マネジメントコンソール プライベートアクセスにサインインし、Amazon S3 コンソールにアクセスする環境を作成してみたいと思います。
①ネットワーク環境は、AWS 公式ドキュメントにある AWS CloudFormation を利用してデプロイします。
「必要な VPC エンドポイントと DNS 構成」の項目でも説明したリソースを確認してみたいと思います。
②WorkSpaces を作成し起動します。
※ ここでの目標は、AWS マネジメントコンソール プライベートアクセスにサインインし、Amazon S3 コンソールにアクセスすることなので、WorkSpaces の作成については、AWS 公式ドキュメントを確認してください。
③WorkSpaces のログイン後、AWS マネジメントコンソール プライベートアクセスにサインインし、Amazon S3 コンソールにアクセス可能なことを確認します。
「AWS Manegement Console Private Access」と表示され、アクセスできたことが確認できました。
④(番外編)s3.console.aws.amazon.com の DNS を削除してみる。
はい、もちろん名前解決できないのでアクセスできません。
⑤(番外編)他リージョンのアクセスを確認してみる。
オハイオリージョン(us-east-2)に切り替え、EC2 にアクセスしてみました。
はい、こちらももちろんアクセスできませんね。
⑤(番外編)VPCエンドポイントポリシーを導入してみる。
今回 AWS CloudFormation で準備されていたVPCエンドポイントポリシーはデフォルトです。
つまり、冒頭で説明した特定の AWS アカウントへのサインインを制限するようなポリシーは適用されていません。
では、com.amazonaws.region.signin に冒頭のVPCエンドポイントポリシーを突っ込んでみましょう。
そのまま、VPCエンドポイントポリシーにアクセスできないとのメッセージが出ました。