組織のポリシーに関する情報の取得 - AWS Organizations

組織のポリシーに関する情報の取得

このトピックでは、組織内のポリシーの詳細を取得するさまざまな方法について説明します。これらの手順は、すべてのポリシータイプに適用されます。あるタイプのポリシーを組織ルート内のエンティティにアタッチする前に、その組織ルートでそのポリシータイプを有効にする必要があります。

すべてのポリシーの一覧表示

最小アクセス許可

組織内のポリシーを一覧表示するには、次のアクセス権限が必要です。

  • organizations:ListPolicies

組織のポリシーは、AWS Management Console または、AWS Command Line Interface (AWS CLI) コマンドまたは AWS SDKオペレーション使用して表示できます。

組織のすべてのポリシーを一覧表示するには
  1. AWS Organizations コンソールにサインインします。組織の管理アカウントで、IAM ユーザーとしてサインインするか、IAM ロールを引き受けるか、ルートユーザーとしてサインインする (推奨されません) 必要があります。

  2. ポリシーページで、一覧表示するポリシーを選択します。

    指定したポリシータイプが有効な場合、コンソールには、組織で現在利用できる同様のタイプのポリシーの一覧が表示されます。

  3. ポリシーページに戻り、ポリシータイプごとにこれを繰り返します。

次のサンプルコードは、ListPolicies を使用する方法を説明しています。

.NET
AWS SDK for .NET
注記

GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

using System; using System.Threading.Tasks; using Amazon.Organizations; using Amazon.Organizations.Model; /// <summary> /// Shows how to list the AWS Organizations policies associated with an /// organization. /// </summary> public class ListPolicies { /// <summary> /// Initializes an Organizations client object, and then calls its /// ListPoliciesAsync method. /// </summary> public static async Task Main() { // Create the client object using the default account. IAmazonOrganizations client = new AmazonOrganizationsClient(); // The value for the Filter parameter is required and must must be // one of the following: // AISERVICES_OPT_OUT_POLICY // BACKUP_POLICY // SERVICE_CONTROL_POLICY // TAG_POLICY var request = new ListPoliciesRequest { Filter = "SERVICE_CONTROL_POLICY", MaxResults = 5, }; var response = new ListPoliciesResponse(); try { do { response = await client.ListPoliciesAsync(request); response.Policies.ForEach(p => DisplayPolicies(p)); if (response.NextToken is not null) { request.NextToken = response.NextToken; } } while (response.NextToken is not null); } catch (AWSOrganizationsNotInUseException ex) { Console.WriteLine(ex.Message); } } /// <summary> /// Displays information about the Organizations policies associated /// with an organization. /// </summary> /// <param name="policy">An Organizations policy summary to display /// information on the console.</param> private static void DisplayPolicies(PolicySummary policy) { string policyInfo = $"{policy.Id} {policy.Name}\t{policy.Description}"; Console.WriteLine(policyInfo); } }
  • API の詳細については、「AWS SDK for .NET API リファレンス」の「ListPolicies」を参照してください。

CLI
AWS CLI

特定のタイプの組織のすべてのポリシーのリストを取得するには

次の例は、フィルターパラメータで指定された SCP のリストを取得する方法を示しています。

aws organizations list-policies --filter SERVICE_CONTROL_POLICY

出力には、ポリシーのリストと概要情報が含まれます。

{ "Policies": [ { "Type": "SERVICE_CONTROL_POLICY", "Name": "AllowAllS3Actions", "AwsManaged": false, "Id": "p-examplepolicyid111", "Arn": "arn:aws:organizations::111111111111:policy/service_control_policy/p-examplepolicyid111", "Description": "Enables account admins to delegate permissions for any S3 actions to users and roles in their accounts." }, { "Type": "SERVICE_CONTROL_POLICY", "Name": "AllowAllEC2Actions", "AwsManaged": false, "Id": "p-examplepolicyid222", "Arn": "arn:aws:organizations::111111111111:policy/service_control_policy/p-examplepolicyid222", "Description": "Enables account admins to delegate permissions for any EC2 actions to users and roles in their accounts." }, { "AwsManaged": true, "Description": "Allows access to every operation", "Type": "SERVICE_CONTROL_POLICY", "Id": "p-FullAWSAccess", "Arn": "arn:aws:organizations::aws:policy/service_control_policy/p-FullAWSAccess", "Name": "FullAWSAccess" } ] }
  • API の詳細については、「AWS CLI Command Reference」の「ListPolicies」を参照してください。

Python
SDK for Python (Boto3)
注記

GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

def list_policies(policy_filter, orgs_client): """ Lists the policies for the account, limited to the specified filter. :param policy_filter: The kind of policies to return. :param orgs_client: The Boto3 Organizations client. :return: The list of policies found. """ try: response = orgs_client.list_policies(Filter=policy_filter) policies = response["Policies"] logger.info("Found %s %s policies.", len(policies), policy_filter) except ClientError: logger.exception("Couldn't get %s policies.", policy_filter) raise else: return policies
  • API の詳細については、「AWS SDK for Python (Boto3) API リファレンス」の「ListPolicies」を参照してください。

ルート、OU、またはアカウントにアタッチされているポリシーを一覧表示する

最小アクセス許可

組織内のルート、組織単位 (OU)、またはアカウントにアタッチされたポリシーを一覧表示するには、次のアクセス許可が必要です。

  • 指定されたターゲット (または "*") の Amazon リソースネーム (ARN) を含む同じポリシーステートメントの Resource 要素を持つ organizations:ListPoliciesForTarget

AWS Management Console
指定したルート、OU、またはアカウント に直接アタッチされているすべてのポリシーを一覧表示するには
  1. AWS Organizations コンソールにサインインします。組織の管理アカウントで、IAM ユーザーとしてサインインするか、IAM ロールを引き受けるか、ルートユーザーとしてサインインする (推奨されません) 必要があります。

  2. リポジトリの AWS アカウント ページで、ポリシーを表示するルート、OU、またはアカウントの名前を選択します。必要な OU を見つけるために、OUを展開する ( Gray cloud icon representing cloud computing or storage services. を選択する) 必要がある場合があります。

  3. ルート、OU、またはアカウントページで、[Policies] (ポリシー) タブを選択します。

    [Policies] (ポリシー) タブでは、そのルート、OU、またはアカウントにアタッチされているすべてのポリシーが、ポリシータイプ別にグループ化されて表示されます。

AWS CLI & AWS SDKs
指定したルート、OU、またはアカウント に直接アタッチされているすべてのポリシーを一覧表示するには

エンティティにアタッチされているポリシーを一覧表示するには、次のいずれかのコマンドを使用します。

  • AWS CLI: list-policies-for-target

    次の例では、指定された OU にアタッチされているすべてのサービスコントロールポリシーを一覧表示します。ルート、OU、またはアカウントの ID、および一覧表示するポリシーのタイプを指定する必要があります。

    $ aws organizations list-policies-for-target \ --target-id ou-a1b2-f6g7h222 \ --filter SERVICE_CONTROL_POLICY { "Policies": [ { "Id": "p-FullAWSAccess", "Arn": "arn:aws:organizations::aws:policy/service_control_policy/p-FullAWSAccess", "Name": "FullAWSAccess", "Description": "Allows access to every operation", "Type": "SERVICE_CONTROL_POLICY", "AwsManaged": true } ] }
  • AWS SDK: ListPoliciesForTarget

ポリシーがアタッチされているすべての root、OU、およびアカウントの一覧表示

最小アクセス許可

ポリシーがアタッチされているエンティティを一覧表示するには、次のアクセス権限が必要です。

  • 指定されたポリシー (または "*") の ARN を含む同じポリシーステートメントの Resource 要素を持つ organizations:ListTargetsForPolicy

AWS Management Console
特定のポリシーがアタッチされているすべてのルート、OU、およびアカウントを一覧表示するには
  1. AWS Organizations コンソールにサインインします。組織の管理アカウントで、IAM ユーザーとしてサインインするか、IAM ロールを引き受けるか、ルートユーザーとしてサインインする (推奨されません) 必要があります。

  2. ポリシーページで、ポリシータイプを選択してから、添付ファイルを確認するポリシーの名前を選択します。

  3. [Targets] (ターゲット) タブを選択し、選択したポリシーがアタッチされているすべてのルート、OU、およびアカウントのテーブルを表示します。

AWS CLI & AWS SDKs
特定のポリシーがアタッチされているすべてのルート、OU、およびアカウントを一覧表示するには

ポリシーを含むエンティティを一覧表示するには、次のいずれかのコマンドを使用します。

  • AWS CLI: list-targets-for-policy

    次の例は、指定されたポリシーのルート、OU、およびアカウントに対するすべての添付ファイルを示しています。

    $ aws organizations list-targets-for-policy \ --policy-id p-FullAWSAccess { "Targets": [ { "TargetId": "ou-a1b2-f6g7h111", "Arn": "arn:aws:organizations::123456789012:ou/o-aa111bb222/ou-a1b2-f6g7h111", "Name": "testou2", "Type": "ORGANIZATIONAL_UNIT" }, { "TargetId": "ou-a1b2-f6g7h222", "Arn": "arn:aws:organizations::123456789012:ou/o-aa111bb222/ou-a1b2-f6g7h222", "Name": "testou1", "Type": "ORGANIZATIONAL_UNIT" }, { "TargetId": "123456789012", "Arn": "arn:aws:organizations::123456789012:account/o-aa111bb222/123456789012", "Name": "My Management Account (bisdavid)", "Type": "ACCOUNT" }, { "TargetId": "r-a1b2", "Arn": "arn:aws:organizations::123456789012:root/o-aa111bb222/r-a1b2", "Name": "Root", "Type": "ROOT" } ] }
  • AWS SDK: ListTargetsForPolicy

ポリシーの詳細の取得

最小アクセス許可

ポリシーの詳細を表示するには、次のアクセス権限が必要です。

  • 指定されたポリシー (または "*") の ARN を含む同じポリシーステートメントの Resource 要素を持つ organizations:DescribePolicy

ポリシーの詳細を取得するには
  1. AWS Organizations コンソールにサインインします。組織の管理アカウントで、IAM ユーザーとしてサインインするか、IAM ロールを引き受けるか、ルートユーザーとしてサインインする (推奨されません) 必要があります。

  2. ポリシーページで、確認するポリシーのポリシータイプを選択してから、ポリシーの名前を選択します。

    ポリシーページには、ARN、説明、アタッチメントなど、ポリシーに関する利用可能な情報が表示されます。

    • [Content] (コンテンツ) タブには、ポリシーの現在の内容が JSON 形式で表示されます。

    • [Targets] (ターゲット) タブには、ポリシーがアタッチされているルート、OU、およびアカウントの一覧が表示されます。

    • [Tags] (タグ) タブには、ポリシーにアタッチされたタグが表示されます。注: [Tags] (タグ) タブは、AWS 管理ポリシーでは使用できません。

    ポリシーを編集するには、[Edit policy] (ポリシーの編集) を選択します。編集要件はポリシータイプごとに異なるため、指定したポリシータイプのポリシーの作成および更新手順を参照してください。

以下のコード例は、DescribePolicy の使用方法を示しています。

CLI
AWS CLI

ポリシーに関する情報を取得するには

次の例は、ポリシーに関する情報をリクエストする方法を示しています。

aws organizations describe-policy --policy-id p-examplepolicyid111

出力には、ポリシーの詳細を含むポリシーオブジェクトが含まれます。

{ "Policy": { "Content": "{\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Effect\": \"Allow\",\n \"Action\": \"*\",\n \"Resource\": \"*\"\n }\n ]\n}", "PolicySummary": { "Arn": "arn:aws:organizations::111111111111:policy/o-exampleorgid/service_control_policy/p-examplepolicyid111", "Type": "SERVICE_CONTROL_POLICY", "Id": "p-examplepolicyid111", "AwsManaged": false, "Name": "AllowAllS3Actions", "Description": "Enables admins to delegate S3 permissions" } } }
  • API の詳細については、AWS CLI コマンドリファレンスの「DescribePolicy」を参照してください。

Python
SDK for Python (Boto3)
注記

GitHub には、その他のリソースもあります。用例一覧を検索し、AWS コード例リポジトリでの設定と実行の方法を確認してください。

def describe_policy(policy_id, orgs_client): """ Describes a policy. :param policy_id: The ID of the policy to describe. :param orgs_client: The Boto3 Organizations client. :return: The description of the policy. """ try: response = orgs_client.describe_policy(PolicyId=policy_id) policy = response["Policy"] logger.info("Got policy %s.", policy_id) except ClientError: logger.exception("Couldn't get policy %s.", policy_id) raise else: return policy
  • API の詳細については、AWS SDK for Python (Boto3) API リファレンスの「DescribePolicy」を参照してください。