サービスコントロールポリシーの例 - AWS Organizations

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

サービスコントロールポリシーの例

このトピックで表示されているサービスコントロールポリシー (SCP) の例は、情報提供のみを目的としています。

これらの例を使用する前に

組織内でこれらの例のSCPを使用する前に、以下を実行してください。

  • 独自の要件に合わせて、SCPを慎重に見直し、カスタマイズします。

  • 本番環境で使用する前に、SCPをテストしてください。SCP は、すべてのユーザーやロール、アタッチされているすべてのアカウントのルートユーザーに影響を及ぼします。

ヒント

以下を使用できます。 サービスが最後にアクセスしたデータ () IAM SCPを更新して、 AWS 提供できます。詳細については、以下を参照してください。 表示 Organizations のサービス最終アクセスデータ OrganizationsIAM ユーザーガイド.

次の各種ポリシーは、「拒否リストポリシー」戦略の例です。拒否リストポリシーは、影響を受けるアカウントの承認済みアクションを許可する他のポリシーと合わせてアタッチする必要があります。たとえば、デフォルトの FullAWSAccess ポリシーは、アカウントによるすべてのサービスの使用を許可します。このポリシーは、デフォルトによって、ルート、すべての組織ユニット (OU)、およびすべてのアカウントにアタッチされます。実際、アクセス許可は付与されません。付与する SCP がないためです。その代わりに、標準 AWS Identity and Access Management (IAM) 許可ポリシーをアカウント内のユーザー、役割、またはグループに対して適用します。これらの各拒否リストポリシーによって、指定されたサービスまたはアクションへのアクセスがブロックされ、ポリシーはすべて上書きされます。

一般的な例

例: 。アクセスを拒否 AWS 依頼された AWS 地域

このSCPは、指定された領域以外の操作へのアクセスを拒否します。交換 eu-central-1 および eu-west-1 と AWS 使用する地域。これにより、承認されたグローバルサービスでオペレーションが除外されます。この例は、2つの指定された管理者ロールのいずれかによって行われた要求を免除する方法も示しています。

重要

組織で AWS Control Tower を使用する場合は、このポリシー例を使用しないことをお勧めします。AWS Control Tower は、このポリシー例と互換性のない形で AWS リージョン間で動作します。

このポリシーは、Deny 効果を使用して、承認された 2 つのリージョン (eu-central-1 および eu-west-1) のいずれかをターゲットとしないオペレーションに対するリクエストへのアクセスを拒否します。NotAction 要素を使用すると、すべてのオペレーション (または個別のオペレーション) がこの制限から除外されるサービスのリストを指定できます。グローバルサービスには、 us-east-1 地域 、この方法で免除される必要があります。このように構成された SCP では、リクエストされたサービスが NotAction 要素に含まれている場合、us-east-1 リージョン内のグローバルサービスに対するリクエストが許可されます。us-east-1 リージョン内のサービスに対するその他のリクエストは、このポリシー例によって拒否されます。

注記

この例には、最新のグローバル AWS サービスまたはオペレーション。 赤の斜体で示されているサービスとオペレーションのリストを組織内のアカウントによって使用されるグローバルサービスで置換えてください。

Tip

IAM コンソールでサービスの最終アクセスデータを表示して、組織が使用しているグローバルサービスを確認できます。IAM ユーザー、グループ、またはロールの詳細ページの [Access Advisor] タブには、そのエンティティにより使用された AWS サービスが、アクセスの新しい順にソートされて表示されます。

Considerations
  • AWS KMS および AWS Certificate Manager 地域エンドポイントをサポートします。ただし、 Amazon CloudFront 以下の試験用SCPのグローバルサービス除外リストに含める必要があります。次のようなグローバルサービス AWS CloudFormation 通常、 AWS KMS および ACM グローバル・サービスでは、 米国東部(バージニア北部) 地域(us-east-1)。

  • デフォルトでは、 AWS STS はグローバルサービスであり、グローバルサービス除外リストに含まれている必要があります。ただし、 AWS STS 単一のグローバルエンドポイントではなく、地域エンドポイントを使用します。これを行うと、次の例のSCPでグローバルサービス免除リストからSTSを削除できます。詳細については、以下を参照してください。 管理 AWS STS の AWS 地域.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAllOutsideEU", "Effect": "Deny", "NotAction": [ "a4b:*", "acm:*", "aws-marketplace-management:*", "aws-marketplace:*", "aws-portal:*", "awsbillingconsole:*", "budgets:*", "ce:*", "chime:*", "cloudfront:*", "config:*", "cur:*", "directconnect:*", "ec2:DescribeRegions", "ec2:DescribeTransitGateways", "ec2:DescribeVpnGateways", "fms:*", "globalaccelerator:*", "health:*", "iam:*", "importexport:*", "kms:*", "mobileanalytics:*", "networkmanager:*", "organizations:*", "pricing:*", "route53:*", "route53domains:*", "s3:GetAccountPublic*", "s3:ListAllMyBuckets", "s3:ListBuckets", "s3:PutAccountPublic*", "shield:*", "sts:*", "support:*", "trustedadvisor:*", "waf-regional:*", "waf:*", "wafv2:*", "wellarchitected:*" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:RequestedRegion": [ "eu-central-1", "eu-west-1" ] }, "ArnNotLike": { "aws:PrincipalARN": [ "arn:aws:iam::*:role/Role1AllowedToBypassThisSCP", "arn:aws:iam::*:role/Role2AllowedToBypassThisSCP" ] } } } ] }

例: 。予防 IAM 特定の変更を行うことから

このSCPは IAM プリンシパルが、指定された IAM 役割(組織のすべてのアカウントで作成済み)。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAccessToASpecificRole", "Effect": "Deny", "Action": [ "iam:AttachRolePolicy", "iam:DeleteRole", "iam:DeleteRolePermissionsBoundary", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:PutRolePermissionsBoundary", "iam:PutRolePolicy", "iam:UpdateAssumeRolePolicy", "iam:UpdateRole", "iam:UpdateRoleDescription" ], "Resource": [ "arn:aws:iam::*:role/name-of-role-to-deny" ] } ] }

例: 。予防 IAM 指定された管理者ロールの例外を除き、プリンシパルが指定された変更を行うこと

この SCP は、前述の例において、管理者の例外を追加します。これによって、アカウント内の IAM プリンシパルが、指定されたロールを使用する管理者を除き、組織内のすべてのアカウントで作成された一般的な管理者 IAM ロールに変更を加えることができないようにします。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyAccessWithException", "Effect": "Deny", "Action": [ "iam:AttachRolePolicy", "iam:DeleteRole", "iam:DeleteRolePermissionsBoundary", "iam:DeleteRolePolicy", "iam:DetachRolePolicy", "iam:PutRolePermissionsBoundary", "iam:PutRolePolicy", "iam:UpdateAssumeRolePolicy", "iam:UpdateRole", "iam:UpdateRoleDescription" ], "Resource": [ "arn:aws:iam::*:role/name-of-role-to-deny" ], "Condition": { "StringNotLike": { "aws:PrincipalARN":"arn:aws:iam::*:role/name-of-admin-role-to-allow" } } } ] }

実施例10: MFAにAPIアクションの実行を要求

次のようなSCPを使用して、プリンシパルがアクションを実行する前に、多要素認証(MFA)が有効になっている必要があります。この例では、 Amazon EC2 インスタンス。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyStopAndTerminateWhenMFAIsNotPresent", "Effect": "Deny", "Action": [ "ec2:StopInstances", "ec2:TerminateInstances" ], "Resource": "*", "Condition": {"BoolIfExists": {"aws:MultiFactorAuthPresent": false}} } ] }

例: 。rootユーザーのサービス アクセスをブロックする

次のポリシーは、すべてのアクセスを rootユーザー 管理できます。アカウントで特定の方法のルート認証情報を使用できないようにするには、このポリシーに独自のアクションを追加します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RestrictEC2ForRoot", "Effect": "Deny", "Action": [ "ec2:*" ], "Resource": [ "*" ], "Condition": { "StringLike": { "aws:PrincipalArn": [ "arn:aws:iam::*:root" ] } } } ] }

SCPの例 AWS Config

例: 。ユーザーの無効化を防ぐ AWS Config 規則の変更

この SCP は、影響を受けるアカウントのユーザーまたはロールは、AWS Config の無効化や、ルールまたはトリガーの変更を無効にする可能性のある AWS Config オペレーションを実行できなくなります。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "config:DeleteConfigRule", "config:DeleteConfigurationRecorder", "config:DeleteDeliveryChannel", "config:StopConfigurationRecorder" ], "Resource": "*" } ] }

SCPの例 Amazon CloudWatch

例: 。ユーザーの無効化を防ぐ CloudWatch 構成の変更

下位レベル CloudWatch オペレータはダッシュボードとアラームを監視する必要があります。ただし、オペレータは、上級職員が設置する可能性のあるダッシュボードやアラームを削除または変更することはできません。この SCP では、影響を受けるアカウントのユーザーまたはロールは、ダッシュボードまたはアラームを削除または変更する可能性のある CloudWatch コマンドを実行できなくなります。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloudwatch:DeleteAlarms", "cloudwatch:DeleteDashboards", "cloudwatch:DisableAlarmActions", "cloudwatch:PutDashboard", "cloudwatch:PutMetricAlarm", "cloudwatch:SetAlarmState" ], "Resource": "*" } ] }

SCPの例 Amazon Elastic Compute Cloud (Amazon EC2)

例: 。必須 Amazon EC2 特定のタイプを使用するインスタンス

この SCP を使用すると、t2.micro インスタンスタイプを使用していないすべてのインスタンスの起動は拒否されます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RequireMicroInstanceType", "Effect": "Deny", "Action": "ec2:RunInstances", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringNotEquals":{ "ec2:InstanceType":"t2.micro" } } } ] }

SCPの例 Amazon GuardDuty

例: 。ユーザーの無効化を防ぐ GuardDuty 設定の変更

この SCP では、影響を受けるアカウントのユーザーまたはロールは、コマンドとして直接、またはコンソールから GuardDuty ログを無効化したり、設定を変更することはできなくなります。GuardDuty 情報およびリソースへの読み取り専用アクセスを効果的に可能にします。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "guardduty:AcceptInvitation", "guardduty:ArchiveFindings", "guardduty:CreateDetector", "guardduty:CreateFilter", "guardduty:CreateIPSet", "guardduty:CreateMembers", "guardduty:CreatePublishingDestination", "guardduty:CreateSampleFindings", "guardduty:CreateThreatIntelSet", "guardduty:DeclineInvitations", "guardduty:DeleteDetector", "guardduty:DeleteFilter", "guardduty:DeleteInvitations", "guardduty:DeleteIPSet", "guardduty:DeleteMembers", "guardduty:DeletePublishingDestination", "guardduty:DeleteThreatIntelSet", "guardduty:DisassociateFromMasterAccount", "guardduty:DisassociateMembers", "guardduty:InviteMembers", "guardduty:StartMonitoringMembers", "guardduty:StopMonitoringMembers", "guardduty:TagResource", "guardduty:UnarchiveFindings", "guardduty:UntagResource", "guardduty:UpdateDetector", "guardduty:UpdateFilter", "guardduty:UpdateFindingsFeedback", "guardduty:UpdateIPSet", "guardduty:UpdatePublishingDestination", "guardduty:UpdateThreatIntelSet" ], "Resource": "*" } ] }

SCPの例 AWS Resource Access Manager

例: 。外部共有の防止

次の例のSCPでは、ユーザーが組織の一部ではないプリンシパルと共有できるリソース共有を作成できないようにしています。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ram:CreateResourceShare", "ram:UpdateResourceShare" ], "Resource": "*", "Condition": { "Bool": { "ram:RequestedAllowsExternalPrincipals": "true" } } } ] }

例: 。特定のアカウントが特定のリソースタイプのみを共有できるようにする

次のSCPでは、 111111111111 および 222222222222 接頭語リストを共有するリソース共有を作成し、接頭語リストを既存のリソース共有に関連付けます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "OnlyNamedAccountsCanSharePrefixLists", "Effect": "Deny", "Action": [ "ram:AssociateResourceShare", "ram:CreateResourceShare" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:PrincipalAccount": [ "111111111111", "222222222222" ] }, "StringEquals": { "ram:RequestedResourceType": "ec2:PrefixList" } } } ] }

例: 。組織または組織ユニット(OU)との共有を防ぐ

次のSCPでは、AWS組織またはOUとリソースを共有するリソース共有をユーザーが作成できないようにします。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ram:CreateResourceShare", "ram:AssociateResourceShare" ], "Resource": "*", "Condition": { "ForAnyValue:StringLike": { "ram:Principal": [ "arn:aws:organizations::*:organization/*", "arn:aws:organizations::*:ou/*" ] } } } ] }

例: 。指定されたプリンシパルのみとの共有を許可

次の例のSCPでは、ユーザーはリソースを共有することができます。 のみ 組織 o-12345abcdef、組織単位 ou-98765fedcba、およびアカウント 111111111111.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ram:AssociateResourceShare", "ram:CreateResourceShare" ], "Resource": "*", "Condition": { "ForAnyValue:StringNotEquals": { "ram:Principal": [ "arn:aws:organizations::123456789012:organization/o-12345abcdef", "arn:aws:organizations::123456789012:ou/o-12345abcdef/ou-98765fedcba", "111111111111" ] } } } ] }

SCPの例 Amazon Virtual Private Cloud (Amazon VPC)

例: 。ユーザーが削除できないようにする Amazon VPC フローログ

このSCPは、影響を受けるアカウントのユーザーまたはロールが削除できないようにします Amazon Elastic Compute Cloud (Amazon EC2) フローログまたは CloudWatch ログ グループまたはログ ストリーム。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ec2:DeleteFlowLogs", "logs:DeleteLogGroup", "logs:DeleteLogStream" ], "Resource": "*" } ] }

例: 。インターネットアクセスのないVPCがインターネットにアクセスできないようにする

この SCP では、影響を受けるアカウントのユーザーまたはロールは、Amazon EC2 仮想プライベートクラウド (VPC) の設定を変更して、インターネットへの直接アクセスを許可しないようにします。既存の直接アクセスや、オンプレミスネットワーク環境を経由するアクセスはブロックされません。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ec2:AttachInternetGateway", "ec2:CreateInternetGateway", "ec2:CreateEgressOnlyInternetGateway", "ec2:CreateVpcPeeringConnection", "ec2:AcceptVpcPeeringConnection", "globalaccelerator:Create*", "globalaccelerator:Update*" ], "Resource": "*" } ] }

リソースのタグ付けのためのSCPの例

例: 。指定された作成済みリソースにタグが必要

次のSCPは、リクエストに指定されたタグが含まれていない場合、アカウントプリンシパルが特定のリソースタイプを作成することを防ぎます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DenyCreateSecretWithNoProjectTag", "Effect": "Deny", "Action": "secretsmanager:CreateSecret", "Resource": "*", "Condition": { "Null": { "aws:RequestTag/Project": "true" } } }, { "Sid": "DenyRunInstanceWithNoProjectTag", "Effect": "Deny", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:volume/*" ], "Condition": { "Null": { "aws:RequestTag/Project": "true" } } }, { "Sid": "DenyCreateSecretWithNoCostCenterTag", "Effect": "Deny", "Action": "secretsmanager:CreateSecret", "Resource": "*", "Condition": { "Null": { "aws:RequestTag/CostCenter": "true" } } }, { "Sid": "DenyRunInstanceWithNoCostCenterTag", "Effect": "Deny", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:volume/*" ], "Condition": { "Null": { "aws:RequestTag/CostCenter": "true" } } } ] }

すべてのサービスと、それら両方でサポートされるアクションのリストについては、 AWS Organizations SCPおよび IAM 許可ポリシー、参照 のアクション、リソース、および条件キー AWS サービスIAM ユーザーガイド.