

# 조건 키를 사용하여 Contributor Insights 사용자의 로그 그룹 액세스 제한
<a name="iam-cw-condition-keys-contributor"></a>

Contributor Insights에서 규칙을 생성하고 그 결과를 확인하려면 사용자에게 `cloudwatch:PutInsightRule` 권한이 있어야 합니다. 기본적으로 이 권한이 있는 사용자는 CloudWatch Logs의 로그 그룹을 평가하는 Contributor Insights 규칙을 생성한 다음, 결과를 확인할 수 있습니다. 결과에는 해당 로그 그룹의 기여자 데이터가 포함될 수 있습니다.

조건 키를 사용해 IAM 정책을 생성하여 사용자에게 일부 로그 그룹에 대한 Contributor Insights 규칙을 쓸 수 있는 권한을 부여하는 동시에 다른 로그 그룹에 대한 규칙을 쓰고 이 데이터를 보는 것을 방지할 수 있습니다.

 IAM 정책의 `Condition` 요소에 대한 자세한 내용은 [IAM JSON 정책 요소: Condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) 단원을 참조하세요.

**특정 로그 그룹에 대해서만 규칙을 쓰고 결과를 볼 수 있는 액세스 권한 허용**

다음 정책은 사용자에게 `AllowedLogGroup`이라는 로그 그룹과 이름이 `AllowedWildCard`로 시작하는 모든 로그 그룹에 대한 규칙을 쓰고 결과를 볼 수 있는 액세스 권한을 허용합니다. 다른 로그 그룹에 대한 규칙을 쓰거나 규칙 결과를 볼 수 있는 액세스 권한은 부여하지 않습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCertainLogGroups",
            "Effect": "Allow",
            "Action": "cloudwatch:PutInsightRule",
            "Resource": "arn:aws:cloudwatch:*:*:insight-rule/*",
            "Condition": {
                "ForAllValues:StringEqualsIgnoreCase": {
                    "cloudwatch:requestInsightRuleLogGroups": [
                        "AllowedLogGroup",
                        "AllowedWildcard*"
                    ]
                }
            }
        }
    ]
}
```

------

**특정 로그 그룹에 대한 규칙 쓰기는 거부하지만 다른 모든 로그 그룹에 대한 규칙 쓰기는 허용**

다음 정책은 사용자에게 `ExplicitlyDeniedLogGroup`이라는 로그 그룹에 대한 규칙 쓰기 및 규칙 결과 보기 액세스 권한을 명시적으로 거부하지만 다른 모든 로그 그룹에 대한 규칙 쓰기 및 규칙 결과 보기는 허용합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowInsightRulesOnLogGroupsByDefault",
            "Effect": "Allow",
            "Action": "cloudwatch:PutInsightRule",
            "Resource": "arn:aws:cloudwatch:*:*:insight-rule/*"
          
        },
        {
            "Sid": "ExplicitDenySomeLogGroups",
            "Effect": "Deny",
            "Action": "cloudwatch:PutInsightRule",
            "Resource": "arn:aws:cloudwatch:*:*:insight-rule/*",
            "Condition": {
                "ForAllValues:StringEqualsIgnoreCase": {
                    "cloudwatch:requestInsightRuleLogGroups": [
                        "/test/alpine/ExplicitlyDeniedLogGroup"
                    ]
                }
            }
        }
    ]
}
```

------