

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# のアイデンティティベースのポリシーの例 AWS Config
<a name="security_iam_id-based-policy-examples"></a>

デフォルトでは、 ユーザーおよびロールには、 AWS Config リソースを作成または変更する権限はありません。IAM 管理者は、リソースで必要なアクションを実行するための権限をユーザーに付与する IAM ポリシーを作成できます。

これらのサンプルの JSON ポリシードキュメントを使用して IAM アイデンティティベースのポリシーを作成する方法については、「*IAM ユーザーガイド*」の「[IAM ポリシーを作成する (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)」を参照してください。

各リソースタイプの ARN の形式など AWS Config、 で定義されるアクションとリソースタイプの詳細については、*「サービス認可リファレンス*」の[「 のアクション、リソース、および条件キー AWS Config](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsconfig.html)」を参照してください。 ARNs 

**Topics**
+ [ポリシーに関するベストプラクティス](#security_iam_service-with-iam-policy-best-practices)
+ [にサインアップする AWS アカウント](#sign-up-for-aws)
+ [管理アクセスを持つユーザーを作成する](#create-an-admin)
+ [コンソールを使用する](#security_iam_id-based-policy-examples-console)
+ [自分の権限の表示をユーザーに許可する](#security_iam_id-based-policy-examples-view-own-permissions)
+ [への読み取り専用アクセス AWS Config](#read-only-config-permission)
+ [へのフルアクセス AWS Config](#full-config-permission)
+ [AWS Config ルールへのアクセスの制御](#supported-resource-level-permissions)
+ [集約データへのアクセスの制御](#resource-level-permission)

## ポリシーに関するベストプラクティス
<a name="security_iam_service-with-iam-policy-best-practices"></a>

ID ベースのポリシーは、アカウント内の AWS Config リソースを誰かが作成、アクセス、または削除できるかどうかを決定します。これらのアクションでは、 AWS アカウントに費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
+ ** AWS 管理ポリシーを開始し、最小特権のアクセス許可に移行する** – ユーザーとワークロードにアクセス許可の付与を開始するには、多くの一般的なユースケースにアクセス許可を付与する*AWS 管理ポリシー*を使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、*IAM ユーザーガイド* の [AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) または [ジョブ機能のAWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) を参照してください。
+ **最小特権を適用する** – IAM ポリシーでアクセス許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、*IAM ユーザーガイド* の [IAM でのポリシーとアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) を参照してください。
+ **IAM ポリシーで条件を使用してアクセスをさらに制限する** - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。たとえば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、サービスアクションが などの特定の を通じて使用されている場合に AWS のサービス、サービスアクションへのアクセスを許可することもできます CloudFormation。詳細については、*IAM ユーザーガイド* の [IAM JSON ポリシー要素:条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) を参照してください。
+ **IAM アクセスアナライザー を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する** - IAM アクセスアナライザー は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、*IAM ユーザーガイド* の [IAM Access Analyzer でポリシーを検証する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) を参照してください。
+ **多要素認証 (MFA) を要求する** – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、セキュリティを強化するために MFA を有効にします。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、*IAM ユーザーガイド* の [MFA を使用した安全な API アクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) を参照してください。

IAM でのベストプラクティスの詳細については、*IAM ユーザーガイド* の [IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) を参照してください。

## にサインアップする AWS アカウント
<a name="sign-up-for-aws"></a>

がない場合は AWS アカウント、次の手順を実行して作成します。

**にサインアップするには AWS アカウント**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup) を開きます。

1. オンラインの手順に従います。

   サインアップ手順の一環として、電話またはテキストメッセージを受け取り、電話キーパッドで検証コードを入力します。

   にサインアップすると AWS アカウント、 *AWS アカウントのルートユーザー* が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティベストプラクティスとして、ユーザーに管理アクセス権を割り当て、[ルートユーザーアクセスが必要なタスク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)の実行にはルートユーザーのみを使用するようにしてください。

AWS サインアッププロセスが完了すると、 から確認メールが送信されます。[https://aws.amazon.com/](https://aws.amazon.com/) の **[マイアカウント]** をクリックして、いつでもアカウントの現在のアクティビティを表示し、アカウントを管理することができます。

## 管理アクセスを持つユーザーを作成する
<a name="create-an-admin"></a>

にサインアップしたら AWS アカウント、日常的なタスクにルートユーザーを使用しないように AWS アカウントのルートユーザー、 のセキュリティを確保し AWS IAM アイデンティティセンター、 を有効にして管理ユーザーを作成します。

**を保護する AWS アカウントのルートユーザー**

1.  **ルートユーザー**を選択し、 AWS アカウント E メールアドレスを入力して、アカウント所有者[AWS マネジメントコンソール](https://console.aws.amazon.com/)として にサインインします。次のページでパスワードを入力します。

   ルートユーザーを使用してサインインする方法については、「*AWS サインイン ユーザーガイド*」の「[ルートユーザーとしてサインインする](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)」を参照してください。

1. ルートユーザーの多要素認証 (MFA) を有効にします。

   手順については、*IAM* [ユーザーガイドの AWS アカウント 「ルートユーザー (コンソール) の仮想 MFA デバイス](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)を有効にする」を参照してください。

**管理アクセスを持つユーザーを作成する**

1. IAM アイデンティティセンターを有効にします。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[AWS IAM アイデンティティセンターの有効化](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)」を参照してください。

1. IAM アイデンティティセンターで、ユーザーに管理アクセスを付与します。

   を ID ソース IAM アイデンティティセンターディレクトリ として使用する方法のチュートリアルについては、「 *AWS IAM アイデンティティセンター ユーザーガイド*」の[「デフォルトを使用してユーザーアクセスを設定する IAM アイデンティティセンターディレクトリ](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)」を参照してください。

**管理アクセス権を持つユーザーとしてサインインする**
+ IAM アイデンティティセンターのユーザーとしてサインインするには、IAM アイデンティティセンターのユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。

  IAM Identity Center ユーザーを使用してサインインする方法については、*AWS サインイン 「 ユーザーガイド*[」の AWS 「 アクセスポータルにサインイン](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)する」を参照してください。

**追加のユーザーにアクセス権を割り当てる**

1. IAM アイデンティティセンターで、最小特権のアクセス許可を適用するというベストプラクティスに従ったアクセス許可セットを作成します。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)」を参照してください。

1. グループにユーザーを割り当て、そのグループにシングルサインオンアクセス権を割り当てます。

   手順については、「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[グループを追加する](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)」を参照してください。

## AWS Config コンソールの使用
<a name="security_iam_id-based-policy-examples-console"></a>

 AWS Config コンソールにアクセスするには、最小限のアクセス許可のセットが必要です。これらのアクセス許可により、 の AWS Config リソースの詳細を一覧表示および表示できます AWS アカウント。最小限必要な許可よりも制限が厳しいアイデンティティベースのポリシーを作成すると、そのポリシーを持つエンティティ (ユーザーまたはロール) に対してコンソールが意図したとおりに機能しません。

 AWS CLI または AWS API のみを呼び出すユーザーには、最小限のコンソールアクセス許可を付与する必要はありません。代わりに、実行しようとしている API オペレーションに一致するアクションのみへのアクセスが許可されます。

ユーザーとロールが引き続き AWS Config コンソールを使用できるようにするには、エンティティに 管理ポリシーもアタッチ AWS Config `AWSConfigUserAccess` AWS します。詳細については、「*IAM ユーザーガイド*」の「[ユーザーへのアクセス許可の追加](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)」を参照してください。

とやり取りするためのアクセス許可をユーザーに付与する必要があります AWS Config。へのフルアクセスを必要とするユーザーの場合は AWS Config、 管理ポリシー[へのフルアクセス AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/security_iam_id-based-policy-examples.html#full-config-permission)を使用します。

アクセスを提供するには、ユーザー、グループ、またはロールにアクセス許可を追加します。
+ のユーザーとグループ AWS IAM アイデンティティセンター:

  アクセス許可セットを作成します。「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)」の手順に従ってください。
+ IAM 内で、ID プロバイダーによって管理されているユーザー:

  ID フェデレーションのロールを作成します。詳細については *IAM ユーザーガイド* の [サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) を参照してください。
+ IAM ユーザー:
  + ユーザーが担当できるロールを作成します。手順については *IAM ユーザーガイド* の [IAM ユーザーのロールの作成](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) を参照してください。
  + (お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加します。詳細については、「IAM ユーザーガイド**」の「[ユーザー (コンソール) へのアクセス権限の追加](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)」を参照してください。

## 自分の権限の表示をユーザーに許可する
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

この例では、ユーザーアイデンティティにアタッチされたインラインおよびマネージドポリシーの表示を IAM ユーザーに許可するポリシーの作成方法を示します。このポリシーには、コンソールで、または AWS CLI または AWS API を使用してプログラムでこのアクションを実行するアクセス許可が含まれています。

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## への読み取り専用アクセス AWS Config
<a name="read-only-config-permission"></a>

次の例は、 への読み取り専用アクセス`AWSConfigUserAccess`を許可する AWS マネージドポリシーを示しています AWS Config。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "config:Get*",
        "config:Describe*",
        "config:Deliver*",
        "config:List*",
        "config:Select*",
        "tag:GetResources",
        "tag:GetTagKeys",
        "cloudtrail:DescribeTrails",
        "cloudtrail:GetTrailStatus",
        "cloudtrail:LookupEvents"
      ],
      "Resource": "*"
    }
  ]
}
```

------

このポリシーステートメントの `Effect` 要素で、アクションが許可されるか拒否されるかを指定します。`Action` 要素には、ユーザーによる実行を許可する特定のアクションを指定します。`Resource` 要素には、ユーザーがこれらのアクションを実行できる AWS リソースが一覧表示されます。 AWS Config アクションへのアクセスを制御するポリシーの場合、 `Resource`要素は常に に設定されます。`*`これは「すべてのリソース」を意味するワイルドカードです。

`Action` 要素の値は、サービスがサポートする API に対応しています。アクションの前に が付き`config:`、 AWS Config アクションを参照していることを示します。次の例に示すように、`*` ワイルドカード文字を `Action` 要素で使用できます。
+ `"Action": ["config:*ConfigurationRecorder"]`

  これにより、ConfigurationRecorder」 (`StartConfigurationRecorder`、) で終わるすべての AWS Config アクションが許可されます`StopConfigurationRecorder`。
+ `"Action": ["config:*"]`

  これにより、すべての AWS Config アクションが許可されますが、他の AWS サービスのアクションは許可されません。
+ `"Action": ["*"]`

  これにより、すべての AWS アクションが許可されます。このアクセス許可は、アカウントの AWS 管理者として機能するユーザーに適しています。

読み取り専用ポリシーでは、`StartConfigurationRecorder`、`StopConfigurationRecorder`、`DeleteConfigurationRecorder` などのアクションに対するアクセス許可をユーザーに付与することはできません。このポリシーを持つユーザーが、設定レコーダーの開始、停止、または削除を行うことはできません。 AWS Config アクションのリストについては、 [AWS Config API リファレンス](https://docs.aws.amazon.com/config/latest/APIReference/)を参照してください。

## へのフルアクセス AWS Config
<a name="full-config-permission"></a>

次の例は、 へのフルアクセスを許可するポリシーを示しています AWS Config。これにより、すべての AWS Config アクションを実行するアクセス許可がユーザーに付与されます。また、Amazon S3 バケットのファイルの管理や、ユーザーが関連付けられているアカウントの Amazon SNS トピックの管理も行うことができます。

**重要**  
このポリシーによって、広範なアクセスが許可されます。フルアクセスを付与する前にまず最小限のアクセス許可から開始し、必要に応じて追加のアクセス許可を付与することを検討してください。この方法は、寛容なアクセス許可から開始して、後でそれを厳しくするよりも安全です。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sns:AddPermission",
                "sns:CreateTopic",
                "sns:DeleteTopic",
                "sns:GetTopicAttributes",
                "sns:ListPlatformApplications",
                "sns:ListTopics",
                "sns:SetTopicAttributes"
            ],
            "Resource": "*"   
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:GetBucketNotification",
                "s3:GetBucketPolicy",
                "s3:GetBucketRequestPayment",
                "s3:GetBucketVersioning",
                "s3:ListAllMyBuckets",
                "s3:ListBucket",
                "s3:ListBucketMultipartUploads",
                "s3:ListBucketVersions",
                "s3:PutBucketPolicy"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:CreateRole",
                "iam:GetRole",
                "iam:GetRolePolicy",
                "iam:ListRolePolicies",
                "iam:ListRoles",
                "iam:PutRolePolicy",
                "iam:AttachRolePolicy",
                "iam:CreatePolicy",
                "iam:CreatePolicyVersion",
                "iam:DeletePolicyVersion",
                "iam:CreateServiceLinkedRole"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "config.amazonaws.com",
                        "ssm.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudtrail:DescribeTrails",
                "cloudtrail:GetTrailStatus",
                "cloudtrail:LookupEvents"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "config:*",
                "tag:Get*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeDocument",
                "ssm:GetDocument",
                "ssm:DescribeAutomationExecutions",
                "ssm:GetAutomationExecution",
                "ssm:ListDocuments",
                "ssm:StartAutomationExecution"
            ],
            "Resource": "*"
        }
        
    ]
}
```

------

## AWS Config ルール API アクションでサポートされているリソースレベルのアクセス許可
<a name="supported-resource-level-permissions"></a>

リソースレベルのアクセス許可とは、ユーザーがアクションを実行できるリソースを指定する機能を指します。 は、特定の AWS Config ルール API アクションのリソースレベルのアクセス許可 AWS Config をサポートします。つまり、特定の AWS Config ルールアクションでは、ユーザーがそれらのアクションを使用できる条件を制御できます。これらの条件には、アクションの要件や、ユーザーが使用できる特定のリソースなどがあります。

次の表は、現在リソースレベルのアクセス許可をサポートしている AWS Config ルール API アクションを示しています。各アクションでサポートされるリソースとその ARN についても説明しています。ARN の指定時、正確なリソース ID を指定できない (したくない) 場合などに、パスに \$1 ワイルドカードを使用できます。

**重要**  
 AWS Config ルール API アクションがこのテーブルにリストされていない場合、リソースレベルのアクセス許可はサポートされていません。 AWS Config ルールアクションがリソースレベルのアクセス許可をサポートしていない場合は、アクションを使用するアクセス許可をユーザーに付与できますが、ポリシーステートメントのリソース要素に \$1 を指定する必要があります。


****  

| API アクション | リソース | 
| --- | --- | 
| DeleteConfigRule | Config ルール arn:aws:config:*region:accountID*:config-rule/config-rule-*ID* | 
| DeleteEvaluationResults | Config ルール arn:aws:config:*region:accountID*:config-rule/config-rule-*ID* | 
| DescribeComplianceByConfigRule | Config ルール arn:aws:config:*region:accountID*:config-rule/config-rule-*ID* | 
| DescribeConfigRuleEvaluationStatus | Config ルール arn:aws:config:*region:accountID*:config-rule/config-rule-*ID* | 
| GetComplianceDetailsByConfigRule | Config ルール arn:aws:config:*region:accountID*:config-rule/config-rule-*ID* | 
| PutConfigRule | Config ルール arn:aws:config:*region:accountID*:config-rule/config-rule-*ID* | 
| StartConfigRulesEvaluation | Config ルール arn:aws:config:*region:accountID*:config-rule/config-rule-*ID* | 
| PutRemediationConfigurations | 修復の設定 arn:aws:config:*region:accountId*:remediation-configuration/*config rule name/remediation configuration id* | 
| DescribeRemediationConfigurations | 修復の設定 arn:aws:config:*region:accountId*:remediation-configuration/*config rule name/remediation configuration id* | 
| DeleteRemediationConfiguration | 修復の設定 arn:aws:config:*region:accountId*:remediation-configuration/*config rule name/remediation configuration id* | 
| PutRemediationExceptions | 修復の設定 arn:aws:config:*region:accountId*:remediation-configuration/*config rule name/remediation configuration id* | 
| DescribeRemediationExceptions | 修復の設定 arn:aws:config:*region:accountId*:remediation-configuration/*config rule name/remediation configuration id* | 
| DeleteRemediationExceptions | 修復の設定 arn:aws:config:*region:accountId*:remediation-configuration/*config rule name/remediation configuration id* | 

例えば、特定のルールで特定のユーザーに読み取りアクセスを許可して、書き込みアクセスを拒否するとします。

最初のポリシーでは、指定した AWS Config ルール`DescribeConfigRuleEvaluationStatus`で などの読み取りアクションをルールに許可します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "config:StartConfigRulesEvaluation",
                "config:DescribeComplianceByConfigRule",
                "config:DescribeConfigRuleEvaluationStatus",
                "config:GetComplianceDetailsByConfigRule"
            ],
            "Resource": [
                "arn:aws:config:us-east-1:123456789012:config-rule/config-rule-ID",
                "arn:aws:config:us-east-1:123456789012:config-rule/config-rule-ID"
            ]
        }
    ]
}
```

------

2 番目のポリシーでは、特定の AWS Config ルールに対するルール書き込みアクションを拒否します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Deny",
            "Action": [
                "config:PutConfigRule",
                "config:DeleteConfigRule",
                "config:DeleteEvaluationResults"
            ],
            "Resource": "arn:aws:config:us-east-1:123456789012:config-rule/config-rule-ID"
        }
    ]
}
```

------

リソースレベルのアクセス許可を使用すると、読み取りアクセスを許可し、書き込みアクセスを拒否して、 AWS Config ルール API アクションに対して特定のアクションを実行できます。

## マルチアカウント、マルチリージョンのデータ集約でサポートされるリソースレベルのアクセス許可。
<a name="resource-level-permission"></a>

ユーザーがマルチアカウントマルチリージョンのデータ集約に対して特定のアクションを実行する機能を管理するには、リソースレベルのアクセス許可を使用します。次の AWS Config `Aggregator` APIsリソースレベルのアクセス許可をサポートしています。
+ [BatchGetAggregateResourceConfig](https://docs.aws.amazon.com/config/latest/APIReference/API_BatchGetAggregateResourceConfig.html)
+ [DeleteConfigurationAggregator](https://docs.aws.amazon.com/config/latest/APIReference/API_DeleteConfigurationAggregator.html)
+ [DescribeAggregateComplianceByConfigRules](https://docs.aws.amazon.com/config/latest/APIReference/API_DescribeAggregateComplianceByConfigRules.html)
+ [DescribeAggregateComplianceByConformancePacks](https://docs.aws.amazon.com/config/latest/APIReference/API_DescribeAggregateComplianceByConformancePacks.html)
+ [DescribeConfigurationAggregatorSourcesStatus](https://docs.aws.amazon.com/config/latest/APIReference/API_DescribeConfigurationAggregatorSourcesStatus.html)
+ [GetAggregateComplianceDetailsByConfigRule](https://docs.aws.amazon.com/config/latest/APIReference/API_GetAggregateComplianceDetailsByConfigRule.html)
+ [GetAggregateConfigRuleComplianceSummary](https://docs.aws.amazon.com/config/latest/APIReference/API_GetAggregateConfigRuleComplianceSummary.html)
+ [GetAggregateConformancePackComplianceSummary](https://docs.aws.amazon.com/config/latest/APIReference/API_GetAggregateConformancePackComplianceSummary.html)
+ [GetAggregateDiscoveredResourceCounts](https://docs.aws.amazon.com/config/latest/APIReference/API_GetAggregateDiscoveredResourceCounts.html)
+ [GetAggregateResourceConfig](https://docs.aws.amazon.com/config/latest/APIReference/API_GetAggregateResourceConfig.html)
+ [ListAggregateDiscoveredResources](https://docs.aws.amazon.com/config/latest/APIReference/API_ListAggregateDiscoveredResources.html)
+ [PutConfigurationAggregator](https://docs.aws.amazon.com/config/latest/APIReference/API_PutConfigurationAggregator.html)
+ [SelectAggregateResourceConfig](https://docs.aws.amazon.com/config/latest/APIReference/API_SelectAggregateResourceConfig.html)

例えば、2 つのアグリゲーター `AccessibleAggregator` および `InAccessibleAggregator` を作成し、`AccessibleAggregator` へのアクセスを許可するが、`InAccessibleAggregator` へのアクセスは拒否する IAM ポリシーをアタッチすることで、特定のユーザーからのリソースデータへのアクセスを制限できます。

**AccessibleAggregator の IAM ポリシー**

このポリシーでは、指定した AWS Config Amazon リソースネーム (ARN) に対してサポートされているアグリゲーターアクションへのアクセスを許可します。この例では、 AWS Config ARN は です`arn:aws:config:ap-northeast-1:AccountID:config-aggregator/config-aggregator-mocpsqhs`。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ConfigAllow",
            "Effect": "Allow",
            "Action": [
                "config:BatchGetAggregateResourceConfig",
                "config:DeleteConfigurationAggregator",
                "config:DescribeAggregateComplianceByConfigRules",
                "config:DescribeAggregateComplianceByConformancePacks",
                "config:DescribeConfigurationAggregatorSourcesStatus",
                "config:GetAggregateComplianceDetailsByConfigRule",
                "config:GetAggregateConfigRuleComplianceSummary",
                "config:GetAggregateConformancePackComplianceSummary",
                "config:GetAggregateDiscoveredResourceCounts",
                "config:GetAggregateResourceConfig",
                "config:ListAggregateDiscoveredResources",
                "config:PutConfigurationAggregator",
                "config:SelectAggregateResourceConfig"
            ],
            "Resource": "arn:aws:config:ap-northeast-1:111122223333:config-aggregator/config-aggregator-mocpsqhs"
        }
    ]
}
```

------

**InAccessibleAggregator の IAM ポリシー**

このポリシーでは、指定した AWS Config ARN に対してサポートされているアグリゲーターアクションへのアクセスを拒否します。この例では、 AWS Config ARN は です`arn:aws:config:ap-northeast-1:AccountID:config-aggregator/config-aggregator-pokxzldx`。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ConfigDeny",
            "Effect": "Deny",
            "Action": [
                "config:BatchGetAggregateResourceConfig",
                "config:DeleteConfigurationAggregator",
                "config:DescribeAggregateComplianceByConfigRules",
                "config:DescribeAggregateComplianceByConformancePacks",
                "config:DescribeConfigurationAggregatorSourcesStatus",
                "config:GetAggregateComplianceDetailsByConfigRule",
                "config:GetAggregateConfigRuleComplianceSummary",
                "config:GetAggregateConformancePackComplianceSummary",
                "config:GetAggregateDiscoveredResourceCounts",
                "config:GetAggregateResourceConfig",
                "config:ListAggregateDiscoveredResources",
                "config:PutConfigurationAggregator",
                "config:SelectAggregateResourceConfig"
            ],
            "Resource": "arn:aws:config:ap-northeast-1:111122223333:config-aggregator/config-aggregator-pokxzldx"
        }
    ]
}
```

------

デベロッパーグループのユーザーが、指定した AWS Config ARN でこれらのいずれかのアクションの実行を試みた場合、そのユーザーはアクセス拒否の例外を受け取ります。

**ユーザーのアクセス許可の確認**

作成したアグリゲーターを表示するには、次の AWS CLI コマンドを実行します。

```
aws configservice describe-configuration-aggregators
```

コマンドが正常に完了すると、アカウントに関連付けられているすべてのアグリゲーターの詳細を確認できます。この例では、`AccessibleAggregator` および `InAccessibleAggregator` のようになります。

```
{
    "ConfigurationAggregators": [
        {
            "ConfigurationAggregatorArn": "arn:aws:config:ap-northeast-1:AccountID:config-aggregator/config-aggregator-mocpsqhs",
            "CreationTime": 1517942461.442,
            "ConfigurationAggregatorName": "AccessibleAggregator",
            "AccountAggregationSources": [
                {
                    "AllAwsRegions": true,
                    "AccountIds": [
                        "AccountID1",
                        "AccountID2",
                        "AccountID3"
                    ]
                }
            ],
            "LastUpdatedTime": 1517942461.455
        },
        {
            "ConfigurationAggregatorArn": "arn:aws:config:ap-northeast-1:AccountID:config-aggregator/config-aggregator-pokxzldx",
            "CreationTime": 1517942461.442,
            "ConfigurationAggregatorName": "InAccessibleAggregator",
            "AccountAggregationSources": [
                {
                    "AllAwsRegions": true,
                    "AccountIds": [
                        "AccountID1",
                        "AccountID2",
                        "AccountID3"
                    ]
                }
            ],
            "LastUpdatedTime": 1517942461.455
        }
    ]
}
```

**注記**  
`account-aggregation-sources` に、データを集約する AWS アカウント ID のカンマ区切りリストを入力します。アカウント ID を角括弧で囲み、必ず疑問符をエスケープします (例: `"[{\"AccountIds\": [\"AccountID1\",\"AccountID2\",\"AccountID3\"],\"AllAwsRegions\": true}]"`)。

`InAccessibleAggregator` へのアクセス、またはアクセス先となるアグリゲータを拒否するには、次の IAM ポリシーをアタッチします。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ConfigDeny",
            "Effect": "Deny",
            "Action": [
                "config:BatchGetAggregateResourceConfig",
                "config:DeleteConfigurationAggregator",
                "config:DescribeAggregateComplianceByConfigRules",
                "config:DescribeAggregateComplianceByConformancePacks",
                "config:DescribeConfigurationAggregatorSourcesStatus",
                "config:GetAggregateComplianceDetailsByConfigRule",
                "config:GetAggregateConfigRuleComplianceSummary",
                "config:GetAggregateConformancePackComplianceSummary",
                "config:GetAggregateDiscoveredResourceCounts",
                "config:GetAggregateResourceConfig",
                "config:ListAggregateDiscoveredResources",
                "config:PutConfigurationAggregator",
                "config:SelectAggregateResourceConfig"
            ],
            "Resource": "arn:aws:config:ap-northeast-1:111122223333:config-aggregator/config-aggregator-pokxzldx"
        }
    ]
}
```

------

次に、特定のアグリゲータのルールへのアクセスを制限する IAM ポリシーが動作していることを確認できます。

```
aws configservice get-aggregate-compliance-details-by-config-rule --configuration-aggregator-name InAccessibleAggregator --config-rule-name rule name --account-id AccountID --aws-region AwsRegion
```

このコマンドではアクセス拒否の例外が返されます。

```
An error occurred (AccessDeniedException) when calling the GetAggregateComplianceDetailsByConfigRule operation: User: arn:aws:iam::AccountID:user/ is not 
authorized to perform: config:GetAggregateComplianceDetailsByConfigRule on resource: arn:aws:config:AwsRegion-1:AccountID:config-aggregator/config-aggregator-pokxzldx
```