サービスコントロールポリシー (SCP) - AWS Organizations

サービスコントロールポリシー (SCP)

サービスコントロールポリシー (SCP) は、組織のアクセス許可の管理に使用できる組織ポリシーの一種です。SCP では、組織の IAM ユーザーと IAM ロールで使用可能な最大アクセス許可を一元的に制御できます。SCP は、アカウントが組織のアクセスコントロールガイドラインに従っていることを確認するのに役立ちます。SCP は、すべての機能が有効になっている 組織でのみ使用できます。組織が一括請求機能のみを有効にしている場合、SCP は使用できません。SCP を有効にする方法については、「ポリシータイプの有効化」を参照してください。

SCP は、組織内の IAM ユーザーと IAM ロールにアクセス許可を付与しません。SCP によってアクセス許可を付与することはできません。SCP は、組織内の IAM ユーザーと IAM ロールが実行できるアクションに対するアクセス許可ガードレールを定義するか、制限を設定します。アクセス許可を付与するには、管理者は、IAM ユーザーと IAM ロールにアタッチされたアイデンティティベースのポリシーや、アカウントのリソースにアタッチされたリソースベースのポリシーなど、アクセスを制御するポリシーをアタッチする必要があります。有効なアクセス許可とは、SCP によって許可されるアクセスとアイデンティティおよびリソースベースのポリシーによって許可されるアクセスの間の論理的な交点のことです。

重要

SCP は、管理アカウントのユーザーやロールには影響を与えません。SCP は、組織内のメンバーアカウントにのみ影響を与えます。

SCP の効果をテストする

AWS では、SCP を組織のルートにアタッチする前に、そのポリシーがアカウントに与える影響を詳細にテストすることが強く推奨されます。代わりに、お客様のアカウントを一度に 1 つずつ、または少なくとも少人数ずつ移動できる OU を作成し、誤って主要なサービスからユーザーを締め出すことのないようにします。アカウントでサービスが使用されているかどうかを判断する方法の 1 つは、IAM のサービスの最終アクセス時間データを調べることです。もう 1 つの方法は、API レベルでサービスの使用状況をログに記録する AWS CloudTrail を使用します。

注記

[FullAWSAccess] ポリシーを変更するか、許可されたアクションを含む別のポリシーに置き換えない限り、FullAWSAccess ポリシーを削除しないでください。そうしないと、メンバーアカウントからのすべての AWS アクションが失敗します。

SCP の上限サイズ

SCP 内のすべての文字は、その上限サイズに対してカウントされます。このガイドの例では、読みやすさを向上させるため、空白文字を追加してフォーマットされた SCP を示します。ただし、ポリシーサイズが上限サイズに近づいている場合は、スペースを節約するために、引用符の外側にあるすべての空白文字 (スペースや改行など) を削除できます。

ヒント

ビジュアルエディタを使用して SCP を構築します。これによって、よけいな空白が自動的に削除されます。

SCP を組織内のさまざまなレベルにアタッチする

SCP の動作の詳細な説明については、「SCP 評価」を参照してください。

アクセス許可における SCP 効果

SCP は AWS Identity and Access Management (IAM) アクセス許可ポリシーと似ており、ほぼ同じ構文を使用します。ただし、SCP がアクセス権限を付与することはありません。代わりに、SCP は、組織内の IAM ユーザーと IAM ロールの最大アクセス許可を指定する JSON ポリシーとなります。詳細については、IAM ユーザーガイドポリシーの評価論理を参照してください。

  • SCP は、組織の一部であるアカウントが管理する IAM ユーザーとロールのみに影響します。SCP はリソースベースのポリシーには直接影響しません。また、組織外のアカウントに属するユーザーやロールにも影響しません。組織内のアカウント A が所有する Amazon S3 バケットについて考えてみます。このバケットポリシー (リソースベースのポリシー) は、組織外のアカウント B に属するユーザーにアクセスを許可します。アカウント A には SCP がアタッチされています。この SCP はアカウント B の外部ユーザーには適用されません。SCP は組織内のアカウント A が管理するユーザーにのみ適用されます。

  • SCP は、メンバーアカウントのルートユーザーを含む、メンバーアカウントの IAM ユーザーとロールのアクセス許可を制限します。すべてのアカウントには、その上位のすべての親で許可されている権限のみがあります。アクセス許可が、暗黙的に (Allow ポリシーステートメントに含まれない)、または明示的に (Deny ポリシーステートメントに含まれる)、アカウントのレベルでブロックされている場合、影響を受けるアカウントのユーザーまたはロールは、アカウント管理者が */* アクセス許可を持つ AdministratorAccess IAM ポリシーをユーザーにアタッチしても、そのアクセス許可を使用することはできません。

  • SCP は、組織内のメンバーアカウントのみに影響します。管理アカウントのユーザーやロールには影響しません。

  • ユーザーとロールには、適切な IAM アクセス許可ポリシーを使用してアクセス許可を付与する必要があります。IAM アクセス許可ポリシーがアタッチされていないユーザーは、たとえ適用される SCP によりすべてのサービスとアクションが許可されても、いずれのサービスもアクセスも許可されません。

  • アクションへのアクセスを付与する IAM アクセス許可ポリシーがユーザーまたはロールに付与されており、そのアクションが適用可能な SCP によって許可されている場合、ユーザーまたはロールはそのアクションを実行できます。

  • アクションへのアクセスを許可する IAM アクセス許可ポリシーがユーザーまたはロールに付与されており、そのアクションが適用可能な SCP によって許可されていないか、または明示的に拒否されている場合、ユーザーまたはロールがそのアクションを実行することはできません。

  • SCP は、アタッチされたアカウントのすべてのユーザーやロール (ルートユーザーを含む) に影響します。唯一の例外は、「SCP によって制限されないタスクおよびエンティティ」で説明されているものです。

  • SCP はサービスにリンクされたロールに影響しません。サービスにリンクされたロールを使用して、他の AWS のサービスを AWS Organizations と統合できます。SCP によって制限することはできません。

  • ルートの SCP ポリシータイプを無効にすると、そのルートのすべての AWS Organizations エンティティからすべての SCP が自動的にデタッチされます。AWS Organizations エンティティには、組織単位、組織、およびアカウントが含まれます。そのルートの SCP を再度有効にすると、そのルートはすべてのエンティティに自動的にアタッチされたデフォルトの FullAWSAccess ポリシーに戻ります。SCP の無効化の前に AWS Organizations にアタッチされていたすべての SCP は失われ、自動的には復旧されません。ただし、手動で再度アタッチできます。

  • アクセス許可の境界 (高度な IAM 機能) と SCP が両方存在する場合は、アクセス許可の境界、SCP、およびアイデンティティのポリシーによって、すべてのアクションが許可されます。

アクセスデータを使用して SCP を改善する

管理アカウントの認証情報でサインインすると、IAM コンソールの AWS Organizations セクションで、AWS Organizations エンティティまたはポリシーのサービスへの最終アクセス時間データを表示できます。また、IAM で AWS Command Line Interface (AWS CLI) または AWS API を使用して、サービスの最終アクセス時間データを取得することもできます。このデータには、AWS Organizations アカウントの IAM ユーザーおよびロールが許可されているいずれかのサービスが、最後にアクセスを試みたタイミングに関する情報が含まれます。この情報を使用して不要なアクセス許可を識別し、最小権限の原則により良く準拠するように SCP を改良できます。

例えば、3 つの AWS のサービスへのアクセスを禁止する拒否リスト SCP があるとします。SCP の Deny ステートメントにリストされていないすべてのサービスが許可されます。IAM のサービスの最終アクセス時間データにより、SCP で許可されているが、一度も使用されていない AWS のサービスを確認できます。この情報により、SCP を更新して、必要でないサービスへのアクセスを拒否できます。

詳細については、IAM ユーザーガイドにある下記のトピックを参照してください。

SCP によって制限されないタスクおよびエンティティ

SCP を使用して次のタスクを制限することはできません

  • 管理アカウントによって実行されるすべてのアクション

  • サービスにリンクされたロールにアタッチされたアクセス許可を使用して実行されるすべてのアクション。

  • root ユーザーとして Enterprise サポートプランに登録する

  • root ユーザーとして AWS サポートレベルを変更する

  • 信頼された署名者に CloudFront プライベートコンテンツの機能を提供する

  • Amazon Lightsail メールサーバーおよび Amazon EC2 インスタンスの逆引き DNS をルートユーザーとして設定する

  • 一部の AWS 関連サービスでのタスク

    • Alexa Top Sites

    • Alexa Web Information Service

    • Amazon Mechanical Turk

    • Amazon Product Marketing API