

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 1단계: OpenSearch Service와의 통합 생성
<a name="OpenSearch-Dashboards-Integrate"></a>

첫 번째 단계는 OpenSearch Service와의 통합을 생성하는 것으로, 한 번만 수행하면 됩니다. 통합을 생성하면 계정에 다음과 같은 리소스가 생성됩니다.
+ 고가용성이 없는 **[OpenSearch Service 시계열 컬렉션](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-collections.html)**입니다.

  컬렉션은 워크로드를 지원하기 위해 함께 작동하는 OpenSearch Service *인덱스* 집합입니다.
+ 컬렉션에 대한 **두 가지 보안 정책**. 하나는 고객 관리형 AWS KMS 키 또는 서비스 소유 키를 사용하는 암호화 유형을 정의합니다. 다른 정책은 네트워크 액세스를 정의하여 OpenSearch Service 애플리케이션이 컬렉션에 액세스할 수 있도록 허용합니다. 자세한 내용은 [Encryption of data at rest for Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html)를 참조하세요.
+ 컬렉션의 데이터에 액세스할 수 있는 사용자를 정의하는 **[OpenSearch Service 데이터 액세스 정책](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html)**.
+ CloudWatch Logs가 소스로 정의된 **[OpenSearch Service 다이렉트 쿼리 데이터 소스](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/direct-query-s3.html)**.
+ 이름이 `aws-analytics`인 **[OpenSearch Service 애플리케이션](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/application.html)**. 워크스페이스 생성을 허용하도록 애플리케이션이 구성됩니다. 이름이 `aws-analytics`인 애플리케이션이 이미 있는 경우이 컬렉션을 데이터 소스로 추가하도록 업데이트됩니다.
+ 대시보드를 호스팅하고 워크스페이스에서 읽을 수 있는 액세스 권한이 부여된 모든 사용자를 허용하는 **[OpenSearch Service 워크스페이스](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/application.html)**.

**Topics**
+ [

## 필수 권한
](#OpenSearch-Dashboards-Perms)
+ [

## 통합 생성
](#OpenSearch-Dashboards-Procedure)

## 필수 권한
<a name="OpenSearch-Dashboards-Perms"></a>

통합을 생성하려면 여기에 표시된 **CloudWatchOpenSearchDashboardsFullAccess** 관리형 IAM 정책 또는 동등한 권한이 있는 계정에 로그인해야 합니다. 통합을 삭제하고, 대시보드를 생성, 편집 및 삭제하고, 대시보드를 수동으로 새로 고치려면 이러한 권한이 있어야 합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "CloudWatchOpenSearchDashboardsIntegration",
            "Effect": "Allow",
            "Action": [
                "logs:ListIntegrations",
                "logs:GetIntegration",
                "logs:DeleteIntegration",
                "logs:PutIntegration",
                "logs:DescribeLogGroups",
                "opensearch:ApplicationAccessAll",
                "iam:ListRoles",
                "iam:ListUsers"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CloudWatchLogsOpensearchReadAPIs",
            "Effect": "Allow",
            "Action": [
                "aoss:BatchGetCollection",
                "aoss:BatchGetLifecyclePolicy",
                "es:ListApplications"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:CalledViaFirst": "logs.amazonaws.com"
                }
            }
        },
        {
            "Sid": "CloudWatchLogsOpensearchCreateServiceLinkedAccess",
            "Effect": "Allow",
            "Action": [
                "iam:CreateServiceLinkedRole"
            ],
            "Resource": "arn:aws:iam::*:role/aws-service-role/opensearchservice.amazonaws.com/AWSServiceRoleForAmazonOpenSearchService",
            "Condition": {
                "StringEquals": {
                    "iam:AWSServiceName": "opensearchservice.amazonaws.com",
                    "aws:CalledViaFirst": "logs.amazonaws.com"
                }
            }
        },
        {
            "Sid": "CloudWatchLogsObservabilityCreateServiceLinkedAccess",
            "Effect": "Allow",
            "Action": [
                "iam:CreateServiceLinkedRole"
            ],
            "Resource": "arn:aws:iam::*:role/aws-service-role/observability.aoss.amazonaws.com/AWSServiceRoleForAmazonOpenSearchServerless",
            "Condition": {
                "StringEquals": {
                    "iam:AWSServiceName": "observability.aoss.amazonaws.com",
                    "aws:CalledViaFirst": "logs.amazonaws.com"
                }
            }
        },
        {
            "Sid": "CloudWatchLogsCollectionRequestAccess",
            "Effect": "Allow",
            "Action": [
                "aoss:CreateCollection"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:CalledViaFirst": "logs.amazonaws.com",
                    "aws:RequestTag/CloudWatchOpenSearchIntegration": [
                        "Dashboards"
                    ]
                },
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": "CloudWatchOpenSearchIntegration"
                }
            }
        },
        {
            "Sid": "CloudWatchLogsApplicationRequestAccess",
            "Effect": "Allow",
            "Action": [
                "es:CreateApplication"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:CalledViaFirst": "logs.amazonaws.com",
                    "aws:RequestTag/OpenSearchIntegration": [
                        "Dashboards"
                    ]
                },
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": "OpenSearchIntegration"
                }
            }
        },
        {
            "Sid": "CloudWatchLogsCollectionResourceAccess",
            "Effect": "Allow",
            "Action": [
                "aoss:DeleteCollection"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:CalledViaFirst": "logs.amazonaws.com",
                    "aws:ResourceTag/CloudWatchOpenSearchIntegration": [
                        "Dashboards"
                    ]
                }
            }
        },
        {
            "Sid": "CloudWatchLogsApplicationResourceAccess",
            "Effect": "Allow",
            "Action": [
                "es:UpdateApplication",
                "es:GetApplication"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:CalledViaFirst": "logs.amazonaws.com",
                    "aws:ResourceTag/OpenSearchIntegration": [
                        "Dashboards"
                    ]
                }
            }
        },
        {
            "Sid": "CloudWatchLogsCollectionPolicyAccess",
            "Effect": "Allow",
            "Action": [
                "aoss:CreateSecurityPolicy",
                "aoss:CreateAccessPolicy",
                "aoss:DeleteAccessPolicy",
                "aoss:DeleteSecurityPolicy",
                "aoss:GetAccessPolicy",
                "aoss:GetSecurityPolicy"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "aoss:collection": "cloudwatch-logs-*",
                    "aws:CalledViaFirst": "logs.amazonaws.com"
                }
            }
        },
        {
            "Sid": "CloudWatchLogsAPIAccessAll",
            "Effect": "Allow",
            "Action": [
                "aoss:APIAccessAll"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "aoss:collection": "cloudwatch-logs-*"
                }
            }
        },
        {
            "Sid": "CloudWatchLogsIndexPolicyAccess",
            "Effect": "Allow",
            "Action": [
                "aoss:CreateAccessPolicy",
                "aoss:DeleteAccessPolicy",
                "aoss:GetAccessPolicy",
                "aoss:CreateLifecyclePolicy",
                "aoss:DeleteLifecyclePolicy"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "aoss:index": "cloudwatch-logs-*",
                    "aws:CalledViaFirst": "logs.amazonaws.com"
                }
            }
        },
        {
            "Sid": "CloudWatchLogsDQSRequestQueryAccess",
            "Effect": "Allow",
            "Action": [
                "es:AddDirectQueryDataSource"
            ],
            "Resource": "arn:aws:opensearch:*:*:datasource/cloudwatch_logs_*",
            "Condition": {
                "StringEquals": {
                    "aws:CalledViaFirst": "logs.amazonaws.com",
                    "aws:RequestTag/CloudWatchOpenSearchIntegration": [
                        "Dashboards"
                    ]
                },
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": "CloudWatchOpenSearchIntegration"
                }
            }
        },
        {
            "Sid": "CloudWatchLogsStartDirectQueryAccess",
            "Effect": "Allow",
            "Action": [
                "opensearch:StartDirectQuery",
                "opensearch:GetDirectQuery"
            ],
            "Resource": "arn:aws:opensearch:*:*:datasource/cloudwatch_logs_*"
        },
        {
            "Sid": "CloudWatchLogsDQSResourceQueryAccess",
            "Effect": "Allow",
            "Action": [
                "es:GetDirectQueryDataSource",
                "es:DeleteDirectQueryDataSource"
            ],
            "Resource": "arn:aws:opensearch:*:*:datasource/cloudwatch_logs_*",
            "Condition": {
                "StringEquals": {
                    "aws:CalledViaFirst": "logs.amazonaws.com",
                    "aws:ResourceTag/CloudWatchOpenSearchIntegration": [
                        "Dashboards"
                    ]
                }
            }
        },
        {
            "Sid": "CloudWatchLogsPassRoleAccess",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": "directquery.opensearchservice.amazonaws.com",
                    "aws:CalledViaFirst": "logs.amazonaws.com"
                }
            }
        },
        {
            "Sid": "CloudWatchLogsAossTagsAccess",
            "Effect": "Allow",
            "Action": [
                "aoss:TagResource"
            ],
            "Resource": "arn:aws:aoss:*:*:collection/*",
            "Condition": {
                "StringEquals": {
                    "aws:CalledViaFirst": "logs.amazonaws.com",
                    "aws:ResourceTag/CloudWatchOpenSearchIntegration": [
                        "Dashboards"
                    ]
                },
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": "CloudWatchOpenSearchIntegration"
                }
            }
        },
        {
            "Sid": "CloudWatchLogsEsApplicationTagsAccess",
            "Effect": "Allow",
            "Action": [
                "es:AddTags"
            ],
            "Resource": "arn:aws:opensearch:*:*:application/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/OpenSearchIntegration": [
                        "Dashboards"
                    ],
                    "aws:CalledViaFirst": "logs.amazonaws.com"
                },
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": "OpenSearchIntegration"
                }
            }
        },
        {
            "Sid": "CloudWatchLogsEsDataSourceTagsAccess",
            "Effect": "Allow",
            "Action": [
                "es:AddTags"
            ],
            "Resource": "arn:aws:opensearch:*:*:datasource/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/CloudWatchOpenSearchIntegration": [
                        "Dashboards"
                    ],
                    "aws:CalledViaFirst": "logs.amazonaws.com"
                },
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": "CloudWatchOpenSearchIntegration"
                }
            }
        }
    ]
}
```

------

## 통합 생성
<a name="OpenSearch-Dashboards-Procedure"></a>

다음 단계에 따라 통합을 생성합니다.

**CloudWatch Logs를와 통합하려면 Amazon OpenSearch Service**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 왼쪽 탐색 창에서 **Logs Insights**를 선택한 다음, ** OpenSearch로 분석** 탭을 선택합니다.

1. **통합 생성**을 선택합니다.

1. **통합 이름**에 통합의 이름을 입력합니다.

1. (선택 사항) OpenSearch Service Serverless에 기록된 데이터를 암호화하려면 KMS AWS KMS 키 ARN에서 사용할 키의 ARN을 입력합니다. **** 자세한 내용은 Amazon OpenSearch Service 개발자 가이드의 [Encryption at rest](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html)를 참조하세요.

1. **데이터 보존**에 OpenSearch Service 데이터 인덱스를 보존할 시간을 입력합니다. 또한 대시보드에서 데이터를 볼 수 있는 최대 기간도 정의됩니다. 더 긴 데이터 보존 기간을 선택하면 추가 검색 및 인덱싱 비용이 발생합니다. 자세한 내용은 [OpenSearch Service Serverless Pricing](https://aws.amazon.com/opensearch-service/pricing/)을 참조하세요.

   최대 보존 기간은 30일입니다.

   데이터 보존 길이는 OpenSearch Service 컬렉션 수명 주기 정책을 생성하는 데에도 사용됩니다.

1. **OpenSearch 컬렉션에 쓰기 위한 IAM 역할**의 경우 새 IAM 역할을 생성하거나 OpenSearch Service 컬렉션에 쓰는 데 사용할 기존 IAM 역할을 선택합니다.

   새 역할을 생성하는 것이 가장 간단한 방법이며 필요한 권한으로 역할이 생성됩니다.
**참고**  
역할을 생성하면 계정의 모든 로그 그룹에서 읽을 수 있는 권한이 부여됩니다.

   기존 역할을 선택하려면 [통합에 필요한 권한](OpenSearch-Dashboards-CreateRole.md)에 나열된 권한이 있어야 합니다. 또는 **기존 역할 사용**을 선택한 다음, **선택된 역할의 액세스 권한 확인** 섹션의 **역할 생성**을 선택할 수 있습니다. 이렇게 하면 [통합에 필요한 권한](OpenSearch-Dashboards-CreateRole.md)에 나열된 권한을 템플릿으로 사용하고 수정할 수 있습니다. 예를 들어, 로그 그룹을 더 세밀하게 제어하도록 지정하려는 경우

1. **대시보드를 확인할 수 있는 IAM 역할 및 사용자**의 경우 판매 로그 대시보드 액세스에 대해 IAM 역할 및 IAM 사용자에게 액세스 권한을 부여하는 방법을 선택합니다.
   + 대시보드 액세스를 일부 사용자로 제한하려면 **대시보드를 확인할 수 있는 IAM 역할 및 사용자 선택**을 선택한 다음 텍스트 상자에서 액세스를 부여할 IAM 역할 및 IAM 사용자를 검색하고 선택합니다.
   + 모든 사용자에게 대시보드 액세스 권한을 부여하려면 **이 계정의 모든 역할 및 사용자가 대시보드를 확인할 수 있도록 허용**을 선택합니다.
**중요**  
역할 또는 사용자를 선택하거나 모든 사용자를 선택하면 대시보드 데이터를 저장하는 OpenSearch Service 컬렉션에 액세스하는 데 필요한 [데이터 액세스 정책](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html)에만 역할 또는 사용자를 추가합니다. **사용자가 판매 로그 대시보드를 볼 수 있으려면 해당 역할 및 사용자에게 [CloudWatchOpenSearchDashboardAccess](iam-identity-based-access-control-cwl.md#managed-policies-cwl-CloudWatchOpenSearchDashboardAccess) 관리형 IAM 정책도 부여해야 합니다.**

1. **통합 생성**을 선택합니다.

   통합을 생성하는 데 몇 분 정도 걸립니다.