

AWS App Runner 는 2026년 4월 30일부터 신규 고객에게 더 이상 공개되지 않습니다. App Runner를 사용하려면 해당 날짜 이전에 가입하세요. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [AWS App Runner 가용성 변경](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html)을 참조하세요.

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

# App Runner의 보안
<a name="security"></a>

의 클라우드 보안 AWS 이 최우선 순위입니다. AWS 고객은 보안에 가장 민감한 조직의 요구 사항을 충족하도록 구축된 데이터 센터 및 네트워크 아키텍처의 이점을 누릴 수 있습니다.

보안은 AWS 와 사용자 간의 공동 책임입니다. [공동 책임 모델](https://aws.amazon.com/compliance/shared-responsibility-model/)은 이 사항을 클라우드*의* 보안 및 클라우드 *내* 보안으로 설명합니다.
+ **클라우드 보안 **- AWS 는에서 AWS 서비스를 실행하는 인프라를 보호할 책임이 있습니다 AWS 클라우드. AWS 또한는 안전하게 사용할 수 있는 서비스를 제공합니다. 타사 감사자는 [AWS 규정 준수 프로그램](https://aws.amazon.com/compliance/programs/) 일환으로 보안의 효과를 정기적으로 테스트하고 확인합니다. 에 적용되는 규정 준수 프로그램에 대한 자세한 내용은 규정 준수 프로그램 [AWS 제공 범위 내 서비스규정 준수 프로그램](https://aws.amazon.com/compliance/services-in-scope/) 제공 범위 내 서비스를 AWS App Runner참조하세요.
+ **클라우드의 보안** - 사용자의 책임은 사용하는 AWS 서비스에 따라 결정됩니다. 또한 귀하는 귀사의 데이터 민감도, 귀사의 요구 사항, 관련 법률 및 규정을 비롯한 기타 요소에 대해서도 책임이 있습니다.

이 설명서는 App Runner를 사용할 때 공동 책임 모델을 적용하는 방법을 이해하는 데 도움이 됩니다. 다음 주제에서는 보안 및 규정 준수 목적에 맞게 App Runner를 구성하는 방법을 보여줍니다. 또한 App Runner 리소스를 모니터링하고 보호하는 데 도움이 되는 다른 AWS 서비스를 사용하는 방법을 알아봅니다.

**Topics**
+ [App Runner의 데이터 보호](security-data-protection.md)
+ [App Runner의 자격 증명 및 액세스 관리](security-iam.md)
+ [App Runner에서 로깅 및 모니터링](security-monitoring.md)
+ [App Runner에 대한 규정 준수 검증](security-compliance.md)
+ [App Runner의 복원력](security-resilience.md)
+ [의 인프라 보안 AWS App Runner](security-infrastructure.md)
+ [VPC 엔드포인트와 함께 App Runner 사용](security-vpce.md)
+ [App Runner의 구성 및 취약성 분석](security-shared-responsibility.md)
+ [App Runner의 보안 모범 사례](security-best-practices.md)

# App Runner의 데이터 보호
<a name="security-data-protection"></a>

 AWS [공동 책임 모델](https://aws.amazon.com/compliance/shared-responsibility-model/)의 데이터 보호에 적용됩니다 AWS App Runner. 이 모델에 설명된 대로 AWS 는 모든를 실행하는 글로벌 인프라를 보호할 책임이 있습니다 AWS 클라우드. 사용자는 이 인프라에 호스팅되는 콘텐츠에 대한 통제 권한을 유지할 책임이 있습니다. 사용하는 AWS 서비스 의 보안 구성과 관리 태스크에 대한 책임도 사용자에게 있습니다. 데이터 프라이버시에 관한 자세한 내용은 [데이터 프라이버시 FAQ](https://aws.amazon.com/compliance/data-privacy-faq/)를 참조하세요. 유럽의 데이터 보호에 대한 자세한 내용은 *AWS 보안 블로그*의 [AWS 공동 책임 모델 및 GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) 블로그 게시물을 참조하세요.

데이터 보호를 위해 자격 증명을 보호하고 AWS 계정 AWS IAM Identity Center 또는 AWS Identity and Access Management (IAM)를 사용하여 개별 사용자를 설정하는 것이 좋습니다. 이렇게 하면 개별 사용자에게 자신의 직무를 충실히 이행하는 데 필요한 권한만 부여됩니다. 또한 다음과 같은 방법으로 데이터를 보호하는 것이 좋습니다.
+ 각 계정에 다중 인증(MFA)을 사용합니다.
+ SSL/TLS를 사용하여 AWS 리소스와 통신합니다. TLS 1.2는 필수이며 TLS 1.3을 권장합니다.
+ 를 사용하여 API 및 사용자 활동 로깅을 설정합니다 AWS CloudTrail. CloudTrail 추적을 사용하여 AWS 활동을 캡처하는 방법에 대한 자세한 내용은 *AWS CloudTrail 사용 설명서*의 [ CloudTrail 추적 작업을 참조하세요](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html).
+ 내부의 모든 기본 보안 제어와 함께 AWS 암호화 솔루션을 사용합니다 AWS 서비스.
+ Amazon S3에 저장된 민감한 데이터를 검색하고 보호하는 데 도움이 되는 Amazon Macie와 같은 고급 관리형 보안 서비스를 사용합니다.
+ 명령줄 인터페이스 또는 API를 AWS 통해에 액세스할 때 FIPS 140-3 검증 암호화 모듈이 필요한 경우 FIPS 엔드포인트를 사용합니다. 사용 가능한 FIPS 엔드포인트에 대한 자세한 내용은 [연방 정보 처리 표준(FIPS) 140-3](https://aws.amazon.com/compliance/fips/)을 참조하세요.

고객의 이메일 주소와 같은 기밀 정보나 중요한 정보는 태그나 **이름** 필드와 같은 자유 형식 텍스트 필드에 입력하지 않는 것이 좋습니다. 여기에는 App Runner 또는 기타 AWS 서비스 에서 콘솔 AWS CLI, API 또는 AWS SDKs를 사용하여 작업하는 경우가 포함됩니다. 이름에 사용되는 태그 또는 자유 형식 텍스트 필드에 입력하는 모든 데이터는 청구 또는 진단 로그에 사용될 수 있습니다. 외부 서버에 URL을 제공할 때 해당 서버에 대한 요청을 검증하기 위해 자격 증명을 URL에 포함해서는 안 됩니다.

다른 App Runner 보안 주제는 섹션을 참조하세요[App Runner의 보안](security.md).

**Topics**
+ [암호화를 사용하여 데이터 보호](security-data-protection-encryption.md)
+ [인터네트워크 트래픽 개인 정보 보호](security-data-protection-internetwork.md)

# 암호화를 사용하여 데이터 보호
<a name="security-data-protection-encryption"></a>

AWS App Runner 는 지정한 리포지토리에서 애플리케이션 소스(소스 이미지 또는 소스 코드)를 읽고 서비스에 배포하기 위해 저장합니다. 자세한 내용은 [App Runner 아키텍처 및 개념](architecture.md) 단원을 참조하십시오.

데이터 보호는 *전송 중*(App Runner와 주고받는 동안) 및 *저장 중*( AWS 데이터 센터에 저장되는 동안) 데이터를 보호하는 것을 말합니다.

데이터 보호에 대한 자세한 내용은 [App Runner의 데이터 보호](security-data-protection.md) 섹션을 참조하세요.

다른 App Runner 보안 주제는 섹션을 참조하세요[App Runner의 보안](security.md).

## 전송 중 암호화
<a name="security-data-protection-encryption.in-transit"></a>

전송 중 데이터 보호는 전송 계층 보안(TLS)을 사용하여 연결을 암호화하거나 클라이언트 측 암호화(객체가 전송되기 전에 암호화됨)를 사용하는 두 가지 방법으로 수행할 수 있습니다. 두 방법 모두 애플리케이션 데이터를 보호하는 데 유효합니다 연결을 보호하려면 애플리케이션, 개발자 및 관리자, 최종 사용자가 객체를 보내거나 받을 때마다 TLS를 사용하여 암호화합니다. App Runner는 TLS를 통해 트래픽을 수신하도록 애플리케이션을 설정합니다.

클라이언트 측 암호화는 배포를 위해 App Runner에 제공하는 소스 이미지 또는 코드를 보호하는 유효한 방법이 아닙니다. App Runner는 애플리케이션 소스에 대한 액세스 권한이 필요하므로 암호화할 수 없습니다. 따라서 개발 또는 배포 환경과 App Runner 간의 연결을 보호해야 합니다.

## 저장 시 암호화 및 키 관리
<a name="security-data-protection-encryption.at-rest"></a>

App Runner는 애플리케이션의 저장 데이터를 보호하기 위해 애플리케이션 소스 이미지 또는 소스 번들의 저장된 모든 복사본을 암호화합니다. App Runner 서비스를 생성할 때를 제공할 수 있습니다 AWS KMS key. 제공하면 App Runner는 제공된 키를 사용하여 소스를 암호화합니다. 제공하지 않으면 App Runner는 AWS 관리형 키 대신를 사용합니다.

App Runner 서비스 생성 파라미터에 대한 자세한 내용은 [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)를 참조하세요. AWS Key Management Service (AWS KMS)에 대한 자세한 내용은 [AWS Key Management Service 개발자 안내서](https://docs.aws.amazon.com/kms/latest/developerguide/)를 참조하세요.

# 인터네트워크 트래픽 개인 정보 보호
<a name="security-data-protection-internetwork"></a>

App Runner는 Amazon Virtual Private Cloud(VPC)를 사용하여 App Runner 애플리케이션의 리소스 간에 경계를 생성하고 리소스, 온프레미스 네트워크 및 인터넷 간의 트래픽을 제어합니다. Amazon VPC 보안에 대한 자세한 내용은 Amazon VPC *사용 설명서의 Amazon* [VPC의 Internetwork 트래픽 개인 정보 보호를](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Security.html) 참조하세요.

App Runner 애플리케이션을 사용자 지정 Amazon VPC와 연결하는 방법에 대한 자세한 내용은 섹션을 참조하세요[발신 트래픽에 대한 VPC 액세스 활성화](network-vpc.md).

VPC 엔드포인트를 사용하여 App Runner에 대한 요청을 보호하는 방법에 대한 자세한 내용은 섹션을 참조하세요[VPC 엔드포인트와 함께 App Runner 사용](security-vpce.md).

데이터 보호에 대한 자세한 내용은 [App Runner의 데이터 보호](security-data-protection.md) 섹션을 참조하세요.

다른 App Runner 보안 주제는 섹션을 참조하세요[App Runner의 보안](security.md).

# App Runner의 자격 증명 및 액세스 관리
<a name="security-iam"></a>

AWS Identity and Access Management (IAM)는 관리자가 AWS 리소스에 대한 액세스를 안전하게 제어하는 데 도움이 AWS 서비스 되는 입니다. IAM 관리자는 App Runner 리소스를 사용할 수 있는 *인증*(로그인) 및 *권한*(권한 있음)을 받을 수 있는 사용자를 제어합니다. IAM은 추가 비용 없이 사용할 수 AWS 서비스 있는 입니다.

다른 App Runner 보안 주제는 섹션을 참조하세요[App Runner의 보안](security.md).

**Topics**
+ [대상](#security-iam.audience)
+ [ID를 통한 인증](#security-iam.authentication)
+ [정책을 사용하여 액세스 관리](#security-iam.access-manage)
+ [App Runner가 IAM에서 작동하는 방식](security_iam_service-with-iam.md)
+ [App Runner 자격 증명 기반 정책 예제](security_iam_id-based-policy-examples.md)
+ [App Runner에 서비스 연결 역할 사용](security-iam-slr.md)
+ [AWS 에 대한 관리형 정책 AWS App Runner](security-iam-awsmanpol.md)
+ [App Runner 자격 증명 및 액세스 문제 해결](security_iam_troubleshoot.md)

## 대상
<a name="security-iam.audience"></a>

 AWS Identity and Access Management (IAM)를 사용하는 방법은 역할에 따라 다릅니다.
+ **서비스 사용자** - 기능에 액세스할 수 없는 경우 관리자에게 권한 요청(참조[App Runner 자격 증명 및 액세스 문제 해결](security_iam_troubleshoot.md))
+ **서비스 관리자** - 사용자 액세스 결정 및 권한 요청 제출([App Runner가 IAM에서 작동하는 방식](security_iam_service-with-iam.md) 참조)
+ **IAM 관리자** - 액세스를 관리하기 위한 정책 작성([App Runner 자격 증명 기반 정책 예제](security_iam_id-based-policy-examples.md) 참조)

## ID를 통한 인증
<a name="security-iam.authentication"></a>

인증은 자격 증명 자격 증명을 AWS 사용하여에 로그인하는 방법입니다. AWS 계정 루트 사용자, IAM 사용자 또는 IAM 역할을 수임하여 인증되어야 합니다.

 AWS IAM Identity Center (IAM Identity Center), Single Sign-On 인증 또는 Google/Facebook 자격 증명과 같은 자격 증명 소스의 자격 증명을 사용하여 페더레이션 자격 증명으로 로그인할 수 있습니다. 로그인하는 방법에 대한 자세한 내용은 *AWS Sign-In 사용 설명서*의 [AWS 계정에 로그인하는 방법](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) 섹션을 참조하세요.

프로그래밍 방식 액세스를 위해는 요청에 암호화 방식으로 서명할 수 있는 SDK 및 CLI를 AWS 제공합니다. 자세한 내용은 *IAM 사용 설명서*의 [API 요청용AWS Signature Version 4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) 섹션을 참조하세요.

### AWS 계정 루트 사용자
<a name="security-iam.authentication.rootuser"></a>

 를 생성할 때 모든 AWS 서비스 및 리소스에 대한 완전한 액세스 권한이 있는 AWS 계정 *theroot 사용자*라는 하나의 로그인 자격 증명으로 AWS 계정시작합니다. 일상적인 태스크에 루트 사용자를 사용하지 않을 것을 강력히 권장합니다. 루트 사용자가 필요한 작업 목록은 *IAM 사용자 설명서*의 [루트 사용자 자격 증명이 필요한 작업](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)을 참조하세요.

### IAM 사용자 및 그룹
<a name="security-iam.authentication-iamuser"></a>

*[IAM 사용자](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)*는 단일 개인 또는 애플리케이션에 대한 특정 권한을 가진 ID입니다. 장기 자격 증명이 있는 IAM 사용자 대신 임시 자격 증명을 사용하는 것이 좋습니다. 자세한 내용은 *IAM 사용 설명서*의 자격 [증명 공급자와의 페더레이션을 사용하여 임시 자격 증명을 AWS 사용하여에 액세스하도록 인간 사용자에게 요구](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp)하기를 참조하세요.

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html)은 IAM 사용자 모음을 지정하고 대규모 사용자 집합에 대한 관리 권한을 더 쉽게 만듭니다. 자세한 내용은 *IAM 사용 설명서*의 [IAM 사용자 사용 사례](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) 섹션을 참조하세요.

### IAM 역할
<a name="security-iam.authentication.iamrole"></a>

*[IAM 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)*은 임시 자격 증명을 제공하는 특정 권한이 있는 자격 증명입니다. [사용자에서 IAM 역할(콘솔)로 전환하거나 또는 API 작업을 호출하여 역할을](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) 수임할 수 있습니다. AWS CLI AWS 자세한 내용은 *IAM 사용 설명서*의 [역할 수임 방법](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html)을 참조하세요.

IAM 역할은 페더레이션 사용자 액세스, 임시 IAM 사용자 권한, 교차 계정 액세스, 교차 서비스 액세스 및 Amazon EC2에서 실행되는 애플리케이션에 유용합니다. 자세한 내용은 *IAM 사용 설명서*의 [교차 계정 리소스 액세스](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)를 참조하세요.

## 정책을 사용하여 액세스 관리
<a name="security-iam.access-manage"></a>

정책을 AWS 생성하고 자격 증명 또는 리소스에 연결하여 AWS 에서 액세스를 제어합니다. 정책은 자격 증명 또는 리소스와 연결될 때 권한을 정의합니다.는 보안 주체가 요청할 때 이러한 정책을 AWS 평가합니다. 대부분의 정책은에 JSON 문서 AWS 로 저장됩니다. JSON 정책 문서에 대한 자세한 내용은 *IAM 사용 설명서*의 [JSON 정책 개요](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) 섹션을 참조하세요.

정책을 사용하여 관리자는 어떤 **보안 주체**가 어떤 **리소스**에 대해 어떤 **조건**에서 **작업**을 수행할 수 있는지 정의하여 누가 무엇을 액세스할 수 있는지 지정합니다.

기본적으로 사용자 및 역할에는 어떠한 권한도 없습니다. IAM 관리자는 IAM 정책을 생성하고 사용자가 수임할 수 있는 역할에 추가합니다. IAM 정책은 작업을 수행하기 위해 사용하는 방법과 관계없이 작업에 대한 권한을 정의합니다.

### ID 기반 정책
<a name="security-iam.access-manage.id-based-policies"></a>

ID 기반 정책은 ID(사용자, 사용자 그룹 또는 역할)에 연결하는 JSON 권한 정책 문서입니다. 이러한 정책은 자격 증명이 수행할 수 있는 작업, 대상 리소스 및 이에 관한 조건을 제어합니다. ID 기반 정책을 생성하는 방법을 알아보려면 *IAM 사용 설명서*에서 [고객 관리형 정책으로 사용자 지정 IAM 권한 정의](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)를 참조하세요.

ID 기반 정책은 *인라인 정책*(단일 ID에 직접 포함) 또는 *관리형 정책*(여러 ID에 연결된 독립 실행형 정책)일 수 있습니다. 관리형 정책 또는 인라인 정책을 선택하는 방법을 알아보려면 *IAM 사용 설명서*의 [관리형 정책 및 인라인 정책 중에서 선택](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) 섹션을 참조하세요.

### 리소스 기반 정책
<a name="security-iam.access-manage.resource-based-policies"></a>

리소스 기반 정책은 리소스에 연결하는 JSON 정책 설명서입니다. 예를 들어 IAM *역할 신뢰 정책* 및 Amazon S3 *버킷 정책*이 있습니다. 리소스 기반 정책을 지원하는 서비스에서 서비스 관리자는 이러한 정책을 사용하여 특정 리소스에 대한 액세스를 통제할 수 있습니다. 리소스 기반 정책에서 [보안 주체를 지정](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)해야 합니다.

리소스 기반 정책은 해당 서비스에 있는 인라인 정책입니다. 리소스 기반 정책에서는 IAM의 AWS 관리형 정책을 사용할 수 없습니다.

### 액세스 제어 목록(ACL)
<a name="security-iam.ccess-manage.acl"></a>

액세스 제어 목록(ACL)은 어떤 위탁자(계정 멤버, 사용자 또는 역할)가 리소스에 액세스할 수 있는 권한을 가지고 있는지를 제어합니다. ACL은 JSON 정책 문서 형식을 사용하지 않지만 리소스 기반 정책과 유사합니다.

Amazon S3 AWS WAF및 Amazon VPC는 ACLs. ACL에 관한 자세한 내용은 *Amazon Simple Storage Service 개발자 가이드*의 [액세스 제어 목록(ACL) 개요](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html)를 참조하세요.

### 기타 정책 타입
<a name="security-iam.access-manage.other-policies"></a>

AWS 는 보다 일반적인 정책 유형에서 부여한 최대 권한을 설정할 수 있는 추가 정책 유형을 지원합니다.
+ **권한 경계** - ID 기반 정책에서 IAM 엔터티에 부여할 수 있는 최대 권한을 설정합니다. 자세한 정보는 *IAM 사용 설명서*의 [IAM 엔터티의 권한 범위](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)를 참조하세요.
+ **서비스 제어 정책(SCP)** - AWS Organizations내 조직 또는 조직 단위에 대한 최대 권한을 지정합니다. 자세한 내용은AWS Organizations 사용 설명서의 [서비스 제어 정책](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)을 참조하세요.**
+ **리소스 제어 정책(RCP)** – 계정의 리소스에 사용할 수 있는 최대 권한을 설정합니다. 자세한 내용은 *AWS Organizations 사용 설명서*의 [리소스 제어 정책(RCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html)을 참조하세요.
+ **세션 정책** – 역할 또는 페더레이션 사용자에 대해 임시 세션을 프로그래밍 방식으로 생성할 때 파라미터로 전달하는 고급 정책입니다. 자세한 내용은 *IAM 사용 설명서*의 [세션 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)을 참조하세요.

### 여러 정책 유형
<a name="security-iam.access-manage.multiple-policies"></a>

여러 정책 유형이 요청에 적용되는 경우, 결과 권한은 이해하기가 더 복잡합니다. 에서 여러 정책 유형이 관련될 때 요청을 허용할지 여부를 AWS 결정하는 방법을 알아보려면 *IAM 사용 설명서*의 [정책 평가 로직](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)을 참조하세요.

# App Runner가 IAM에서 작동하는 방식
<a name="security_iam_service-with-iam"></a>

IAM을 사용하여 액세스를 관리하기 전에 App Runner에서 사용할 수 있는 IAM 기능을 이해해야 AWS App Runner합니다. App Runner 및 기타 AWS 서비스에서 IAM을 사용하는 방법을 전체적으로 알아보려면 *IAM 사용 설명서*의 [AWS IAM으로 작업하는 서비스를](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) 참조하세요.

다른 App Runner 보안 주제는 섹션을 참조하세요[App Runner의 보안](security.md).

**Topics**
+ [App Runner 자격 증명 기반 정책](#security_iam_service-with-iam-id-based-policies)
+ [App Runner 리소스 기반 정책](#security_iam_service-with-iam-resource-based-policies)
+ [App Runner 태그 기반 권한 부여](#security_iam_service-with-iam-tags)
+ [App Runner 사용자 권한](#security_iam_service-with-iam-users)
+ [App Runner IAM 역할](#security_iam_service-with-iam-roles)

## App Runner 자격 증명 기반 정책
<a name="security_iam_service-with-iam-id-based-policies"></a>

IAM ID 기반 정책을 사용하면 허용되거나 거부되는 작업과 리소스뿐 아니라 작업이 허용되거나 거부되는 조건을 지정할 수 있습니다. App Runner는 특정 작업, 리소스 및 조건 키를 지원합니다. JSON 정책에서 사용하는 모든 요소에 대해 알고 싶다면 *IAM 사용 설명서*의 [IAM JSON 정책 요소 참조](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)를 참조하세요.

### 작업
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

관리자는 AWS JSON 정책을 사용하여 누가 무엇에 액세스할 수 있는지 지정할 수 있습니다. 즉, 어떤 **보안 주체**가 어떤 **리소스**와 어떤 **조건**에서 **작업**을 수행할 수 있는지를 지정할 수 있습니다.

JSON 정책의 `Action`요소는 정책에서 액세스를 허용하거나 거부하는 데 사용할 수 있는 작업을 설명합니다. 연결된 작업을 수행할 수 있는 권한을 부여하기 위한 정책에 작업을 포함하세요.

App Runner의 정책 작업은 작업 앞에 접두사를 사용합니다`apprunner:`. 예를 들어 누군가에게 Amazon EC2 `RunInstances` API 작업을 통해 Amazon EC2 인스턴스를 실행할 권한을 부여하려면 해당 정책에 `ec2:RunInstances` 작업을 포함하세요. 정책 문에는 `Action` 또는 `NotAction` 요소가 포함되어야 합니다. App Runner는이 서비스로 수행할 수 있는 작업을 설명하는 고유한 작업 세트를 정의합니다.

명령문 하나에 여러 태스크를 지정하려면 다음과 같이 쉼표로 구분합니다.

```
"Action": [
   "apprunner:CreateService",
   "apprunner:CreateConnection"
]
```

와일드카드(\$1)를 사용하여 여러 작업을 지정할 수 있습니다. 예를 들어, `Describe`라는 단어로 시작하는 모든 작업을 지정하려면 다음 작업을 포함합니다.

```
"Action": "apprunner:Describe*"
```



App Runner 작업 목록을 보려면 *서비스 승인* 참조의에서 [정의한 작업을 AWS App Runner](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html#awsapprunner-actions-as-permissions) 참조하세요.

### 리소스
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

관리자는 AWS JSON 정책을 사용하여 누가 무엇에 액세스할 수 있는지 지정할 수 있습니다. 즉, 어떤 **보안 주체**가 어떤 **리소스**와 어떤 **조건**에서 **작업**을 수행할 수 있는지를 지정할 수 있습니다.

`Resource` JSON 정책 요소는 작업이 적용되는 하나 이상의 객체를 지정합니다. 모범 사례에 따라 [Amazon 리소스 이름(ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html)을 사용하여 리소스를 지정합니다. 리소스 수준 권한을 지원하지 않는 작업의 경우, 와일드카드(\$1)를 사용하여 해당 문이 모든 리소스에 적용됨을 나타냅니다.

```
"Resource": "*"
```



App Runner 리소스의 ARN 구조는 다음과 같습니다.

```
arn:aws:apprunner:region:account-id:resource-type/resource-name[/resource-id]
```

ARN 형식에 대한 자세한 내용은의 [Amazon 리소스 이름(ARNs) 및 AWS 서비스 네임스페이스](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)를 참조하세요*AWS 일반 참조*.

예를 들어 문에서 `my-service` 서비스를 지정하려면 다음 ARN을 사용합니다.

```
"Resource": "arn:aws:apprunner:us-east-1:123456789012:service/my-service"
```

특정 계정에 속하는 모든 서비스를 지정하려면 와일드카드(\$1)를 사용합니다.

```
"Resource": "arn:aws:apprunner:us-east-1:123456789012:service/*"
```

리소스를 생성하기 위한 작업과 같은 일부 App Runner 작업은 특정 리소스에서 수행할 수 없습니다. 이러한 경우, 와일드카드(\$1)를 사용해야 합니다.

```
"Resource": "*"
```

App Runner 리소스 유형 및 해당 ARNs 목록을 보려면 *서비스 승인* 참조의에서 [정의한 리소스를 AWS App Runner](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html#awsapprunner-resources-for-iam-policies) 참조하세요. 각 리소스의 ARN을 지정할 수 있는 작업을 알아보려면 [AWS App Runner가 정의한 작업](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html#awsapprunner-actions-as-permissions)을 참조하십시오.

### 조건 키
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

관리자는 AWS JSON 정책을 사용하여 누가 무엇에 액세스할 수 있는지 지정할 수 있습니다. 즉, 어떤 **보안 주체**가 어떤 **리소스**와 어떤 **조건**에서 **작업**을 수행할 수 있는지를 지정할 수 있습니다.

`Condition` 요소는 정의된 기준에 따라 문이 실행되는 시기를 지정합니다. 같음(equals) 또는 미만(less than)과 같은 [조건 연산자](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)를 사용하여 정책의 조건을 요청의 값과 일치시키는 조건식을 생성할 수 있습니다. 모든 AWS 전역 조건 키를 보려면 *IAM 사용 설명서*의 [AWS 전역 조건 컨텍스트 키를](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) 참조하세요.

App Runner는 일부 전역 조건 키 사용을 지원합니다. 모든 AWS 전역 조건 키를 보려면 *IAM 사용 설명서*의 [AWS 전역 조건 컨텍스트 키를 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html).

App Runner는 서비스별 조건 키 세트를 정의합니다. 또한 App Runner는 조건 키를 사용하여 구현되는 태그 기반 액세스 제어를 지원합니다. 자세한 내용은 [App Runner 태그 기반 권한 부여](#security_iam_service-with-iam-tags)을 참조하세요.

App Runner 조건 키 목록을 보려면 *서비스 승인* 참조의에 [대한 조건 키를 AWS App Runner](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html#awsapprunner-policy-keys) 참조하세요. 조건 키를 사용할 수 있는 작업과 리소스를 알아보려면 [에서 정의한 작업을 AWS App Runner](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsapprunner.html#awsapprunner-actions-as-permissions) 참조하세요.

### 예제
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

App Runner 자격 증명 기반 정책의 예를 보려면 섹션을 참조하세요[App Runner 자격 증명 기반 정책 예제](security_iam_id-based-policy-examples.md).

## App Runner 리소스 기반 정책
<a name="security_iam_service-with-iam-resource-based-policies"></a>

App Runner는 리소스 기반 정책을 지원하지 않습니다.

## App Runner 태그 기반 권한 부여
<a name="security_iam_service-with-iam-tags"></a>

App Runner 리소스에 태그를 연결하거나 App Runner에 대한 요청에서 태그를 전달할 수 있습니다. 태그에 근거하여 액세스를 제어하려면 `apprunner:ResourceTag/key-name`, `aws:RequestTag/key-name`또는 `aws:TagKeys`조건 키를 사용하여 정책의 [조건 요소](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)에 태그 정보를 제공합니다. App Runner 리소스 태그 지정에 대한 자세한 내용은 섹션을 참조하세요[App Runner 서비스 구성](manage-configure.md).

리소스의 태그를 기반으로 리소스에 대한 액세스를 제한하는 자격 증명 기반 정책의 예시는 [태그를 기반으로 App Runner 서비스에 대한 액세스 제어](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-view-widget-tags)에서 확인할 수 있습니다.

## App Runner 사용자 권한
<a name="security_iam_service-with-iam-users"></a>

App Runner를 사용하려면 IAM 사용자에게 App Runner 작업에 대한 권한이 필요합니다. 사용자에게 권한을 부여하는 일반적인 방법은 IAM 사용자 또는 그룹에 정책을 연결하는 것입니다. 사용자 권한 관리에 대한 자세한 내용은 [IAM 사용 설명서의 IAM 사용자의 권한 변경을](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html) 참조하세요. ** 

App Runner는 사용자에게 연결할 수 있는 두 가지 관리형 정책을 제공합니다.
+ [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppRunnerReadOnlyAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppRunnerReadOnlyAccess.html) - App Runner 리소스에 대한 세부 정보를 나열하고 볼 수 있는 권한을 부여합니다.
+ [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppRunnerFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppRunnerFullAccess.html)- 모든 App Runner 작업에 대한 권한을 부여합니다.

사용자 권한을 보다 세밀하게 제어하려면 사용자 지정 정책을 생성하여 사용자에게 연결할 수 있습니다. 자세한 내용은 [IAM 사용 설명서의 IAM 정책 생성을](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) 참조하세요. ** 

사용자 정책의 예는 섹션을 참조하세요[사용자 정책](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-users).

## App Runner IAM 역할
<a name="security_iam_service-with-iam-roles"></a>

[IAM 역할은](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) 특정 권한이 AWS 계정 있는 내의 엔터티입니다.

### 서비스 연결 역할
<a name="security_iam_service-with-iam-roles-service-linked"></a>

[서비스 연결 역할을](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) 사용하면 AWS 서비스가 다른 서비스의 리소스에 액세스하여 사용자를 대신하여 작업을 완료할 수 있습니다. 서비스 연결 역할은 IAM 계정에 나타나고 서비스가 소유합니다. IAM 관리자는 서비스 연결 역할의 권한을 볼 수 있지만 편집할 수 없습니다.

App Runner는 서비스 연결 역할을 지원합니다. App Runner 서비스 연결 역할 생성 또는 관리에 대한 자세한 내용은 섹션을 참조하세요[App Runner에 서비스 연결 역할 사용](security-iam-slr.md).

### 서비스 역할
<a name="security_iam_service-with-iam-roles-service"></a>

이 기능을 사용하면 서비스가 사용자를 대신하여 [서비스 역할](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role)을 수임할 수 있습니다. 이 역할을 사용하면 서비스가 다른 서비스의 리소스에 액세스해 사용자를 대신해 작업을 완료할 수 있습니다. 서비스 역할은 IAM 계정에 나타나고, 해당 계정이 소유합니다. 즉, IAM 사용자는이 역할에 대한 권한을 변경할 수 있습니다. 그러나 권한을 변경하면 서비스의 기능이 손상될 수 있습니다.

App Runner는 몇 가지 서비스 역할을 지원합니다.

#### 액세스 역할
<a name="security_iam_service-with-iam-roles-service.access"></a>

액세스 역할은 App Runner가 계정의 Amazon Elastic Container Registry(Amazon ECR)에 있는 이미지에 액세스하는 데 사용하는 역할입니다. Amazon ECR의 이미지에 액세스하는 데 필요하며 Amazon ECR Public에서는 필요하지 않습니다.

Amazon ECR의 이미지를 기반으로 서비스를 생성하기 전에 IAM을 사용하여 서비스 역할을 생성합니다. 서비스 역할[https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppRunnerServicePolicyForECRAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSAppRunnerServicePolicyForECRAccess.html)에서 관리형 정책을 사용합니다. 그런 다음 [SourceConfiguration](https://docs.aws.amazon.com/apprunner/latest/api/API_SourceConfiguration.html) 파라미터의 [AuthenticationConfiguration](https://docs.aws.amazon.com/apprunner/latest/api/API_AuthenticationConfiguration.html) 멤버에서 [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) API를 호출하거나 App Runner 콘솔을 사용하여 서비스를 생성할 때이 역할을 App Runner에 전달할 수 있습니다.

**참고**  
액세스 역할에 대한 사용자 지정 정책을 직접 생성하는 경우 `ecr:GetAuthorizationToken` 작업에 `"Resource": "*"`를 지정해야 합니다. 토큰은 액세스 권한이 있는 모든 Amazon ECR 레지스트리에 액세스하는 데 사용할 수 있습니다.

액세스 역할을 생성할 때 App Runner 서비스 보안 주체를 신뢰할 수 있는 엔터티`build.apprunner.amazonaws.com`로 선언하는 신뢰 정책을 추가해야 합니다.

##### 액세스 역할에 대한 신뢰 정책
<a name="security_iam_service-with-iam-roles-service.access.trust"></a>

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "build.apprunner.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

App Runner 콘솔을 사용하여 서비스를 생성하는 경우 콘솔은 자동으로 액세스 역할을 생성하고 새 서비스에 대해 선택할 수 있습니다. 콘솔에는 계정의 다른 역할도 나열되며 원하는 경우 다른 역할을 선택할 수 있습니다.

#### 인스턴스 역할
<a name="security_iam_service-with-iam-roles-service.instance"></a>

인스턴스 역할은 App Runner가 서비스의 컴퓨팅 인스턴스에 필요한 AWS 서비스 작업에 대한 권한을 제공하는 데 사용하는 선택적 역할입니다. 애플리케이션 코드가 AWS 작업(APIs. 인스턴스 역할에 필요한 권한을 포함하거나 자체 사용자 지정 정책을 생성하여 인스턴스 역할에 사용합니다. 코드에서 사용하는 호출을 예상할 수 있는 방법은 없습니다. 따라서이 목적을 위한 관리형 정책은 제공하지 않습니다.

App Runner 서비스를 생성하기 전에 IAM을 사용하여 필요한 사용자 지정 또는 임베디드 정책으로 서비스 역할을 생성합니다. 그런 다음 [InstanceConfiguration](https://docs.aws.amazon.com/apprunner/latest/api/API_InstanceConfiguration.html) 파라미터의 `InstanceRoleArn` 멤버에서 [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) API를 호출하거나 App Runner 콘솔을 사용하여 서비스를 생성할 때이 역할을 App Runner에 인스턴스 역할로 전달할 수 있습니다.

인스턴스 역할을 생성할 때 App Runner 서비스 보안 주체를 신뢰할 수 있는 엔터티`tasks.apprunner.amazonaws.com`로 선언하는 신뢰 정책을 추가해야 합니다.

##### 인스턴스 역할에 대한 신뢰 정책
<a name="security_iam_service-with-iam-roles-service.instance.trust"></a>

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "tasks.apprunner.aws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

App Runner 콘솔을 사용하여 서비스를 생성하는 경우 콘솔은 계정의 역할을 나열하고이 목적으로 생성한 역할을 선택할 수 있습니다.

서비스 생성에 대한 자세한 내용은 섹션을 참조하세요[App Runner 서비스 생성](manage-create.md).

# App Runner 자격 증명 기반 정책 예제
<a name="security_iam_id-based-policy-examples"></a>

기본적으로 IAM 사용자 및 역할에는 AWS App Runner 리소스를 생성하거나 수정할 수 있는 권한이 없습니다. 또한 AWS Management Console AWS CLI, 또는 AWS API를 사용하여 작업을 수행할 수 없습니다. IAM 관리자는 지정된 리소스에서 특정 API 작업을 수행할 수 있는 권한을 사용자와 역할에게 부여하는 IAM 정책을 생성해야 합니다. 그런 다음 관리자는 해당 권한이 필요한 IAM 사용자 또는 그룹에 이러한 정책을 연결해야 합니다.

이러한 예제 JSON 정책 문서를 사용하여 IAM ID 기반 정책을 생성하는 방법을 알아보려면 *IAM 사용 설명서*의 [JSON 탭에서 정책 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor)을 참조하세요.

다른 App Runner 보안 주제는 섹션을 참조하세요[App Runner의 보안](security.md).

**Topics**
+ [정책 모범 사례](#security_iam_service-with-iam-policy-best-practices)
+ [사용자 정책](#security_iam_id-based-policy-examples-users)
+ [태그를 기반으로 App Runner 서비스에 대한 액세스 제어](#security_iam_id-based-policy-examples-view-widget-tags)

## 정책 모범 사례
<a name="security_iam_service-with-iam-policy-best-practices"></a>

자격 증명 기반 정책에 따라 계정에서 사용자가 App Runner 리소스를 생성, 액세스 또는 삭제할 수 있는지 여부가 결정됩니다. 이 작업으로 인해 AWS 계정에 비용이 발생할 수 있습니다. ID 기반 정책을 생성하거나 편집할 때는 다음 지침과 권장 사항을 따르세요.
+ ** 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 Access Analyzer를 통해 IAM 정책을 확인하여 안전하고 기능적인 권한 보장** - IAM Access Analyzer에서는 IAM 정책 언어(JSON)와 모범 사례가 정책에서 준수되도록 새로운 및 기존 정책을 확인합니다. IAM Access Analyzer는 100개 이상의 정책 확인 항목과 실행 가능한 추천을 제공하여 안전하고 기능적인 정책을 작성하도록 돕습니다. 자세한 내용은 *IAM 사용 설명서*의 [IAM Access Analyzer에서 정책 검증](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html)을 참조하세요.
+ **다중 인증(MFA) 필요 -**에서 IAM 사용자 또는 루트 사용자가 필요한 시나리오가 있는 경우 추가 보안을 위해 MFA를 AWS 계정켭니다. 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)를 참조하세요.

## 사용자 정책
<a name="security_iam_id-based-policy-examples-users"></a>

App Runner 콘솔에 액세스하려면 IAM 사용자에게 최소 권한 집합이 있어야 합니다. 이러한 권한은에서 App Runner 리소스에 대한 세부 정보를 나열하고 볼 수 있도록 허용해야 합니다 AWS 계정. 최소 필수 권한보다 더 제한적인 자격 증명 기반 정책을 생성하는 경우 콘솔은 해당 정책이 있는 사용자에 대해 의도한 대로 작동하지 않습니다.

App Runner는 사용자에게 연결할 수 있는 두 가지 관리형 정책을 제공합니다.
+ `AWSAppRunnerReadOnlyAccess` - App Runner 리소스에 대한 세부 정보를 나열하고 볼 수 있는 권한을 부여합니다.
+ `AWSAppRunnerFullAccess` - 모든 App Runner 작업에 대한 권한을 부여합니다.

사용자가 App Runner 콘솔을 사용할 수 있도록 하려면 최소한 `AWSAppRunnerReadOnlyAccess` 관리형 정책을 사용자에게 연결합니다. 대신 `AWSAppRunnerFullAccess` 관리형 정책을 연결하거나 특정 추가 권한을 추가하여 사용자가 리소스를 생성, 수정 및 삭제할 수 있습니다. 자세한 내용은 *IAM 사용 설명서*의 [사용자에게 권한 추가](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)를 참조하십시오.

 AWS CLI 또는 AWS API만 호출하는 사용자에게는 최소 콘솔 권한을 허용할 필요가 없습니다. 대신 사용자가 수행하도록 허용하려는 API 작업과 일치하는 작업에만 액세스하도록 허용합니다.

다음 예제에서는 사용자 지정 사용자 정책을 보여줍니다. 이를 사용자 지정 사용자 정책을 정의하기 위한 시작점으로 사용할 수 있습니다. 예제를 복사하거나 작업을 제거하고, 리소스 범위를 좁히고, 조건을 추가합니다.

### 예: 콘솔 및 연결 관리 사용자 정책
<a name="security_iam_id-based-policy-examples-users.connection-only"></a>

이 예제 정책은 콘솔 액세스를 활성화하고 연결 생성 및 관리를 허용합니다. App Runner 서비스 생성 및 관리는 허용되지 않습니다. 소스 코드 자산에 대한 App Runner 서비스 액세스를 관리하는 역할을 가진 사용자에게 연결할 수 있습니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "apprunner:List*",
        "apprunner:Describe*",
        "apprunner:CreateConnection",
        "apprunner:DeleteConnection"
      ],
      "Resource": "*"
    }
  ]
}
```

------

### 예: 조건 키를 사용하는 사용자 정책
<a name="security_iam_id-based-policy-examples-users.services-only"></a>

이 섹션의 예제는 일부 리소스 속성 또는 작업 파라미터에 의존하는 조건부 권한을 보여줍니다.

이 예제 정책은 App Runner 서비스를 생성할 수 있지만 라는 연결을 사용하여 거부합니다`prod`.

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

****  

```
  { "Version":"2012-10-17",		 	 	 
  "Statement": 
     [ { "Sid": "AllowCreateAppRunnerServiceWithNonProdConnections", 
         "Effect": "Allow",
         "Action": "apprunner:CreateService",
         "Resource": "*",
         "Condition": 
            { "ArnNotLike":
               {"apprunner:ConnectionArn":"arn:aws:apprunner:*:*:connection/prod/*"} 
            } 
       }
     ] 
   }
```

------

이 예제 정책은 라는 Auto Scaling 구성으로`preprod`만 라는 App Runner 서비스를 업데이트할 수 있도록 합니다`preprod`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowUpdatePreProdAppRunnerServiceWithPreProdASConfig",
            "Effect": "Allow",
            "Action": "apprunner:UpdateService",
            "Resource": "arn:aws:apprunner:*:*:service/preprod/*",
            "Condition": {
                "ArnLike": {
                    "apprunner:AutoScalingConfigurationArn": "arn:aws:apprunner:us-east-1:*:autoscalingconfiguration/preprod/*"
                 }
               }
         }
     ]
}
```

------

## 태그를 기반으로 App Runner 서비스에 대한 액세스 제어
<a name="security_iam_id-based-policy-examples-view-widget-tags"></a>

자격 증명 기반 정책의 조건을 사용하여 태그를 기반으로 App Runner 리소스에 대한 액세스를 제어할 수 있습니다. 이 예제에서는 App Runner 서비스 삭제를 허용하는 정책을 생성하는 방법을 보여줍니다. 하지만 `Owner` 서비스 태그가 해당 사용자의 사용자 이름 값을 가지고 있는 경우에만 권한이 부여됩니다. 이 정책은 콘솔에서 이 태스크를 완료하는 데 필요한 권한도 부여합니다.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ListServicesInConsole",
      "Effect": "Allow",
      "Action": "apprunner:ListServices",
      "Resource": "*"
    },
    {
      "Sid": "DeleteServiceIfOwner",
      "Effect": "Allow",
      "Action": "apprunner:DeleteService",
      "Resource": "arn:aws:apprunner:us-east-1:*:service/*",
      "Condition": {
        "StringEquals": {"aws:ResourceTag/Owner": "${aws:username}"}
      }
    }
  ]
}
```

------

이 정책을 계정의 IAM 사용자에게 연결할 수 있습니다. 라는 사용자가 App Runner 서비스를 삭제하려고 `richard-roe` 하면 서비스에 `Owner=richard-roe` 또는 태그를 지정해야 합니다`owner=richard-roe`. 그렇지 않으면 액세스가 거부됩니다. 조건 키 이름은 대소문자를 구분하지 않기 때문에 조건 태그 키 `Owner`는 `Owner` 및 `owner` 모두와 일치합니다. 자세한 정보는 *IAM 사용 설명서*의 [IAM JSON 정책 요소: 조건](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)을 참조하세요.

# App Runner에 서비스 연결 역할 사용
<a name="security-iam-slr"></a>

AWS App Runner 는 AWS Identity and Access Management (IAM)[ 서비스 연결 역할을](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) 사용합니다. 서비스 연결 역할은 App Runner에 직접 연결된 고유한 유형의 IAM 역할입니다. 서비스 연결 역할은 App Runner에서 사전 정의하며 서비스가 사용자를 대신하여 다른 AWS 서비스를 호출하는 데 필요한 모든 권한을 포함합니다.

**Topics**
+ [관리를 위한 역할 사용](using-service-linked-roles-management.md)
+ [네트워킹에 역할 사용](using-service-linked-roles-networking.md)

# 관리를 위한 역할 사용
<a name="using-service-linked-roles-management"></a>

AWS App Runner 는 AWS Identity and Access Management (IAM)[ 서비스 연결 역할을](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) 사용합니다. 서비스 연결 역할은 App Runner에 직접 연결된 고유한 유형의 IAM 역할입니다. 서비스 연결 역할은 App Runner에서 사전 정의하며 서비스가 사용자를 대신하여 다른 AWS 서비스를 호출하는 데 필요한 모든 권한을 포함합니다.

서비스 연결 역할을 사용하면 필요한 권한을 수동으로 추가할 필요가 없으므로 App Runner를 더 쉽게 설정할 수 있습니다. App Runner는 서비스 연결 역할의 권한을 정의하며, 달리 정의되지 않은 한 App Runner만 해당 역할을 수임할 수 있습니다. 정의된 권한에는 신뢰 정책과 권한 정책이 포함되며 이 권한 정책은 다른 IAM 엔터티에 연결할 수 없습니다.

먼저 관련 리소스를 삭제한 후에만 서비스 연결 역할을 삭제할 수 있습니다. 이렇게 하면 리소스에 대한 액세스 권한을 실수로 제거할 수 없기 때문에 App Runner 리소스가 보호됩니다.

서비스 연결 역할을 지원하는 기타 서비스에 대한 자세한 내용은 [IAM으로 작업하는AWS 서비스](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)를 참조해 **서비스 연결 역할** 열이 **예(Yes)**인 서비스를 찾으세요. 해당 서비스에 대한 서비스 연결 역할 설명서를 보려면 **예(Yes)** 링크를 선택합니다.

## App Runner에 대한 서비스 연결 역할 권한
<a name="service-linked-role-permissions-management"></a>

App Runner는 **AWSServiceRoleForAppRunner**라는 서비스 연결 역할을 사용합니다.

역할을 통해 App Runner는 다음 작업을 수행할 수 있습니다.
+ Amazon CloudWatch Logs에 로그 그룹에 로그를 푸시합니다.
+ Amazon CloudWatch Events 규칙을 생성하여 Amazon Elastic Container Registry(Amazon ECR) 이미지 푸시를 구독합니다.
+ 추적 정보를 로 전송합니다 AWS X-Ray.

AWSServiceRoleForAppRunner 서비스 연결 역할은 역할을 수임하기 위해 다음 서비스를 신뢰합니다.
+ `apprunner.amazonaws.com`

AWSServiceRoleForAppRunner 서비스 연결 역할의 권한 정책에는 App Runner가 사용자를 대신하여 작업을 완료하는 데 필요한 모든 권한이 포함되어 있습니다.
+ 관리형 정책 [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AppRunnerServiceRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AppRunnerServiceRolePolicy.html)
+ X-Ray 추적 정책 - 다음 정책 콘텐츠를 참조하세요.

### X-Ray 추적 정책
<a name="service-linked-role-permissions-management.policy2"></a>

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "xray:PutTraceSegments",
        "xray:PutTelemetryRecords",
        "xray:GetSamplingRules",
        "xray:GetSamplingTargets",
        "xray:GetSamplingStatisticSummaries"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

IAM 엔터티(사용자, 그룹, 역할 등)가 서비스 연결 역할을 생성하고 편집하거나 삭제할 수 있도록 권한을 구성할 수 있습니다. 자세한 내용은 IAM 사용 설명서**의 [서비스 연결 역할 권한](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) 섹션을 참조하세요.

## App Runner에 대한 서비스 연결 역할 생성
<a name="create-service-linked-role-management"></a>

서비스 연결 역할은 수동으로 생성할 필요가 없습니다. AWS Management Console AWS CLI, 또는 AWS API에서 App Runner 서비스를 생성하면 App Runner가 서비스 연결 역할을 생성합니다.

이 서비스 연결 역할을 삭제했다가 다시 생성해야 하는 경우 동일한 프로세스를 사용하여 계정에서 역할을 다시 생성할 수 있습니다. App Runner 서비스를 생성하면 App Runner가 서비스 연결 역할을 다시 생성합니다.

## App Runner에 대한 서비스 연결 역할 편집
<a name="edit-service-linked-role-management"></a>

App Runner는 AWSServiceRoleForAppRunner 서비스 연결 역할을 편집하도록 허용하지 않습니다. 서비스 연결 역할을 생성한 후에는 다양한 개체가 역할을 참조할 수 있기 때문에 역할 이름을 변경할 수 없습니다. 하지만 IAM을 사용하여 역할의 설명을 편집할 수 있습니다. 자세한 내용은 IAM 사용 설명서**의 [서비스 연결 역할 편집](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)을 참조하세요.

## App Runner에 대한 서비스 연결 역할 삭제
<a name="delete-service-linked-role-management"></a>

서비스 연결 역할이 필요한 기능 또는 서비스가 더 이상 필요 없는 경우에는 해당 역할을 삭제하는 것이 좋습니다. 따라서 적극적으로 모니터링하거나 유지하지 않는 미사용 엔터티가 없도록 합니다. 단, 서비스 연결 역할을 정리해야 수동으로 삭제할 수 있습니다.

### 서비스 연결 역할을 정리
<a name="service-linked-role-review-before-delete-management"></a>

IAM을 사용하여 서비스 연결 역할을 삭제하기 전에 먼저 역할에서 사용되는 리소스를 삭제해야 합니다.

App Runner에서 이는 계정의 모든 App Runner 서비스를 삭제하는 것을 의미합니다. App Runner 서비스 삭제에 대한 자세한 내용은 섹션을 참조하세요[App Runner 서비스 삭제](manage-delete.md).

**참고**  
리소스를 삭제하려고 할 때 App Runner 서비스가 역할을 사용하는 경우 삭제에 실패할 수 있습니다. 이 문제가 발생하면 몇 분 기다렸다가 작업을 다시 시도하세요.

### 수동으로 서비스 연결 역할 삭제
<a name="slr-manual-delete-management"></a>

IAM 콘솔 AWS CLI, 또는 AWS API를 사용하여 AWSServiceRoleForAppRunner 서비스 연결 역할을 삭제합니다. 자세한 내용은 [IAM 사용 설명서](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)의 *서비스 연결 역할 삭제*를 참조하세요.

## App Runner 서비스 연결 역할에 지원되는 리전
<a name="slr-regions-management"></a>

App Runner는 서비스를 사용할 수 있는 모든 리전에서 서비스 연결 역할 사용을 지원합니다. 자세한 내용은AWS 일반 참조에서 [AWS App Runner 엔드포인트 및 할당량](https://docs.aws.amazon.com/general/latest/gr/apprunner.html)을 참조하세요.**

# 네트워킹에 역할 사용
<a name="using-service-linked-roles-networking"></a>

AWS App Runner 는 AWS Identity and Access Management (IAM)[ 서비스 연결 역할을](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) 사용합니다. 서비스 연결 역할은 App Runner에 직접 연결된 고유한 유형의 IAM 역할입니다. 서비스 연결 역할은 App Runner에서 사전 정의하며 서비스가 사용자를 대신하여 다른 AWS 서비스를 호출하는 데 필요한 모든 권한을 포함합니다.

서비스 연결 역할을 사용하면 필요한 권한을 수동으로 추가할 필요가 없으므로 App Runner를 더 쉽게 설정할 수 있습니다. App Runner는 서비스 연결 역할의 권한을 정의하며, 달리 정의되지 않은 한 App Runner만 해당 역할을 수임할 수 있습니다. 정의된 권한에는 신뢰 정책과 권한 정책이 포함되며 이 권한 정책은 다른 IAM 엔터티에 연결할 수 없습니다.

먼저 관련 리소스를 삭제한 후에만 서비스 연결 역할을 삭제할 수 있습니다. 이렇게 하면 리소스에 대한 액세스 권한을 실수로 제거할 수 없기 때문에 App Runner 리소스가 보호됩니다.

서비스 연결 역할을 지원하는 기타 서비스에 대한 자세한 내용은 [IAM으로 작업하는AWS 서비스](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)를 참조해 **서비스 연결 역할** 열이 **예(Yes)**인 서비스를 찾으세요. 해당 서비스에 대한 서비스 연결 역할 설명서를 보려면 **예(Yes)** 링크를 선택합니다.

## App Runner에 대한 서비스 연결 역할 권한
<a name="service-linked-role-permissions-networking"></a>

App Runner는 **AWSServiceRoleForAppRunnerNetworking**이라는 서비스 연결 역할을 사용합니다.

역할을 통해 App Runner는 다음 작업을 수행할 수 있습니다.
+ VPC를 App Runner 서비스에 연결하고 네트워크 인터페이스를 관리합니다.

AWSServiceRoleForAppRunnerNetworking 서비스 연결 역할은 역할을 수임하기 위해 다음 서비스를 신뢰합니다.
+ `networking.apprunner.amazonaws.com`

라는 역할 권한 정책에는 App Runner가 사용자를 대신하여 작업을 완료하는 데 필요한 모든 권한이 [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AppRunnerNetworkingServiceRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AppRunnerNetworkingServiceRolePolicy.html) 포함되어 있습니다.

IAM 엔터티(사용자, 그룹, 역할 등)가 서비스 연결 역할을 생성하고 편집하거나 삭제할 수 있도록 권한을 구성할 수 있습니다. 자세한 내용은 IAM 사용 설명서**의 [서비스 연결 역할 권한](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) 섹션을 참조하세요.

## App Runner에 대한 서비스 연결 역할 생성
<a name="create-service-linked-role-networking"></a>

서비스 연결 역할은 수동으로 생성할 필요가 없습니다. AWS Management Console AWS CLI, 또는 AWS API에서 VPC 커넥터를 생성하면 App Runner가 서비스 연결 역할을 생성합니다.

이 서비스 연결 역할을 삭제했다가 다시 생성해야 하는 경우 동일한 프로세스를 사용하여 계정에서 역할을 다시 생성할 수 있습니다. VPC 커넥터를 생성하면 App Runner가 서비스 연결 역할을 다시 생성합니다.

## App Runner에 대한 서비스 연결 역할 편집
<a name="edit-service-linked-role-networking"></a>

App Runner는 AWSServiceRoleForAppRunnerNetworking 서비스 연결 역할을 편집하도록 허용하지 않습니다. 서비스 연결 역할을 생성한 후에는 다양한 개체가 역할을 참조할 수 있기 때문에 역할 이름을 변경할 수 없습니다. 하지만 IAM을 사용하여 역할의 설명을 편집할 수 있습니다. 자세한 내용은 IAM 사용 설명서**의 [서비스 연결 역할 편집](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)을 참조하세요.

## App Runner에 대한 서비스 연결 역할 삭제
<a name="delete-service-linked-role-networking"></a>

서비스 연결 역할이 필요한 기능 또는 서비스가 더 이상 필요 없는 경우에는 해당 역할을 삭제하는 것이 좋습니다. 따라서 적극적으로 모니터링하거나 유지하지 않는 미사용 엔터티가 없도록 합니다. 단, 서비스 연결 역할을 정리해야 수동으로 삭제할 수 있습니다.

### 서비스 연결 역할 정리
<a name="service-linked-role-review-before-delete-networking"></a>

IAM을 사용하여 서비스 연결 역할을 삭제하기 전에 먼저 역할에서 사용되는 리소스를 삭제해야 합니다.

App Runner에서 이는 계정의 모든 App Runner 서비스에서 VPC 커넥터를 연결 해제하고 VPC 커넥터를 삭제하는 것을 의미합니다. 자세한 내용은 [발신 트래픽에 대한 VPC 액세스 활성화](network-vpc.md) 단원을 참조하십시오.

**참고**  
리소스를 삭제하려고 할 때 App Runner 서비스가 역할을 사용하는 경우 삭제에 실패할 수 있습니다. 이 문제가 발생하면 몇 분 기다렸다가 작업을 다시 시도하세요.

### 수동으로 서비스 연결 역할 삭제
<a name="slr-manual-delete-networking"></a>

IAM 콘솔 AWS CLI, 또는 AWS API를 사용하여 AWSServiceRoleForAppRunnerNetworking 서비스 연결 역할을 삭제합니다. 자세한 내용은 [IAM 사용 설명서](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)의 *서비스 연결 역할 삭제*를 참조하세요.

## App Runner 서비스 연결 역할에 지원되는 리전
<a name="slr-regions-networking"></a>

App Runner는 서비스를 사용할 수 있는 모든 리전에서 서비스 연결 역할 사용을 지원합니다. 자세한 내용은AWS 일반 참조에서 [AWS App Runner 엔드포인트 및 할당량](https://docs.aws.amazon.com/general/latest/gr/apprunner.html)을 참조하세요.**

# AWS 에 대한 관리형 정책 AWS App Runner
<a name="security-iam-awsmanpol"></a>







 AWS 관리형 정책은에서 생성하고 관리하는 독립 실행형 정책입니다 AWS. AWS 관리형 정책은 사용자, 그룹 및 역할에 권한 할당을 시작할 수 있도록 많은 일반적인 사용 사례에 대한 권한을 제공하도록 설계되었습니다.

 AWS 관리형 정책은 모든 AWS 고객이 사용할 수 있으므로 특정 사용 사례에 대해 최소 권한 권한을 부여하지 않을 수 있습니다. 사용 사례에 고유한 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)을 정의하여 권한을 줄이는 것이 좋습니다.

 AWS 관리형 정책에 정의된 권한은 변경할 수 없습니다. 가 AWS 관리형 정책에 정의된 권한을 AWS 업데이트하면 정책이 연결된 모든 보안 주체 자격 증명(사용자, 그룹 및 역할)에 영향을 줍니다. AWS 는 새 AWS 서비스 가 시작되거나 기존 서비스에 새 API 작업을 사용할 수 있게 되면 AWS 관리형 정책을 업데이트할 가능성이 높습니다.

자세한 내용은 *IAM 사용 설명서*의 [AWS 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)을 참조하세요.













## AWS 관리형 정책에 대한 App Runner 업데이트
<a name="security-iam-awsmanpol-updates"></a>



이 서비스가 이러한 변경 사항을 추적하기 시작한 이후 App Runner의 AWS 관리형 정책 업데이트에 대한 세부 정보를 봅니다. 이 페이지의 변경 사항에 대한 자동 알림을 받으려면 App Runner 문서 기록 페이지에서 RSS 피드를 구독하세요.




| 변경 사항 | 설명 | 날짜 | 
| --- | --- | --- | 
|  [AWSAppRunnerReadOnlyAccess](security_iam_service-with-iam.md#security_iam_service-with-iam-users) – 새 정책  |  App Runner는 사용자가 App Runner 리소스에 대한 세부 정보를 나열하고 볼 수 있도록 허용하는 새 정책을 추가했습니다.  | 2022년 2월 24일 | 
|  [AWSAppRunnerFullAccess](security_iam_service-with-iam.md#security_iam_service-with-iam-users) - 기존 정책에 대한 업데이트  |  App Runner는 `AWSServiceRoleForAppRunnerNetworking` 서비스 연결 역할을 생성할 수 있도록 `iam:CreateServiceLinkedRole` 작업에 대한 리소스 목록을 업데이트했습니다.  | 2022년 2월 8일 | 
|  [AppRunnerNetworkingServiceRolePolicy](using-service-linked-roles-networking.md) – 새 정책  |  App Runner는 App Runner가 Amazon Virtual Private Cloud를 호출하여 App Runner 서비스에 VPC를 연결하고 App Runner 서비스를 대신하여 네트워크 인터페이스를 관리할 수 있도록 허용하는 새 정책을 추가했습니다. 정책은 `AWSServiceRoleForAppRunnerNetworking` 서비스 연결 역할에 사용됩니다.  | 2022년 2월 8일 | 
|  [AWSAppRunnerFullAccess](security_iam_service-with-iam.md#security_iam_service-with-iam-users) – 새 정책  |  App Runner는 사용자가 모든 App Runner 작업을 수행할 수 있도록 허용하는 새 정책을 추가했습니다.  | 2022년 1월 10일 | 
|  [AppRunnerServiceRolePolicy](using-service-linked-roles-management.md) – 새 정책  |  App Runner는 App Runner가 App Runner 서비스를 대신하여 Amazon CloudWatch Logs 및 Amazon CloudWatch Events를 호출할 수 있도록 허용하는 새 정책을 추가했습니다. 정책은 `AWSServiceRoleForAppRunner` 서비스 연결 역할에 사용됩니다.  | 2021년 3월 1일 | 
|  [AWSAppRunnerServicePolicyForECRAccess](security_iam_service-with-iam.md#security_iam_service-with-iam-roles-service.access) – 새 정책  |  App Runner는 App Runner가 계정의 Amazon Elastic Container Registry(Amazon ECR) 이미지에 액세스할 수 있도록 허용하는 새 정책을 추가했습니다.  | 2021년 3월 1일 | 
|  App Runner에서 변경 사항 추적 시작  |  App Runner는 AWS 관리형 정책에 대한 변경 사항 추적을 시작했습니다.  | 2021년 3월 1일 | 

# App Runner 자격 증명 및 액세스 문제 해결
<a name="security_iam_troubleshoot"></a>

다음 정보를 사용하여 및 IAM으로 작업할 때 발생할 수 있는 일반적인 문제를 진단 AWS App Runner 하고 수정할 수 있습니다.

다른 App Runner 보안 주제는 섹션을 참조하세요[App Runner의 보안](security.md).

**Topics**
+ [App Runner에서 작업을 수행할 권한이 없음](#security_iam_troubleshoot-no-permissions)
+ [내 외부의 사람이 내 App Runner 리소스 AWS 계정 에 액세스하도록 허용하고 싶습니다.](#security_iam_troubleshoot-cross-account-access)

## App Runner에서 작업을 수행할 권한이 없음
<a name="security_iam_troubleshoot-no-permissions"></a>

에서 작업을 수행할 권한이 없다는 AWS Management Console 메시지가 표시되면 관리자에게 문의하여 지원을 받으세요. 관리자는 AWS 로그인 자격 증명을 제공한 사람입니다.

다음 예제 오류는 라는 IAM 사용자가 콘솔을 사용하여 App Runner 서비스에 대한 세부 정보를 보`marymajor`려고 하지만 `apprunner:DescribeService` 권한이 없는 경우에 발생합니다.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: apprunner:DescribeService on resource: my-example-service
```

이 경우 Mary는 `apprunner:DescribeService` 작업을 사용하여 `my-example-service` 리소스에 액세스할 수 있도록 정책을 업데이트하도록 관리자에게 요청합니다.

## 내 외부의 사람이 내 App Runner 리소스 AWS 계정 에 액세스하도록 허용하고 싶습니다.
<a name="security_iam_troubleshoot-cross-account-access"></a>

다른 계정의 사용자 또는 조직 외부의 사람이 리소스에 액세스할 때 사용할 수 있는 역할을 생성할 수 있습니다. 역할을 수임할 신뢰할 수 있는 사람을 지정할 수 있습니다. 리소스 기반 정책 또는 액세스 제어 목록(ACL)을 지원하는 서비스의 경우, 이러한 정책을 사용하여 다른 사람에게 리소스에 대한 액세스 권한을 부여할 수 있습니다.

자세한 내용은 다음을 참조하세요.
+ App Runner가 이러한 기능을 지원하는지 여부를 알아보려면 섹션을 참조하세요[App Runner가 IAM에서 작동하는 방식](security_iam_service-with-iam.md).
+ 소유 AWS 계정 한의 리소스에 대한 액세스 권한을 제공하는 방법을 알아보려면 [IAM 사용 설명서의 소유한 다른의 IAM 사용자에게 액세스 권한 제공을 참조 AWS 계정 하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html). ** 
+ 타사에 리소스에 대한 액세스 권한을 제공하는 방법을 알아보려면 *IAM 사용 설명서*의 [타사가 AWS 계정 소유한에 대한 액세스 권한 제공을](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) AWS 계정참조하세요.
+ ID 페더레이션을 통해 액세스 권한을 제공하는 방법을 알아보려면 *IAM 사용 설명서*의 [외부에서 인증된 사용자에게 액세스 권한 제공(ID 페더레이션)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html)을 참조하세요.
+ 크로스 계정 액세스에 대한 역할과 리소스 기반 정책 사용의 차이점을 알아보려면 *IAM 사용 설명서*의 [IAM의 크로스 계정 리소스 액세스](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html)를 참조하세요.

# App Runner에서 로깅 및 모니터링
<a name="security-monitoring"></a>

모니터링은 AWS App Runner 서비스의 안정성, 가용성 및 성능을 유지하는 데 중요한 부분입니다. AWS 솔루션의 모든 부분에서 모니터링 데이터를 수집하면 장애가 발생할 경우 더 쉽게 디버깅할 수 있습니다. App Runner는 App Runner 서비스를 모니터링하고 잠재적 인시던트에 대응하기 위한 여러 AWS 도구와 통합됩니다.

**Amazon CloudWatch 경보**  
Amazon CloudWatch 경보를 사용하면 지정한 기간 동안 서비스 지표를 볼 수 있습니다. 지표가 지정된 기간 수 동안 지정된 임계값을 초과하면 알림을 받게 됩니다.  
App Runner는 서비스 전체와 웹 서비스를 실행하는 인스턴스(스케일링 단위)에 대한 다양한 지표를 수집합니다. 자세한 내용은 [지표(CloudWatch)](monitor-cw.md) 단원을 참조하십시오.

**애플리케이션 로그**  
App Runner는 애플리케이션 코드의 출력을 수집하여 Amazon CloudWatch Logs로 스트리밍합니다. 이 출력의 내용은 사용자에게 달려 있습니다. 예를 들어 웹 서비스에 대한 요청의 세부 레코드를 포함할 수 있습니다. 이러한 로그 레코드는 보안 및 액세스 감사에 유용할 수 있습니다. 자세한 내용은 [로그(CloudWatch Logs)](monitor-cwl.md) 단원을 참조하십시오.

**AWS CloudTrail 작업 로그**  
App Runner는 App Runner에서 사용자 AWS CloudTrail, 역할 또는 서비스가 수행한 작업에 대한 레코드를 제공하는 AWS 서비스와 통합됩니다. CloudTrail은 App Runner에 대한 모든 API 호출을 이벤트로 캡처합니다. CloudTrail 콘솔에서 최신 이벤트를 볼 수 있으며, 추적을 생성하여 CloudTrail 이벤트를 Amazon Simple Storage Service(Amazon S3) 버킷에 지속적으로 전달할 수 있습니다. 자세한 내용은 [API 작업(CloudTrail)](monitor-ct.md) 단원을 참조하십시오.

# App Runner에 대한 규정 준수 검증
<a name="security-compliance"></a>

타사 감사자는 여러 규정 준수 프로그램의 AWS App Runner 일환으로의 보안 및 AWS 규정 준수를 평가합니다. 여기에는 SOC, PCI, FedRAMP, HIPAA 등이 포함됩니다.

 AWS 서비스 가 특정 규정 준수 프로그램의 범위 내에 있는지 알아보려면 [AWS 서비스 규정 준수 프로그램 범위 내](https://aws.amazon.com/compliance/services-in-scope/)를 참조하고 관심 있는 규정 준수 프로그램을 선택합니다. 일반 정보는 [AWS 규정 준수 프로그램](https://aws.amazon.com/compliance/programs/).

를 사용하여 타사 감사 보고서를 다운로드할 수 있습니다 AWS Artifact. 자세한 내용은 [Downloading Reports inDownloading AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html)을 참조하세요.

사용 시 규정 준수 책임은 데이터의 민감도, 회사의 규정 준수 목표 및 관련 법률과 규정에 따라 AWS 서비스 결정됩니다. 사용 시 규정 준수 책임에 대한 자세한 내용은 [AWS 보안 설명서를](https://docs.aws.amazon.com/security/) AWS 서비스참조하세요.

다른 App Runner 보안 주제는 섹션을 참조하세요[App Runner의 보안](security.md).

# App Runner의 복원력
<a name="security-resilience"></a>

 AWS 글로벌 인프라는 AWS 리전 및 가용 영역을 중심으로 구축됩니다.는 지연 시간이 짧고 처리량이 많으며 중복성이 높은 네트워킹과 연결된 물리적으로 분리되고 격리된 여러 가용 영역을 AWS 리전 제공합니다. 가용 영역을 사용하면 중단 없이 가용 영역 간에 자동으로 장애 조치가 이루어지는 애플리케이션 및 데이터베이스를 설계하고 운영할 수 있습니다. 가용 영역은 기존의 단일 또는 복수 데이터 센터 인프라보다 가용성, 내결함성, 확장성이 뛰어납니다.

 AWS 리전 및 가용 영역에 대한 자세한 내용은 [AWS 글로벌 인프라를](https://aws.amazon.com/about-aws/global-infrastructure/) 참조하세요.

AWS App Runner 는 사용자를 대신하여 AWS 글로벌 인프라 사용을 관리하고 자동화합니다. App Runner를 사용하면에서 AWS 제공하는 가용성 및 내결함성 메커니즘의 이점을 누릴 수 있습니다.

다른 App Runner 보안 주제는 섹션을 참조하세요[App Runner의 보안](security.md).

# 의 인프라 보안 AWS App Runner
<a name="security-infrastructure"></a>

관리형 서비스인는 [Amazon Web Services: 보안 프로세스 개요](https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Whitepaper.pdf) 백서에 설명된 AWS 글로벌 네트워크 보안 절차로 AWS App Runner 보호됩니다.

 AWS 게시된 API 호출을 사용하여 네트워크를 통해 App Runner를 관리하고 운영합니다. App Runner APIs를 호출하는 클라이언트는 TLS(전송 계층 보안) 1.2 이상을 지원해야 합니다. 클라이언트는 Ephemeral Diffie-Hellman(DHE) 또는 Elliptic Curve Ephemeral Diffie-Hellman(ECDHE)과 같은 Perfect Forward Secrecy(PFS)가 포함된 암호 제품군도 지원해야 합니다. Java 7 이상의 최신 시스템은 대부분 이러한 모드를 지원합니다. 이러한 요구 사항은 App Runner 애플리케이션의 엔드포인트에는 적용되지 않습니다.

또한 요청은 액세스 키 ID 및 IAM 위탁자와 관련된 시크릿 액세스 키를 사용하여 서명해야 합니다. 또는 [AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html)(AWS STS)를 사용하여 임시 보안 자격 증명을 생성하여 요청에 서명할 수 있습니다.

다른 App Runner 보안 주제는 섹션을 참조하세요[App Runner의 보안](security.md).

# VPC 엔드포인트와 함께 App Runner 사용
<a name="security-vpce"></a>

 AWS 애플리케이션은 [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/vpc/latest/userguide/)(VPC)의 VPC에서 AWS 서비스 실행되는 다른와 AWS App Runner 서비스를 통합할 수 있습니다. 애플리케이션의 일부는 VPC 내에서 App Runner에 요청할 수 있습니다. 예를 들어 AWS CodePipeline 를 사용하여 App Runner 서비스에 지속적으로 배포할 수 있습니다. 애플리케이션의 보안을 개선하는 한 가지 방법은 VPC 엔드포인트를 통해 이러한 App Runner 요청(및 다른에 대한 요청 AWS 서비스)을 보내는 것입니다.

*VPC 엔드포인트*를 사용하면 로 구동되는 지원되는 AWS 서비스 및 VPC 엔드포인트 서비스에 VPC를 비공개로 연결할 수 있습니다 AWS PrivateLink. 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 Direct Connect 연결이 필요하지 않습니다.

VPC의 리소스는 퍼블릭 IP 주소를 사용하여 App Runner 리소스와 상호 작용하지 않습니다. VPC와 App Runner 간의 트래픽은 Amazon 네트워크를 벗어나지 않습니다. VPC 엔드포인트에 대한 자세한 내용은 *AWS PrivateLink 가이드*의 [VPC 엔드포인트](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints.html)를 참조하세요.

**참고**  
기본적으로 App Runner 서비스의 웹 애플리케이션은 App Runner가 제공하고 구성하는 VPC에서 실행됩니다. 이 VPC는 퍼블릭입니다. 인터넷에 연결되어 있음을 의미합니다. 선택적으로 애플리케이션을 사용자 지정 VPC와 연결할 수 있습니다. 자세한 내용은 [발신 트래픽에 대한 VPC 액세스 활성화](network-vpc.md) 단원을 참조하십시오.  
서비스가 VPC에 연결되어 있더라도 APIs 포함하여 AWS 인터넷에 액세스하도록 서비스를 구성할 수 있습니다. VPC 아웃바운드 트래픽에 대한 퍼블릭 인터넷 액세스를 활성화하는 방법에 대한 지침은 섹션을 참조하세요[서브넷 선택 시 고려 사항](network-vpc.md#network-vpc.considerations-subnet).  
App Runner는 애플리케이션에 대한 VPC 엔드포인트 생성을 지원하지 않습니다.

## App Runner용 VPC 엔드포인트 설정
<a name="security-vpce.setup"></a>

VPC에서 App Runner 서비스에 대한 인터페이스 VPC 엔드포인트를 생성하려면 *AWS PrivateLink 가이드*의 [인터페이스 엔드포인트 생성](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#create-interface-endpoint) 절차를 따릅니다. **서비스 이름**에서 `com.amazonaws.region.apprunner`를 선택합니다.

## VPC 네트워크 개인 정보 보호 고려 사항
<a name="security-vpce.private"></a>

**중요**  
App Runner에 VPC 엔드포인트를 사용한다고 해서 VPC의 모든 트래픽이 인터넷에서 벗어나는 것은 아닙니다. VPC는 퍼블릭일 수 있습니다. 또한 솔루션의 일부 부분에서는 VPC 엔드포인트를 사용하여 AWS API를 호출하지 않을 수 있습니다. 예를 들어 AWS 서비스 는 퍼블릭 엔드포인트를 사용하여 다른 서비스를 호출할 수 있습니다. VPC의 솔루션에 트래픽 개인 정보가 필요한 경우이 섹션을 참조하세요.

VPC에서 네트워크 트래픽의 프라이버시를 보장하려면 다음을 고려하세요.
+ *DNS 이름 활성화* - 애플리케이션의 일부는 여전히 `apprunner.region.amazonaws.com` 퍼블릭 엔드포인트를 사용하여 인터넷을 통해 App Runner에 요청을 보낼 수 있습니다. VPC가 인터넷 액세스로 구성된 경우 이러한 요청은 아무런 표시 없이 성공합니다. 엔드포인트를 생성할 때 **DNS 이름 활성화**가 활성화되어 있는지 확인하여 이를 방지할 수 있습니다. 기본적으로 true로 설정됩니다. 그러면 퍼블릭 서비스 엔드포인트를 인터페이스 VPC 엔드포인트에 매핑하는 DNS 항목이 VPC에 추가됩니다.
+ *추가 서비스를 위한 VPC 엔드포인트 구성* - 솔루션이 다른에 요청을 보낼 수 있습니다 AWS 서비스. 예를 들어 AWS CodePipeline 는 요청을 보낼 수 있습니다 AWS CodeBuild. 이러한 서비스에 대한 VPC 엔드포인트를 구성하고 이러한 엔드포인트에서 DNS 이름을 활성화합니다.
+ *프라이빗 VPC 구성* - 가능하면(솔루션에 인터넷 액세스가 전혀 필요하지 않은 경우) VPC를 프라이빗으로 설정합니다. 즉, 인터넷에 연결되어 있지 않습니다. 이렇게 하면 누락된 VPC 엔드포인트에서 오류가 표시되므로 누락된 엔드포인트를 추가할 수 있습니다.

## 엔드포인트 정책을 사용하여 VPC 엔드포인트로 액세스 제어
<a name="security-vpce.policy"></a>

 VPC 엔드포인트 정책은 App Runner에서 지원됩니다. 기본적으로 인터페이스 엔드포인트를 통해 App Runner에 대한 전체 액세스가 허용됩니다. VPC 엔드포인트 정책을 사용하여 App Runner 엔드포인트에 액세스할 수 있는 AWS 보안 주체를 제어할 수 있습니다. 또는 보안 그룹을 엔드포인트 네트워크 인터페이스와 연결하여 인터페이스 엔드포인트를 통해 App Runner에 대한 트래픽을 제어할 수 있습니다.

## 인터페이스 엔드포인트와 통합
<a name="security-vpce.pl-integration"></a>

App Runner는 App Runner에 대한 프라이빗 연결을 AWS PrivateLink제공하고 인터넷에 대한 트래픽 노출을 제거하는를 지원합니다. 애플리케이션이를 사용하여 App Runner에 요청을 보내도록 하려면 *인터페이스* 엔드포인트라고 하는 VPC 엔드포인트 유형을 AWS PrivateLink구성합니다. 자세한 내용은 *AWS PrivateLink 설명서*의 [인터페이스 VPC 엔드포인트(AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html)를 참조하십시오.

# App Runner의 구성 및 취약성 분석
<a name="security-shared-responsibility"></a>

AWS 및 고객은 높은 수준의 소프트웨어 구성 요소 보안 및 규정 준수를 달성할 책임이 있습니다. 자세한 내용은 AWS [공동 책임 모델을](https://aws.amazon.com/compliance/shared-responsibility-model/) 참조하세요.

## 패치 컨테이너 이미지
<a name="security-shared-responsibility.patch-images"></a>

컨테이너 이미지 패치는 공유 보안 모델에서 고객의 책임입니다. 이미지 소유자는 컨테이너 이미지를 업데이트하고 정기적으로 패치를 적용할 책임이 있습니다. 컨테이너 이미지에 업데이트를 확인하고 적용하기 위한 일상적인 일정을 설정하는 것이 좋습니다. 이미지에서 취약성을 스캔하는 방법에 대한 자세한 내용은 [AWS App Runner 설명서를](security-best-practices.md#security-best-practices.preventive.scan) 참조하세요.

다른 App Runner 보안 주제는 섹션을 참조하세요[App Runner의 보안](security.md).

# App Runner의 보안 모범 사례
<a name="security-best-practices"></a>

AWS App Runner 는 자체 보안 정책을 개발하고 구현할 때 고려해야 할 몇 가지 보안 기능을 제공합니다. 다음 모범 사례는 일반적인 지침이며 완벽한 보안 솔루션을 나타내지는 않습니다. 이러한 모범 사례는 환경에 적절하지 않거나 충분하지 않을 수 있으므로 참고용으로만 사용해 주십시오.

다른 App Runner 보안 주제는 섹션을 참조하세요[App Runner의 보안](security.md).

## 예방 보안 모범 사례
<a name="security-best-practices.preventive"></a>

예방적 보안 통제는 사고가 발생하기 전에 사고를 예방하려고 시도합니다.

### 최소 권한 액세스 구현
<a name="security-best-practices.preventive.least-priv"></a>

App Runner는 [IAM 사용자](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-users) 및 [액세스 역할에](security_iam_service-with-iam.md#security_iam_service-with-iam-roles-service.access) 대한 AWS Identity and Access Management (IAM) 관리형 정책을 제공합니다. 이러한 관리형 정책은 App Runner 서비스의 올바른 작동에 필요할 수 있는 모든 권한을 지정합니다.

애플리케이션에 우리의 관리형 정책의 모든 권한이 필요한 것은 아닙니다. 사용자 지정하고 사용자 및 App Runner 서비스가 작업을 수행하는 데 필요한 권한만 부여할 수 있습니다. 이는 다른 사용자 역할이 다른 권한 요구를 가질 수 있는 사용자 정책과 특히 관련이 있습니다. 최소 권한 액세스를 구현하는 것이 오류 또는 악의적인 의도로 인해 발생할 수 있는 보안 위험과 영향을 최소화할 수 있는 근본적인 방법입니다.

### 이미지를 스캔하여 취약성 확인
<a name="security-best-practices.preventive.scan"></a>

Amazon ECR의 APIs 사용하여 컨테이너 이미지의 소프트웨어 취약성을 식별할 수 있습니다. 자세한 내용은 [Amazon ECR 설명서](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html)를 참조하십시오.

## 탐지 보안 모범 사례
<a name="security-best-practices.detective"></a>

탐지 보안 통제는 보안 위반이 발생한 후 이를 식별합니다. 잠재적인 보안 위협이나 사고를 탐지하는 데 도움이 됩니다.

### 모니터링 구현
<a name="security-best-practices.detective.monitor"></a>

모니터링은 App Runner 솔루션의 안정성, 보안, 가용성 및 성능을 유지하는 데 중요한 부분입니다.는 서비스를 모니터링하는 데 도움이 되는 여러 도구와 AWS 서비스를 AWS 제공합니다.

다음은 모니터링 대상 항목의 예입니다:
+ *App Runner에 대한 Amazon CloudWatch 지표* - 주요 App Runner 지표 및 애플리케이션의 사용자 지정 지표에 대한 경보를 설정합니다. 자세한 내용은 [지표(CloudWatch)](monitor-cw.md)을 참조하세요.
+ *AWS CloudTrail 항목* - `PauseService` 또는와 같이 가용성에 영향을 미칠 수 있는 작업을 추적합니다`DeleteConnection`. 자세한 내용은 [API 작업(CloudTrail)](monitor-ct.md) 섹션을 참조하십시오.