0
0

AWS Configを使用した「require-tag」ポリシーの組織全体適用手順

Posted at

AWS Configを使用した「require-tag」ポリシーの組織全体適用手順

前提

  • AWS Control Towerを使用し、組織全体を管理していること。
  • 自動的に生成されるAWS Configリソースに関する情報は、このリンク を参照してください。
  • 初期設定されていないルールを追加する場合は、このガイド を参照してください。

AWS Configサービスの委任について

AWS Configを組織全体で一括管理するために、以下の手順を実行します。詳細はこちら を参照してください。

  1. Organizationsの「信頼されたアクセス」を有効化します。
  2. メンバーアカウントにAWS Configを委任します。

Slack通知について

  • Control Towerが有効な場合、自動的に生成されたSNSトピックにChatbotを設定することで、Slack通知が送信されるようになります。
  • デフォルトの通知設定ではリソースが作成されるたびに通知が送信されています。require-tagポリシーのみ通知させるために、自動的に生成されたEventBridgeのルールを編集します。Control Towerで作成されたルールはSCPで変更できないため、作業前後で一時的にSCPをデタッチする必要があります。

EventBridgeの変更内容は以下のとおり。

変更前
{
  "source": ["aws.config"],
  "detail-type": ["Config Rules Compliance Change"]
}
変更後
{
  "source": ["aws.config"],
  "detail-type": ["Config Rules Compliance Change"],
  "detail": {
    "messageType": ["ComplianceChangeNotification"],
    "configRuleName": ["require-tag"],
    "newEvaluationResult": {
      "complianceType": ["NON_COMPLIANT"]
    }
  }
}

require-tagポリシーの作成について

require-tagポリシーを作成する手順に関して、このブログの手順 を参考に、CLIコマンドを使用して以下のコマンドを実行します。

適用コマンド:

$ aws configservice put-organization-config-rule \
--organization-config-rule-name org-required-tags \
--organization-managed-rule-metadata '{
  "Description": "指定したタグがリソースに存在するかチェックします。",
  "RuleIdentifier": "REQUIRED_TAGS",
  "InputParameters": "{\"tag1Key\":\"CostCenter\"}",
  "ResourceTypesScope": ["AWS::ACM::Certificate", "AWS::AutoScaling::AutoScalingGroup", "AWS::CloudFormation::Stack", "AWS::CodeBuild::Project", "AWS::DynamoDB::Table", "AWS::EC2::CustomerGateway", "AWS::EC2::Instance", "AWS::EC2::InternetGateway", "AWS::EC2::NetworkAcl", "AWS::EC2::RouteTable", "AWS::EC2::SecurityGroup", "AWS::EC2::Subnet", "AWS::EC2::Volume", "AWS::EC2::VPC", "AWS::EC2::VPNConnection", "AWS::EC2::VPNGateway", "AWS::ElasticLoadBalancing::LoadBalancer", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::RDS::DBInstance", "AWS::RDS::DBSecurityGroup", "AWS::RDS::DBSnapshot", "AWS::RDS::DBSubnetGroup", "AWS::RDS::EventSubscription", "AWS::Redshift::Cluster", "AWS::Redshift::ClusterParameterGroup", "AWS::Redshift::ClusterSecurityGroup", "AWS::Redshift::ClusterSnapshot", "AWS::Redshift::ClusterSubnetGroup", "AWS::S3::Bucket"]
}'

上記のコマンドは、require-tagポリシーを作成する手順を示しています。このポリシーは指定したタグがAWSリソースに存在するかをチェックします。ポリシーの詳細や適用対象のリソースタイプに関する情報が提供されています。上記のコマンドを実行することで、require-tagポリシーがAWS Configで組織全体に適用されます。

確認コマンド:

$ aws configservice describe-organization-config-rules

上記の確認コマンドを使用すると、require-tagポリシーが正常に設定され、組織内で適用されていることを確認できます。このコマンドを実行することで、ポリシーの適用状況を確認できます。

0
0
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
0
0