

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

# 리포지토리 삭제
<a name="delete-repo"></a>

CodeArtifact 콘솔 또는 AWS CLI를 사용하여 리포지토리를 삭제할 수 있습니다. 리포지토리를 삭제한 후에는 패키지를 리포지토리로 푸시하거나 리포지토리에서 패키지를 가져올 수 없습니다. 리포지토리에 있는 모든 패키지는 영구적으로 사용 불가능하며 복원할 수 없게 됩니다. 이름이 같은 리포지토리를 만들 수 있지만 이러한 리포지토리에는 아무 내용도 들어 있지 않습니다.

**중요**  
리포지토리 삭제는 실행 취소할 수 없습니다. 리포지토리를 삭제한 후에는 더 이상 복구 및 복원할 수 없습니다.

**Topics**
+ [리포지토리 삭제(콘솔)](#delete-repo-console)
+ [리포지토리 삭제(AWS CLI)](#delete-repo-cli)
+ [리포지토리가 삭제되지 않도록 보호](#delete-repo-protect)

## 리포지토리 삭제(콘솔)
<a name="delete-repo-console"></a>

1. [https://console.aws.amazon.com/codesuite/codeartifact/home](https://console.aws.amazon.com/codesuite/codeartifact/home) AWS CodeArtifact 콘솔을 엽니다.

1.  탐색 창에서 **리포지토리**를 선택한 다음 삭제할 리포지토리를 선택합니다.

1.  **삭제**를 선택한 다음, 단계에 따라 도메인을 삭제합니다.

## 리포지토리 삭제(AWS CLI)
<a name="delete-repo-cli"></a>

리포지토리를 삭제하려면 `delete-repository` 명령을 사용합니다.

```
aws codeartifact delete-repository --domain my_domain --domain-owner 111122223333 --repository my_repo
```

출력 예시:

```
{
    "repository": {
        "name": "my_repo",
        "administratorAccount": "123456789012",
        "domainName": "my_domain",            
        "domainOwner": "123456789012",
        "arn": "arn:aws:codeartifact:region-id:123456789012:repository/my_domain/my_repo",
        "description": "My new repository",
        "upstreams": [],
        "externalConnections": []
    }
}
```

## 리포지토리가 삭제되지 않도록 보호
<a name="delete-repo-protect"></a>

다음과 유사한 도메인 정책을 포함하면 리포지토리가 실수로 삭제되는 것을 방지할 수 있습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenyRepositoryDeletion",
            "Action": [
                "codeartifact:DeleteRepository"
            ],
            "Effect": "Deny",
            "Resource": "*",
            "Principal": "*"
        }
    ]
}
```

------

이 정책은 모든 보안 주체가 리포지토리를 삭제하는 것을 방지하지만 나중에 리포지토리를 삭제해야 한다고 결정하는 경우 다음 단계에 따라 삭제할 수 있습니다.

1.  도메인 정책에서 정책을 다음으로 업데이트합니다.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "DenyRepositoryDeletion",
               "Action": [
                   "codeartifact:DeleteRepository"
               ],
               "Effect": "Deny",
               "NotResource": "arn:aws:iam::*:role/Service*",
               "Principal": "*"
           }
       ]
   }
   ```

------

   *repository-arn*을 삭제하려는 리포지토리의 ARN으로 바꿉니다.

1.  AWS CodeArtifact 콘솔에서 **리포지토리**를 선택하고 선택한 리포지토리를 삭제합니다.

1.  리포지토리를 삭제한 후 정책을 다시 변경하여 실수로 삭제하지 않도록 할 수 있습니다.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "DenyRepositoryDeletion",
               "Action": [
                   "codeartifact:DeleteRepository"
               ],
               "Effect": "Deny",
               "Resource": "*",
               "Principal": "*"
           }
       ]
   }
   ```

------

또는 리포지토리 정책에 동일한 거부 명령문을 포함할 수 있습니다. 이를 통해 높은 가치의 리포지토리가 삭제되는 것을 방지할 수 있는 유연성을 높일 수 있습니다.