データ所在地保護を強化するガードレール - AWS Control Tower
動画: データ所在地ガードレールの有効化リクエストされた AWS リージョンに基づいて AWS へのアクセスを拒否するDisallow internet access for an Amazon VPC instance managed by a customer (顧客が管理する Amazon VPC インスタンスのインターネットアクセスを許可しない)Disallow Amazon Virtual Private Network (VPN) connections (Amazon Virtual Private Network (VPN) 接続を許可しない)Disallow cross-region networking for Amazon EC2, Amazon CloudFront, and AWS Global Accelerator (Amazon EC2、Amazon CloudFront、および Global Accelerator のクロスリージョンネットワークを許可しない) Detect whether public IP addresses for Amazon EC2 autoscaling are enabled through launch configurations (Amazon EC2 Auto Scaling のパブリック IP アドレスが起動設定によって有効になっているかどうかを検出する) Detect whether replication instances for AWS Database Migration Service are public (Database Migration Service のレプリケーションインスタンスがパブリックであるかどうかを検証する) Detect whether Amazon EBS snapshots are restorable by all AWS accounts (Amazon EBS スナップショットがすべての アカウントで復元可能かどうかを検出する)Detect whether any Amazon EC2 instance has an associated public IPv4 address (Amazon EC2 インスタンスにパブリック IPv4 アドレスが関連付けられているかどうかを検出する)Detect whether Amazon S3 settings to block public access are set as true for the account (パブリックアクセスをブロックする Simple Storage Service (Amazon S3) の設定がアカウントに対して True に設定されているかどうかを検出する)Detects whether an Amazon EKS endpoint is blocked from public access (Amazon EKS エンドポイントがパブリックアクセスからブロックされているかどうかを検出する)Detect whether an Amazon OpenSearch Service domain is in Amazon VPC (Amazon OpenSearch Service ドメインが Amazon VPC 内にあるかどうかを検出する)Detect whether any Amazon EMR cluster master nodes have public IP addresses (Amazon EMR クラスターマスターノードにパブリック IP アドレスがあるかどうかを検出する)Detect whether the AWS Lambda function policy attached to the Lambda resource blocks public access (Lambda リソースにアタッチされている Lambda 関数ポリシーがパブリックアクセスをブロックするかどうかを検出する)Detect whether public routes exist in the route table for an Internet Gateway (IGW) (インターネットゲートウェイ (IGW、Internet Gateway) のルートテーブルにパブリックルートが存在するかどうかを検出する) Detect whether Amazon Redshift clusters are blocked from public access (Amazon Redshift クラスターがパブリックアクセスからブロックされているかどうかを検出する)Detect whether an Amazon SageMaker notebook instance allows direct internet access (Amazon SageMaker ノートブックインスタンスで直接インターネットアクセスを許可しているかどうかを検出する)Detect whether any Amazon VPC subnets are assigned a public IP address (Amazon VPC サブネットにパブリック IP アドレスが割り当てられているかどうかを検出する)Detect whether AWS Systems Manager documents owned by the account are public (アカウントが所有する AWS Systems Manager ドキュメントがパブリックであるかどうかを検出する)

データ所在地保護を強化するガードレール

これらの選択的ガードレールは、企業のデータ所在地の態勢を補完します。これらのガードレールをまとめて適用することで、選択した AWS リージョンの外で、意図的あるいは偶発的なデータの作成、共有、またはコピーを検出して阻止するように、複数アカウント環境を設定できます。

これらのガードレールは OU レベルで有効になり、OU 内のすべてのメンバーアカウントに適用されます。

重要

AWS Identity and Access Management (IAM) や AWS Organizations などの特定のグローバル AWS サービスは、これらのガードレールから除外されます。除外されているサービスを特定するには、サンプルコードに示されているリージョン拒否 SCP を確認します。識別子の後に「*」の付いたサービスは除外されます。これは、「*」表記が付くと、すべてのアクションが許可されるためです。基本的に、この SCP には明示的に許可されたアクションのリストが含まれており、他のアクションはすべて拒否されます。ホームリージョンへのアクセスを拒否することはできません。

動画: データ所在地ガードレールの有効化

この動画 (5:58) では、AWS Control Tower ガードレールでデータ所在地制御を有効にする方法について説明します。動画の右下にあるアイコンを選択すると、全画面表示にできます。字幕を利用できます。

トピック

リクエストされた AWS リージョンに基づいて AWS へのアクセスを拒否する

このガードレールは一般にリージョン拒否ガードレールと呼ばれます。

このガードレールにより、指定されたリージョンの外部でのグローバルサービスおよびリージョンサービスにおいて、リストされていない操作へのアクセスが禁止されます。これには、AWS Control Tower が利用できないすべてのリージョン、および [Landing zone settings] (ランディングゾーンの設定) ページでガバナンスに対して選択されていないすべてのリージョンが含まれます。[Governed] (管理対象) ステータスのリージョンでは、通常どおりアクションが許可されます。

注記

AWS Identity and Access Management (IAM) や AWS Organizations などのグローバルな AWS サービスの中には、データレジデンシーガードレールの適用から除外されているものもあります。これらのサービスは、次の SCP サンプルコードで指定されています。

これは、予防ガイダンスによる選択的ガードレールです。そして、リージョン拒否アクションに関連付けられたプライマリガードレールです。詳細については、「リージョン拒否ガードレールの設定」を参照してください。

このガードレールの形式は、以下の SCP に基づいています。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GRREGIONDENY", "Effect": "Deny", "NotAction": [ "a4b:*", "acm:*", "aws-marketplace-management:*", "aws-marketplace:*", "aws-portal:*", "budgets:*", "ce:*", "chime:*", "cloudfront:*", "config:*", "cur:*", "directconnect:*", "ec2:DescribeRegions", "ec2:DescribeTransitGateways", "ec2:DescribeVpnGateways", "fms:*", "globalaccelerator:*", "health:*", "iam:*", "importexport:*", "kms:*", "mobileanalytics:*", "networkmanager:*", "organizations:*", "chatbot:*", "pricing:*", "route53-recovery-control-config:*", "route53-recovery-readiness:*", "route53-recovery-cluster:*", "route53:*", "route53domains:*", "s3:GetBucketPublicAccessBlock", "s3:ListAllMyBuckets", "s3:GetBucketLocation", "s3:GetAccountPublic", "s3:DeleteMultiRegionAccessPoint", "s3:DescribeMultiRegionAccessPointOperation", "s3:GetMultiRegionAccessPoint", "s3:GetMultiRegionAccessPointPolicy", "s3:GetMultiRegionAccessPointPolicyStatus", "s3:ListMultiRegionAccessPoints", "s3:GetStorageLensConfiguration", "s3:GetStorageLensDashboard", "s3:ListStorageLensConfigurations", "s3:GetAccountPublicAccessBlock", "s3:PutAccountPublic", "s3:PutAccountPublicAccessBlock", "shield:*", "sts:*", "support:*", "trustedadvisor:*", "waf-regional:*", "waf:*", "wafv2:*", "access-analyzer:*" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:RequestedRegion": [] }, "ArnNotLike": { "aws:PrincipalARN": [ "arn:aws:iam::*:role/AWSControlTowerExecution" ] } } } ] }

AWS Control Tower は、この例の SCP の形式に基づいて、aws:RequestedRegion ステートメントに管理対象リージョンを追加します。ホームリージョンを除外することはできません。SCP にリストされていないアクションは許可されません。

Disallow internet access for an Amazon VPC instance managed by a customer (顧客が管理する Amazon VPC インスタンスのインターネットアクセスを許可しない)

このガードレールにより、AWS のサービスではなく顧客によって管理される Amazon Virtual Private Cloud (VPC) インスタンスのインターネットアクセスが禁止されます。

重要

VPC インターネットアクセス設定を有効にして Account Factory アカウントをプロビジョニングすると、その Account Factory 設定がこのガードレールを上書きします。新しくプロビジョニングされたアカウントのインターネットアクセスを有効にしないようにするには、Account Factory で設定を変更する必要があります。詳細については、「チュートリアル: VPC を使用せずに AWS Control Tower を設定する」を参照してください。

  • このガードレールは、AWS のサービスによって管理される VPC には適用されません。

  • インターネットにアクセスできる既存の VPC は、インターネットアクセスを保持します。これは、新しいインスタンスにのみ適用されます。このガードレールが適用されると、アクセスは変更できません。

これは、選択的ガイダンスによる予防ガードレールです。デフォルトでは、このガードレールは OU で有効になっていません。

このガードレールのアーティファクトは、次のサービスコントロールポリシー (SCP、Service Control Policy) です。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GRDISALLOWVPCINTERNETACCESS", "Effect": "Deny", "Action": [ "ec2:CreateInternetGateway", "ec2:AttachInternetGateway", "ec2:CreateEgressOnlyInternetGateway", "ec2:AttachEgressOnlyInternetGateway", "ec2:CreateDefaultVpc", "ec2:CreateDefaultSubnet", "ec2:CreateCarrierGateway" ], "Resource": [ "*" ], "Condition": { "ArnNotLike": { "aws:PrincipalArn": [ "arn:aws:iam::*:role/AWSControlTowerExecution" ] } } } ] }

Disallow Amazon Virtual Private Network (VPN) connections (Amazon Virtual Private Network (VPN) 接続を許可しない)

このガードレールは、Amazon Virtual Private Cloud (VPC) へバーチャルプライベートネットワーク (VPN) 接続 (サイト間 VPN およびクライアント VPN) できないようにします。

注記

インターネットにアクセスできる既存の VPC は、インターネットアクセスを保持します。

これは、選択的ガイダンスによる予防ガードレールです。デフォルトでは、このガードレールは OU で有効になっていません。

このガードレールのアーティファクトは、次のサービスコントロールポリシー (SCP、Service Control Policy) です。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GRDISALLOWVPNCONNECTIONS", "Effect": "Deny", "Action": [ "ec2:CreateVPNGateway", "ec2:AttachVPNGateway", "ec2:CreateCustomerGateway", "ec2:CreateVpnConnection", "ec2:ModifyVpnConnection", "ec2:CreateClientVpnEndpoint", "ec2:ModifyClientVpnEndpoint", "ec2:AssociateClientVpnTargetNetwork", "ec2:AuthorizeClientVpnIngress" ], "Resource": [ "*" ] } ] }

Disallow cross-region networking for Amazon EC2, Amazon CloudFront, and AWS Global Accelerator (Amazon EC2、Amazon CloudFront、および Global Accelerator のクロスリージョンネットワークを許可しない)

このガードレールは、Amazon EC2、Amazon CloudFront、および AWS Global Accelerator サービスからのクロスリージョンネットワーク接続を設定できないようにします。これにより、VPC ピアリングとトランジットゲートウェイピアリングが防止されます。

注記

このガードレールは、1 つのリージョン内およびリージョン間での Amazon EC2 VPC ピアリングおよび Amazon EC2 トランジットゲートウェイピアリングを防止します。このため、このガードレールは、データ所在地の態勢に加えて、特定のワークロードに影響を与える可能性があります。

これは、選択的ガイダンスによる予防ガードレールです。デフォルトでは、このガードレールは OU で有効になっていません。

このガードレールのアーティファクトは、次のサービスコントロールポリシー (SCP、Service Control Policy) です。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GRDISALLOWCROSSREGIONNETWORKING", "Effect": "Deny", "Action": [ "ec2:CreateVpcPeeringConnection", "ec2:AcceptVpcPeeringConnection", "ec2:CreateTransitGatewayPeeringAttachment", "ec2:AcceptTransitGatewayPeeringAttachment", "cloudfront:CreateDistribution", "cloudfront:UpdateDistribution", "globalaccelerator:Create*", "globalaccelerator:Update*" ], "Resource": [ "*" ] } ] }

Detect whether public IP addresses for Amazon EC2 autoscaling are enabled through launch configurations (Amazon EC2 Auto Scaling のパブリック IP アドレスが起動設定によって有効になっているかどうかを検出する)

このガードレールにより、Amazon EC2 Auto Scaling グループのパブリック IP アドレスが、起動設定によって有効になっているかどうかが検出されます。

これは、選択的ガイダンスによる検出ガードレールです。デフォルトでは、このガードレールは OU で有効になっていません。

コンソールで:
  • Auto Scaling グループの起動設定により AssociatePublicIpAddress フィールドの値が [True] に設定されている場合、ルールには [Non-compliant] (非準拠) ステータスが表示されます。

このガードレールのアーティファクトは、以下の AWS Config ルールです。

AWSTemplateFormatVersion: 2010-09-09 Description: Configure AWS Config rule to detect whether public IP addresses for Amazon EC2 Auto Scaling are enabled through launch configurations Parameters: ConfigRuleName: Type: 'String' Description: 'Name for the Config rule' Resources: AutoscalingLaunchConfigPublicIpDisabled: Type: AWS::Config::ConfigRule Properties: ConfigRuleName: !Sub ${ConfigRuleName} Description: Detects whether Amazon EC2 Auto Scaling groups have public IP addresses enabled through launch configurations. This rule is NON_COMPLIANT if the launch configuration for an Auto Scaling group has the value of the field AssociatePublicIpAddress set as True. Scope: ComplianceResourceTypes: - AWS::AutoScaling::LaunchConfiguration Source: Owner: AWS SourceIdentifier: AUTOSCALING_LAUNCH_CONFIG_PUBLIC_IP_DISABLED

Detect whether replication instances for AWS Database Migration Service are public (Database Migration Service のレプリケーションインスタンスがパブリックであるかどうかを検証する)

このガードレールにより、AWS Database Migration Service レプリケーションインスタンスがパブリックであるかどうかが検出されます。

これは、選択的ガイダンスによる検出ガードレールです。デフォルトでは、このガードレールは OU で有効になっていません。

コンソールで:
  • PubliclyAccessible フィールドの値が [True] に設定されている場合、ルールには [Non-compliant] (非準拠) ステータスが表示されます。

このガードレールのアーティファクトは、以下の AWS Config ルールです。

AWSTemplateFormatVersion: 2010-09-09 Description: Configure AWS Config rule to detect whether replication instances for AWS Database Migration Service are public Parameters: ConfigRuleName: Type: 'String' Description: 'Name for the Config rule' MaximumExecutionFrequency: Type: String Default: 24hours Description: The frequency at which AWS Config will run evaluations for the rule. AllowedValues: - 1hour - 3hours - 6hours - 12hours - 24hours Mappings: Settings: FrequencyMap: 1hour : One_Hour 3hours : Three_Hours 6hours : Six_Hours 12hours : Twelve_Hours 24hours : TwentyFour_Hours Resources: DmsReplicationNotPublic: Type: AWS::Config::ConfigRule Properties: ConfigRuleName: !Sub ${ConfigRuleName} Description: Detects whether AWS Database Migration Service replication instances are public. The rule is NON_COMPLIANT if the value of the PubliclyAccessible field is set as True. Source: Owner: AWS SourceIdentifier: DMS_REPLICATION_NOT_PUBLIC MaximumExecutionFrequency: !FindInMap - Settings - FrequencyMap - !Ref MaximumExecutionFrequency

Detect whether Amazon EBS snapshots are restorable by all AWS accounts (Amazon EBS スナップショットがすべての アカウントで復元可能かどうかを検出する)

このガードレールは、すべての AWS アカウントが Amazon EBS スナップショットを復元するためのアクセス権を持っているかどうかを検出します。

これは、選択的ガイダンスによる検出ガードレールです。デフォルトでは、このガードレールは OU で有効になっていません。

コンソールで:
  • RestorableByUserIds フィールドが値 [All] (すべて) に設定されているスナップショットがある場合、ルールには [Non-compliant] (非準拠) ステータスが表示されます。その場合、Amazon EBS スナップショットはパブリックになります。

このガードレールのアーティファクトは、以下の AWS Config ルールです。

AWSTemplateFormatVersion: 2010-09-09 Description: Configure AWS Config rule to detect whether Amazon EBS snapshots are restorable by all AWS accounts Parameters: ConfigRuleName: Type: 'String' Description: 'Name for the Config rule' MaximumExecutionFrequency: Type: String Default: 24hours Description: The frequency at which AWS Config will run evaluations for the rule. AllowedValues: - 1hour - 3hours - 6hours - 12hours - 24hours Mappings: Settings: FrequencyMap: 1hour : One_Hour 3hours : Three_Hours 6hours : Six_Hours 12hours : Twelve_Hours 24hours : TwentyFour_Hours Resources: EbsSnapshotPublicRestorableCheck: Type: AWS::Config::ConfigRule Properties: ConfigRuleName: !Sub ${ConfigRuleName} Description: Detects whether all AWS accounts have access to restore Amazon EBS snapshots. The rule is NON_COMPLIANT if any snapshots have the RestorableByUserIds field set to the value All. In that case, the Amazon EBS snapshots are public. Source: Owner: AWS SourceIdentifier: EBS_SNAPSHOT_PUBLIC_RESTORABLE_CHECK MaximumExecutionFrequency: !FindInMap - Settings - FrequencyMap - !Ref MaximumExecutionFrequency

Detect whether any Amazon EC2 instance has an associated public IPv4 address (Amazon EC2 インスタンスにパブリック IPv4 アドレスが関連付けられているかどうかを検出する)

このガードレールは、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにパブリック IPv4 アドレスが関連付けられているかどうかを検出します。このガードレールは、IPv4 アドレスにのみ適用されます。

これは、選択的ガイダンスによる検出ガードレールです。デフォルトでは、このガードレールは OU で有効になっていません。

コンソールで:
  • Amazon EC2 インスタンスの設定項目にパブリック IP フィールドが存在する場合、ルールには [Non-compliant] (非準拠) ステータスが表示されます。

このガードレールのアーティファクトは、以下の AWS Config ルールです。

AWSTemplateFormatVersion: 2010-09-09 Description: Configure AWS Config rule to detect whether any Amazon EC2 instance has an associated public IPv4 address Parameters: ConfigRuleName: Type: 'String' Description: 'Name for the Config rule' Resources: Ec2InstanceNoPublicIp: Type: AWS::Config::ConfigRule Properties: ConfigRuleName: !Sub ${ConfigRuleName} Description: Detects whether an Amazon Elastic Compute Cloud (Amazon EC2) instance has an associated public IPv4 address. The rule is NON_COMPLIANT if the public IP field is present in the Amazon EC2 instance configuration item. Scope: ComplianceResourceTypes: - AWS::EC2::Instance Source: Owner: AWS SourceIdentifier: EC2_INSTANCE_NO_PUBLIC_IP

Detect whether Amazon S3 settings to block public access are set as true for the account (パブリックアクセスをブロックする Simple Storage Service (Amazon S3) の設定がアカウントに対して True に設定されているかどうかを検出する)

このガードレールは、パブリックアクセスをブロックするために必要な Simple Storage Service (Amazon S3) 設定が、バケットまたはアクセスポイントではなくアカウントに対して True に設定されているかどうかを定期的に検出します。

コンソールで:
  • 少なくとも 1 つの設定が [False] である場合、ルールには [Non-compliant] (非準拠) ステータスが表示されます。

これは、選択的ガイダンスによる検出ガードレールです。デフォルトでは、このガードレールは OU で有効になっていません。

このガードレールのアーティファクトは、以下の AWS Config ルールです。

AWSTemplateFormatVersion: 2010-09-09 Description: Configure AWS Config rule to check whether Amazon S3 settings to block public access are set as true for the account. Parameters: ConfigRuleName: Type: 'String' Description: 'Name for the Config rule' PublicAccessBlockSetting: Type: 'String' Default: 'True' MaximumExecutionFrequency: Type: String Default: 24hours Description: The frequency at which AWS Config will run evaluations for the rule. AllowedValues: - 1hour - 3hours - 6hours - 12hours - 24hours Mappings: Settings: FrequencyMap: 1hour : One_Hour 3hours : Three_Hours 6hours : Six_Hours 12hours : Twelve_Hours 24hours : TwentyFour_Hours Resources: CheckForS3PublicAccessBlock: Type: AWS::Config::ConfigRule Properties: ConfigRuleName: !Sub ${ConfigRuleName} Description: Checks the Amazon S3 settings to block public access are set as true for the account. The rule is non-compliant if at-least one of the settings is false. Source: Owner: AWS SourceIdentifier: S3_ACCOUNT_LEVEL_PUBLIC_ACCESS_BLOCKS_PERIODIC Scope: ComplianceResourceTypes: - AWS::S3::AccountPublicAccessBlock InputParameters: IgnorePublicAcls: !Ref PublicAccessBlockSetting BlockPublicPolicy: !Ref PublicAccessBlockSetting BlockPublicAcls: !Ref PublicAccessBlockSetting RestrictPublicBuckets: !Ref PublicAccessBlockSetting MaximumExecutionFrequency: !FindInMap - Settings - FrequencyMap - !Ref MaximumExecutionFrequency

Detects whether an Amazon EKS endpoint is blocked from public access (Amazon EKS エンドポイントがパブリックアクセスからブロックされているかどうかを検出する)

このガードレールにより、Amazon Elastic Kubernetes Service (Amazon EKS) エンドポイントがパブリックアクセスからブロックされているかどうかが検出されます。

これは、選択的ガイダンスによる検出ガードレールです。デフォルトでは、このガードレールは OU で有効になっていません。

コンソールで:
  • エンドポイントがパブリックにアクセス可能な場合、ルールには [Non-compliant] (非準拠) ステータスが表示されます。

このガードレールのアーティファクトは、以下の AWS Config ルールです。

AWSTemplateFormatVersion: 2010-09-09 Description: Configure AWS Config rule to detect whether an Amazon EKS endpoint is blocked from public access Parameters: ConfigRuleName: Type: 'String' Description: 'Name for the Config rule' MaximumExecutionFrequency: Type: String Default: 24hours Description: The frequency at which AWS Config will run evaluations for the rule. AllowedValues: - 1hour - 3hours - 6hours - 12hours - 24hours Mappings: Settings: FrequencyMap: 1hour : One_Hour 3hours : Three_Hours 6hours : Six_Hours 12hours : Twelve_Hours 24hours : TwentyFour_Hours Resources: EKSEndpointNoPublicAccess: Type: AWS::Config::ConfigRule Properties: ConfigRuleName: !Sub ${ConfigRuleName} Description: Detects whether an Amazon Elastic Kubernetes Service (Amazon EKS) endpoint is publicly accessible. The rule is NON_COMPLIANT if the endpoint is publicly accessible. Source: Owner: AWS SourceIdentifier: EKS_ENDPOINT_NO_PUBLIC_ACCESS MaximumExecutionFrequency: !FindInMap - Settings - FrequencyMap - !Ref MaximumExecutionFrequency

Detect whether an Amazon OpenSearch Service domain is in Amazon VPC (Amazon OpenSearch Service ドメインが Amazon VPC 内にあるかどうかを検出する)

このガードレールは、Amazon OpenSearch Service のドメインが Amazon VPC 内にあるかどうかを検出します。

これは、選択的ガイダンスによる検出ガードレールです。デフォルトでは、このガードレールは OU で有効になっていません。

コンソールで:
  • OpenSearch Service ドメインのエンドポイントがパブリックである場合、ルールには [Non-compliant] (非準拠) ステータスが表示されます。

このガードレールのアーティファクトは、以下の AWS Config ルールです。

AWSTemplateFormatVersion: 2010-09-09 Description: Configure AWS Config rule to detect whether an Amazon OpenSearch Service domain is in Amazon VPC Parameters: ConfigRuleName: Type: 'String' Description: 'Name for the Config rule' MaximumExecutionFrequency: Type: String Default: 24hours Description: The frequency at which AWS Config will run evaluations for the rule. AllowedValues: - 1hour - 3hours - 6hours - 12hours - 24hours Mappings: Settings: FrequencyMap: 1hour : One_Hour 3hours : Three_Hours 6hours : Six_Hours 12hours : Twelve_Hours 24hours : TwentyFour_Hours Resources: ElasticsearchInVpcOnly: Type: AWS::Config::ConfigRule Properties: ConfigRuleName: !Sub ${ConfigRuleName} Description: Detects whether Amazon OpenSearch Service domains are in Amazon Virtual Private Cloud (Amazon VPC). The rule is NON_COMPLIANT if the OpenSearch Service domain endpoint is public. Source: Owner: AWS SourceIdentifier: ELASTICSEARCH_IN_VPC_ONLY MaximumExecutionFrequency: !FindInMap - Settings - FrequencyMap - !Ref MaximumExecutionFrequency

Detect whether any Amazon EMR cluster master nodes have public IP addresses (Amazon EMR クラスターマスターノードにパブリック IP アドレスがあるかどうかを検出する)

このガードレールは、Amazon EMR クラスターマスターノードにパブリック IP アドレスがあるかどうかを検出します。

これは、選択的ガイダンスによる検出ガードレールです。デフォルトでは、このガードレールは OU で有効になっていません。

コンソールで:
  • マスターノードにパブリック IP アドレスがある場合、ルールには [Non-compliant] (非準拠) ステータスが表示されます。

  • このガードレールは、RUNNING または WAITING 状態のクラスターを確認します。

このガードレールのアーティファクトは、以下の AWS Config ルールです。

AWSTemplateFormatVersion: 2010-09-09 Description: Configure AWS Config rule to detect whether any Amazon EMR cluster master nodes have public IP addresses Parameters: ConfigRuleName: Type: 'String' Description: 'Name for the Config rule' MaximumExecutionFrequency: Type: String Default: 24hours Description: The frequency at which AWS Config will run evaluations for the rule. AllowedValues: - 1hour - 3hours - 6hours - 12hours - 24hours Mappings: Settings: FrequencyMap: 1hour : One_Hour 3hours : Three_Hours 6hours : Six_Hours 12hours : Twelve_Hours 24hours : TwentyFour_Hours Resources: EmrMasterNoPublicIp: Type: AWS::Config::ConfigRule Properties: ConfigRuleName: !Sub ${ConfigRuleName} Description: Detects whether any Amazon Elastic MapReduce (EMR) cluster master nodes have public IP addresses. The rule is NON_COMPLIANT if a master node has a public IP. This guardrail checks clusters that are in RUNNING or WAITING state. Source: Owner: AWS SourceIdentifier: EMR_MASTER_NO_PUBLIC_IP MaximumExecutionFrequency: !FindInMap - Settings - FrequencyMap - !Ref MaximumExecutionFrequency

Detect whether the AWS Lambda function policy attached to the Lambda resource blocks public access (Lambda リソースにアタッチされている Lambda 関数ポリシーがパブリックアクセスをブロックするかどうかを検出する)

このガードレールは、Lambda リソースにアタッチされている AWS Lambda 関数ポリシーがパブリックアクセスをブロックするかどうかを検出します。

これは、選択的ガイダンスによる検出ガードレールです。デフォルトでは、このガードレールは OU で有効になっていません。

コンソールで:
  • Lambda 関数ポリシーがパブリックアクセスを許可している場合、ルールには [Non-compliant] (非準拠) ステータスが表示されます。

このガードレールのアーティファクトは、以下の AWS Config ルールです。

AWSTemplateFormatVersion: 2010-09-09 Description: Configure AWS Config rule to detect whether the AWS Lambda function policy attached to the Lambda resource blocks public access Parameters: ConfigRuleName: Type: 'String' Description: 'Name for the Config rule' Resources: LambdaFunctionPublicAccessProhibited: Type: AWS::Config::ConfigRule Properties: ConfigRuleName: !Sub ${ConfigRuleName} Description: Detects whether the AWS Lambda function policy attached to the Lambda resource prohibits public access. The rule is NON_COMPLIANT if the Lambda function policy allows public access. Scope: ComplianceResourceTypes: - AWS::Lambda::Function Source: Owner: AWS SourceIdentifier: LAMBDA_FUNCTION_PUBLIC_ACCESS_PROHIBITED

Detect whether public routes exist in the route table for an Internet Gateway (IGW) (インターネットゲートウェイ (IGW、Internet Gateway) のルートテーブルにパブリックルートが存在するかどうかを検出する)

このガードレールは、インターネットゲートウェイ (IGW、Internet Gateway) に関連付けられたルートテーブルにパブリックルートが存在するかどうかを検出します。

これは、選択的ガイダンスによる検出ガードレールです。デフォルトでは、このガードレールは OU で有効になっていません。

コンソールで:
  • ルートに 0.0.0.0/0 または ::/0 の送信先 CIDR ブロックがある場合、あるいは送信先 CIDR ブロックがルールパラメータと一致しない場合、ルールには [Non-compliant] (非準拠) ステータスが表示されます。

このガードレールのアーティファクトは、以下の AWS Config ルールです。

AWSTemplateFormatVersion: 2010-09-09 Description: Configure AWS Config rule to detect whether public routes exist in the route table for an Internet Gateway (IGW) Parameters: ConfigRuleName: Type: 'String' Description: 'Name for the Config rule' Resources: NoUnrestrictedRouteToIgw: Type: AWS::Config::ConfigRule Properties: ConfigRuleName: !Sub ${ConfigRuleName} Description: Detects whether public routes exist in the route table associated with an Internet Gateway (IGW). The rule is NON_COMPLIANT if a route has a destination CIDR block of '0.0.0.0/0' or '::/0' or if a destination CIDR block does not match the rule parameter. Scope: ComplianceResourceTypes: - AWS::EC2::RouteTable Source: Owner: AWS SourceIdentifier: NO_UNRESTRICTED_ROUTE_TO_IGW

Detect whether Amazon Redshift clusters are blocked from public access (Amazon Redshift クラスターがパブリックアクセスからブロックされているかどうかを検出する)

このガードレールにより、Amazon Redshift クラスターがパブリックアクセスからブロックされているかどうかが検出されます。

これは、選択的ガイダンスによる検出ガードレールです。デフォルトでは、このガードレールは OU で有効になっていません。

コンソールで:
  • クラスターの設定項目で publiclyAccessible フィールドが [True] に設定されている場合、ルールには [Non-compliant] (非準拠) ステータスが表示されます。

このガードレールのアーティファクトは、以下の AWS Config ルールです。

AWSTemplateFormatVersion: 2010-09-09 Description: Configure AWS Config rule to detect whether Amazon Redshift clusters are blocked from public access Parameters: ConfigRuleName: Type: 'String' Description: 'Name for the Config rule' Resources: RedshiftClusterPublicAccessCheck: Type: AWS::Config::ConfigRule Properties: ConfigRuleName: !Sub ${ConfigRuleName} Description: Detects whether Amazon Redshift clusters are blocked from public access. The rule is NON_COMPLIANT if the publiclyAccessible field is true in the cluster configuration item. Scope: ComplianceResourceTypes: - AWS::Redshift::Cluster Source: Owner: AWS SourceIdentifier: REDSHIFT_CLUSTER_PUBLIC_ACCESS_CHECK

Detect whether an Amazon SageMaker notebook instance allows direct internet access (Amazon SageMaker ノートブックインスタンスで直接インターネットアクセスを許可しているかどうかを検出する)

このガードレールにより、Amazon SageMaker ノートブックインスタンスで直接インターネットアクセスを許可しているかどうかが検出されます。

これは、選択的ガイダンスによる検出ガードレールです。デフォルトでは、このガードレールは OU で有効になっていません。

コンソールで:
  • Amazon SageMaker ノートブックインスタンスで直接インターネットアクセスを許可する場合、ルールには [Non-compliant] (非準拠) ステータスが表示されます。

このガードレールのアーティファクトは、以下の AWS Config ルールです。

AWSTemplateFormatVersion: 2010-09-09 Description: Configure AWS Config rule to detect whether an Amazon SageMaker notebook instance allows direct internet access Parameters: ConfigRuleName: Type: 'String' Description: 'Name for the Config rule' MaximumExecutionFrequency: Type: String Default: 24hours Description: The frequency at which AWS Config will run evaluations for the rule. AllowedValues: - 1hour - 3hours - 6hours - 12hours - 24hours Mappings: Settings: FrequencyMap: 1hour : One_Hour 3hours : Three_Hours 6hours : Six_Hours 12hours : Twelve_Hours 24hours : TwentyFour_Hours Resources: SagemakerNotebookNoDirectInternetAccess: Type: AWS::Config::ConfigRule Properties: ConfigRuleName: !Sub ${ConfigRuleName} Description: Detects whether direct internet access is allowed for an Amazon SageMaker notebook instance. The rule is NON_COMPLIANT if Amazon SageMaker notebook instances allow direct internet access. Source: Owner: AWS SourceIdentifier: SAGEMAKER_NOTEBOOK_NO_DIRECT_INTERNET_ACCESS MaximumExecutionFrequency: !FindInMap - Settings - FrequencyMap - !Ref MaximumExecutionFrequency

Detect whether any Amazon VPC subnets are assigned a public IP address (Amazon VPC サブネットにパブリック IP アドレスが割り当てられているかどうかを検出する)

このガードレールにより、Amazon Virtual Private Cloud (Amazon VPC) サブネットにパブリック IP アドレスが割り当てられているかどうかが検出されます。

これは、選択的ガイダンスによる検出ガードレールです。デフォルトでは、このガードレールは OU で有効になっていません。

コンソールで:
  • Amazon VPC にパブリック IP アドレスが割り当てられているサブネットがある場合、ルールには [Non-compliant] (非準拠) ステータスが表示されます。

このガードレールのアーティファクトは、以下の AWS Config ルールです。

AWSTemplateFormatVersion: 2010-09-09 Description: Detect whether any Amazon VPC subnets are assigned a public IP address Parameters: ConfigRuleName: Type: 'String' Description: 'Name for the Config rule' Resources: SubnetAutoAssignPublicIpDisabled: Type: AWS::Config::ConfigRule Properties: ConfigRuleName: !Sub ${ConfigRuleName} Description: Detects whether Amazon Virtual Private Cloud (Amazon VPC) subnets are assigned a public IP address. The rule is NON_COMPLIANT if Amazon VPC has subnets that are assigned a public IP address. Scope: ComplianceResourceTypes: - AWS::EC2::Subnet Source: Owner: AWS SourceIdentifier: SUBNET_AUTO_ASSIGN_PUBLIC_IP_DISABLED

Detect whether AWS Systems Manager documents owned by the account are public (アカウントが所有する AWS Systems Manager ドキュメントがパブリックであるかどうかを検出する)

このガードレールにより、アカウントが所有する AWS Systems Manager ドキュメントがパブリックであるかどうかが検出されます。

これは、選択的ガイダンスによる検出ガードレールです。デフォルトでは、このガードレールは OU で有効になっていません。

このガードレールのアーティファクトは、以下の AWS Config ルールです。

AWSTemplateFormatVersion: 2010-09-09 Description: Configure AWS Config rule to detect whether AWS Systems Manager documents owned by the account are public Parameters: ConfigRuleName: Type: 'String' Description: 'Name for the Config rule' MaximumExecutionFrequency: Type: String Default: 24hours Description: The frequency at which AWS Config will run evaluations for the rule. AllowedValues: - 1hour - 3hours - 6hours - 12hours - 24hours Mappings: Settings: FrequencyMap: 1hour : One_Hour 3hours : Three_Hours 6hours : Six_Hours 12hours : Twelve_Hours 24hours : TwentyFour_Hours Resources: SsmDocumentNotPublic: Type: AWS::Config::ConfigRule Properties: ConfigRuleName: !Sub ${ConfigRuleName} Description: Detects whether AWS Systems Manager (SSM) documents owned by the account are public. This rule is NON_COMPLIANT if any documents with owner 'Self' are public. Source: Owner: AWS SourceIdentifier: SSM_DOCUMENT_NOT_PUBLIC MaximumExecutionFrequency: !FindInMap - Settings - FrequencyMap - !Ref MaximumExecutionFrequency