Amazon Web Services ブログ

宣言型ポリシーでガバナンスを簡素化する

12 月 1 日、宣言型ポリシーを発表しました。これは、組織全体で特定の AWS サービスのために必要な設定を宣言して強制適用するのに役立つ新しい機能です。

クラウドリソースの設定方法について、組織内で標準を作成することは、お客様にとってよくあることです。例えば、Amazon EBS スナップショットについてのパブリックアクセスをブロックする必要がある場合があります。お客様は、これらの標準を一度だけ一元的に定義し、将来組織に参加するアカウントを含むすべてのアカウントに強制適用したいと考えています。さらに、クラウドオペレーターが標準を満たさない態様でリソースを設定しようとするたびに、そのオペレーターが、設定を是正する方法を説明する、有益で実用的なエラーメッセージを受け取るようにしたいと考えています。

宣言型ポリシーは、数回のクリックまたはコマンドで AWS サービスのために必要な設定を定義および強制適用できるようにすることで、これらの課題に対処します。「VPC についてのパブリックアクセスをブロック」などの必要な設定を選択でき、ポリシーをアタッチすると、AWS は自動的にマルチアカウント環境全体 (またはその一部) で、お客様が希望する状態を強制適用します。このアプローチにより、お客様が希望する設定を実現する際の複雑さが軽減されます。設定が完了すると、新機能や新しい API が追加されても、その設定は維持されます。さらに、宣言型ポリシーを使用すると、管理者は環境全体のサービス属性の現在の状態を把握できます。また、許可のないユーザーに情報を漏らすことのないアクセスコントロールポリシーとは異なり、エンドユーザーには組織の管理者が設定したカスタムエラーメッセージが表示され、内部リソースまたはサポートチャネルにリダイレクトされます。

「ABSA Group は規制の厳しい環境で事業を展開しており、より多くのサービスを導入するようになる中で、アクションを制限するために SCP ポリシーの除外を使用し、違反を検出するために Config ルールを使用しています。しかし、新しい API や機能ごとに例外を作成する必要があります。宣言型ポリシーを使用すると、VPC ブロックパブリックアクセスを true に設定するだけで、いかなるユーザー、サービスにリンクされたロール、または将来の API も、当社の AWS Organizations でパブリックアクセスを促進できないことについて安心できます」と南アフリカのヨハネスブルグに拠点を構える多国籍銀行および金融サービスの複合企業である ABSA の Lead Product Engineer である Vojtech Mencl 氏は説明します。

「カスタムエラーメッセージを使用すると、エンドユーザーを内部ポータルに簡単にリダイレクトして、アクションが失敗した理由の詳細を提供できます。これにより、ガバナンスの運用上の複雑さが大幅に軽減され、AWS への移行が加速されます」と ABSA の Principal Engineer である Matt Draper 氏は述べています。

今回のリリースでは、宣言型ポリシーは、Amazon Elastic Compute Cloud (Amazon EC2)Amazon Virtual Private Cloud (Amazon VPC)、および Amazon Elastic Block Store (Amazon EBS) サービスをサポートしています。使用可能なサービス属性には、IMDSv2 の強制適用、シリアルコンソールを通じたトラブルシューティングの許可、Amazon マシンイメージ (AMI) 設定の許可、ならびに Amazon EBS スナップショット、Amazon EC2 AMI、および VPC のパブリックアクセスのブロックが含まれます。新しいアカウントが組織に追加されると、それらのアカウントは、組織、組織単位 (OU)、またはアカウントレベルで適用された宣言型ポリシーを継承します。

宣言型ポリシーは、AWS Organizations コンソール、AWS コマンドラインインターフェイス (AWS CLI)AWS CloudFormation、または AWS Control Tower を通じて作成できます。ポリシーは、組織、OU、またはアカウントレベルで適用できます。宣言型ポリシーをアタッチすると、作成した AWS Identity and Access Management (IAM) ロールを使用して呼び出されたか、サービスにリンクされたロールを使用する AWS サービスによって呼び出されたかにかかわらず、非準拠のアクションが防止されます。

宣言型ポリシーの開始方法
宣言型ポリシーのデモンストレーションのために、例を挙げて説明します。数百の AWS アカウントを持つ大企業のセキュリティ管理者として、組織の厳格なセキュリティ体制を維持する責任があるとします。当社には、いくつかの重要なセキュリティ要件があります。すなわち、すべてのネットワークでインターネットアクセスに対する厳格なコントロールを維持し、特定の信頼できるプロバイダーからの AMI のみを許可するとともに、VPC リソースが誤ってパブリックインターネットに公開されないようにする必要があります。宣言型ポリシーを使用すると、これらの要件を効率的に実装できます。私の環境でこれをどのように設定したかを説明します。

AWS Organizations コンソールに移動し、ナビゲーションペインで [ポリシー] を選択します。[サポートされているポリシータイプ][EC2 の宣言型ポリシー] を選択します。

[EC2 の宣言型ポリシーを有効にする] を選択して、機能を有効にします。

宣言型ポリシーを有効にすると、AWS Organizations 内のすべてのアカウントで EC2 のために必要な設定を定義して強制適用できます。

宣言型ポリシーを作成する前に、組織の管理者として、宣言型ポリシーの機能であるアカウントステータスレポートを使用して、AWS 環境の現在のステータスを理解したいと考えています。レポートは、選択した組織の範囲内のすべてのアカウントと AWS リージョンをカバーする概要ビューと詳細な CSV ファイルの両方を提供します。ポリシーをアタッチする前に準備状況を評価するのに役立ちます。

次のページで、[ステータスレポートを生成] を選択します。[レポート S3 URI] の下の Amazon Simple Storage Service (Amazon S3) バケットを選択し、レポートの範囲に含めるアカウントと OU を選択します。

ステータスレポートを保存するには、S3 バケットに次のポリシーがアタッチされている必要があることに留意してください:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DeclarativePoliciesReportBucket",
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "report.declarative-policies-ec2.amazonaws.com"
                ]
            },
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::<bucketName>/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceArn": "arn:<partition>:declarative-policies-ec2:<region>:<accountId>:*"
                }
            }
        }
    ]
}

[送信] を選択します。

完了すると、レポートは指定した Amazon S3 バケットに保存されます。[アカウントステータスレポートを表示] ページで、[レポート] ドロップダウンから複数のレポートを選択して、さまざまな属性の現在のステータスを確認できます。

詳細な準備状況レポートを提供する CSV ファイルを保存するために指定した Amazon S3 バケットを確認します。さまざまなリージョンにわたる組織単位全体の現在の状態を確認します。

アカウントのステータスを評価した後、ポリシーの作成を続行します。[EC2 の宣言型ポリシー] ページで、[ポリシーを作成] を選択します。

次のページで、[ポリシー名] を入力し、オプションで [ポリシーの説明] を入力します。

このデモでは、ビジュアルエディタを使用して、サービス属性を追加する方法を示します。これらの属性には、[シリアルコンソールアクセス]、[インスタンスメタデータのデフォルト]、[イメージブロックパブリックアクセス]、[スナップショットブロックパブリックアクセス]、[VPC ブロックパブリックアクセス]、および [許可されたイメージ設定] が含まれます。JSON エディタを使用して手動で追加することも、ビジュアルエディタを使用して追加したポリシーを確認することもできます。まず、[VPC ブロックパブリックアクセス] を選択して、インターネットゲートウェイから VPC 内のリソースについてのインターネットアクセスを制御します。[インターネットゲートウェイの状態][受信をブロック] を選択します。有効にすると、リソースを変更せずにパブリックアクセスが即座に防止され、ロールバックできます。

2 つ目の属性として、AMI の許可されたイメージの基準を制御するために、[許可されたイメージ設定] を選択します。これは、すべてのインスタンスの起動で、組織内のアカウントまたはアカウントセットによって生成されたゴールデン AMI、または Amazon や Ubuntu などのベンダーによって提供されるゴールデン AMI が使用されるようにできるため便利です。[許可されたイメージ設定][有効] を選択します。[プロバイダー][amazon] を選択します。宣言型ポリシーは、カスタマイズ可能なエラーメッセージで透明性を提供し、エンドユーザーのフラストレーションを軽減するのに役立ちます。オプションで、制限されたアクションを組織のメンバーが実行できない場合に表示される [カスタムエラーメッセージ] を追加できます。ポリシー生成プロセスを完了するために、[ポリシーを作成] を選択します。

次に、ポリシーを組織または特定の OU にアタッチする必要があります。[アクション][ポリシーをアタッチ] を選択します。

組織または特定の OU を選択し、[ポリシーをアタッチ] を選択します。

アカウントが組織または OU に参加すると、アタッチされた宣言型ポリシーがすぐに有効になり、その後のすべての非準拠アクションは失敗します (パブリックアクセスをすぐに制限する VPC ブロックパブリックアクセスを除く)。アカウント内の既存のリソースは削除されません。

今すぐご利用いただけます
宣言型ポリシーは、ポリシーのメンテナンスのオーバーヘッドを削減し、複数のアカウントで一貫した強制適用を提供して、管理者とエンドユーザーに透明性を提供することで、AWS のお客様のためにガバナンスを合理化します。

宣言型ポリシーは、AWS 商用リージョン、中国リージョン、AWS GovCloud (米国) リージョンでご利用いただけるようになりました。

宣言型ポリシーの詳細を確認し、組織で強制適用を開始するには、宣言型ポリシーのドキュメントにアクセスしてください。

– Esra

原文はこちらです。