> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iru.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Amazon DynamoDB

> 교차 계정 IAM 역할로 Amazon DynamoDB를 Iru Compliance에 연결하여 테이블 인벤토리, 암호화 설정 및 컨트롤 플레인 메타데이터를 수집합니다.

### Amazon DynamoDB 정보

**Amazon DynamoDB** 커넥터는 컴플라이언스 매핑을 위해 **테이블**, **용량 설정**, **인덱스** 및 관련 리소스의 인벤토리를 수집합니다. Iru는 사용자 계정의 **IAM 역할**을 위임받으며(**`sts:AssumeRole`** + **external ID**), 항목 페이로드를 증거로 대량 내보내지 **않습니다**. 구성 및 인벤토리 API에 중점을 둡니다.

### 작동 방식

Iru는 자체 AWS 계정에서 실행됩니다. 사용자 계정의 **DynamoDB** 테이블 및 인덱스 메타데이터를 읽으려면 **`sts:AssumeRole`** 신뢰(마법사의 **External ID**)와 인벤토리에 적합한 읽기 전용 **`dynamodb:`** 권한을 가진 **IAM 역할**을 생성합니다(해당 작업을 추가하지 않는 한 항목 대량 내보내기는 포함되지 않음). 역할의 **ARN**을 Iru에 다시 붙여넣으세요.

\*\*`AmazonDynamoDBReadOnlyAccess`\*\*를 사용하거나, 명시적인 작업을 원하는 경우 아래의 인라인 정책을 사용하세요(관리형 정책 세트에 있는 **`PartiQLSelect`** / **`Query`** / **`Scan`** 읽기 경로 포함 - 보안 검토 결과에 맞추세요).

| 세부 정보 | 값 |
| - | - |
| **카테고리** | Databases |
| **인증** | 교차 계정 IAM 역할 |

참고 자료: [AmazonDynamoDBReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonDynamoDBReadOnlyAccess.html), [Security and IAM](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/security-iam.html).

### 사전 요구 사항

* **역할** 및 **인라인 정책**을 생성할 수 있는 IAM 권한.
* Iru에서 제공하는 커넥터 **principal** 및 **external ID**.

### AWS DynamoDB를 Iru에 연결

<Tabs>
  <Tab title="Iru Compliance">
    <Note>
      여기서 시작하세요. 소스 마법사를 열고 **신뢰 정책**을 복사하세요(**external ID**도 기록해 두세요). AWS에서 역할을 생성할 준비가 되면 [**AWS**](#aws) 탭으로 전환하여 [**AWS에서 IAM 역할 생성**](#create-the-iam-role-in-aws)을 따르세요. **Role ARN**을 얻은 후 [**Iru Compliance**](#iru-compliance) 탭으로 돌아가 아래의 [**Iru에 역할 ARN 제출**](#submit-the-role-arn-in-iru)을 완료하세요.
    </Note>

    #### Iru에서 신뢰 정책 가져오기

    <Steps>
      <Step title="소스 열기">
        Iru Compliance의 왼쪽 탐색 모음에서 **컴플라이언스**를 펼치고 **소스**를 선택하세요.

        <Frame>
          <img src="https://mintcdn.com/iru/tI0HDLDwHj8r9Ile/assets/media/images/iru-navigation-compliance-sources.png?fit=max&auto=format&n=tI0HDLDwHj8r9Ile&q=85&s=87dcef15fc17d2fb9a6e53f454e41710" alt="왼쪽 탐색: Compliance가 펼쳐지고 Sources가 선택됨" width="410" height="1024" data-path="assets/media/images/iru-navigation-compliance-sources.png" />
        </Frame>
      </Step>

      <Step title="AWS DynamoDB 켜기">
        **AWS DynamoDB**를 찾으세요(**범주** 또는 **이름 또는 설명으로 검색** 사용). 해당 카드에서 **토글**을 켜세요. **Iru가 외부 서비스에 대한 액세스를 요청하고 있습니다** 마법사 탭은 열어 두세요.
      </Step>

      <Step title="신뢰 정책 JSON 복사">
        마법사에는 IAM 역할이 사용해야 하는 **신뢰 정책** JSON(**Principal** 및 **sts:ExternalId**)이 표시됩니다. 아래는 구조의 **예시**입니다. 계정, principal ARN 및 external ID가 정확히 일치하도록 **마법사에 표시된 실제 JSON을 복사하세요**.

        ```json copy=false lines theme={null}
        {
          "Version": "2012-10-17",
          "Statement": [
            {
              "Effect": "Allow",
              "Principal": {
                "AWS": "arn:aws:iam::753695775620:role/IruConnect"
              },
              "Condition": {
                "StringEquals": {
                  "sts:ExternalId": "YOUR_EXTERNAL_ID"
                }
              },
              "Action": "sts:AssumeRole"
            }
          ]
        }
        ```
      </Step>

      <Step title="역할을 생성하기 위해 AWS로 전환">
        참고용으로 Iru 마법사 탭을 열어 둔 채 [**AWS**](#aws) 탭으로 전환하여 [**AWS에서 IAM 역할 생성**](#create-the-iam-role-in-aws)을 따르세요.
      </Step>
    </Steps>

    #### Iru에 역할 ARN 제출

    <Note>
      새 역할의 **Role ARN**을 확보할 수 있도록 먼저 [**AWS**](#aws) 탭([**AWS에서 IAM 역할 생성**](#create-the-iam-role-in-aws)까지)을 완료하세요.
    </Note>

    <Steps>
      <Step title="IAM Role ARN 붙여넣기">
        Iru 마법사 탭으로 돌아가세요. 커넥터에서 요청하는 위치에 **Role ARN**을 붙여넣으세요.
      </Step>

      <Step title="연결 완료">
        **Submit Role**을 선택하세요. 연결이 성공하면 마법사에 **연결 구성됨**이 표시됩니다.
      </Step>

      <Step title="소스가 활성인지 확인">
        **Iru가 외부 서비스에 대한 액세스를 요청하고 있습니다** 브라우저 탭을 닫은 다음 **컴플라이언스** → **소스**로 돌아가 **AWS DynamoDB** 카드가 **활성** 상태인지 확인하세요.
      </Step>
    </Steps>
  </Tab>

  <Tab title="AWS">
    <Note>
      이 역할을 생성하기 전에 [**Iru Compliance**](#iru-compliance) 탭에서 [**Iru에서 신뢰 정책 가져오기**](#get-the-trust-policy-from-iru)를 완료하세요. **Trusted entity**를 구성할 때 실제 마법사의 **external ID**와 신뢰 정책을 사용하세요.
    </Note>

    #### AWS에서 IAM 역할 생성

    <Steps>
      <Step title="역할 생성 워크플로 시작">
        **IAM** → **Roles** → **Create role**을 여세요.
      </Step>

      <Step title="신뢰할 수 있는 엔터티 구성">
        **AWS account** → **Another AWS account**를 선택하세요. **`753695775620`**(또는 Iru에 표시된 ID)을 입력하세요. **Require external ID**를 활성화하고 Iru의 external ID를 붙여넣으세요.
      </Step>

      <Step title="DynamoDB 읽기 권한 연결">
        \*\*`AmazonDynamoDBReadOnlyAccess`\*\*를 연결하거나, 다음 **인라인 정책**을 연결하세요.

        ```json lines theme={null}
        {
          "Version": "2012-10-17",
          "Statement": [
            {
              "Effect": "Allow",
              "Action": [
                "dynamodb:BatchGetItem",
                "dynamodb:Describe*",
                "dynamodb:Get*",
                "dynamodb:List*",
                "dynamodb:Query",
                "dynamodb:Scan",
                "dynamodb:PartiQLSelect"
              ],
              "Resource": "*"
            }
          ]
        }
        ```
      </Step>

      <Step title="역할 이름 지정 및 ARN 복사">
        역할 이름을 지정하고 생성한 다음 **Role ARN**을 복사하세요. [**Iru Compliance**](#iru-compliance) 탭으로 다시 전환하여 [**Iru에 역할 ARN 제출**](#submit-the-role-arn-in-iru)을 완료하세요.
      </Step>

      <Step title="신뢰 관계 확인">
        **Trust relationships**를 마법사 JSON과 대조하여 검증하세요.
      </Step>
    </Steps>

    <Note>
      [**Iru Compliance**](#iru-compliance) 탭에서 계속 진행하여 **Role ARN**을 붙여넣고 마법사를 완료하세요([**Iru에 역할 ARN 제출**](#submit-the-role-arn-in-iru)).
    </Note>
  </Tab>
</Tabs>

### 문제 해결

<AccordionGroup>
  <Accordion title="소스를 켰을 때 아무것도 열리지 않습니다">
    Iru 사이트에 대한 **팝업 차단** 설정을 확인하고 다시 시도하세요.
  </Accordion>

  <Accordion title="AssumeRole 거부됨">
    External ID가 일치하지 않습니다.
  </Accordion>

  <Accordion title="리전별 누락">
    테이블은 특정 리전에 있습니다. 역할의 계정이 자산 소유 계정과 일치하는지 확인하세요.
  </Accordion>

  <Accordion title="DAX">
    관리형 정책에는 DAX 읽기가 포함되어 있습니다. 사용자 지정 정책에는 **`dax:Describe*`** / \*\*`dax:List*`\*\*가 필요할 수 있습니다.
  </Accordion>
</AccordionGroup>

### 고려 사항

<CardGroup cols={2}>
  <Card title="글로벌 테이블 및 관련 리소스는 복제본 리전별로 표시될 수 있습니다." icon="circle-info">
    글로벌 테이블 및 관련 리소스는 복제본 리전별로 표시될 수 있습니다.
  </Card>

  <Card title="IAM 범위를 감사에 실제로 필요한 만큼으로 지정하세요…" icon="shield">
    IAM 범위를 감사에 실제로 필요한 만큼으로 지정하세요. 더 좁은 정책은 의도치 않은 데이터 플레인 읽기를 줄여 줍니다.
  </Card>
</CardGroup>

### 관련 문서

<CardGroup cols={2}>
  <Card title="소스 관리" icon="plug" href="/ko/compliance/sources-management">
    모든 Compliance 소스를 찾아보고 관리합니다.
  </Card>

  <Card title="컴플라이언스 시작하기" icon="rocket" href="/ko/compliance/getting-started-with-compliance">
    프레임워크, 작업 및 **아티팩트**입니다.
  </Card>

  <Card title="Iru 개요" icon="layer-group" href="/ko/iru/platform-overview/iru-overview">
    Endpoint, Compliance 및 Identity가 함께 작동하는 방식입니다.
  </Card>

  <Card title="아티팩트 관리" icon="folder-open" href="/ko/compliance/artifacts-management">
    소스 및 작업의 증거를 업로드, 검토 및 정리합니다.
  </Card>
</CardGroup>
