

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

# IAM 정책을 사용하여 특정 Lightsail 리소스에 대한 액세스 권한 부여
<a name="security_iam_resource-based-policy-examples"></a>

*리소스 수준 권한*은 사용자가 작업을 수행할 리소스를 지정할 수 있는 기능입니다. Amazon Lightsail은 리소스 수준 권한을 지원합니다. 즉, 필요 조건을 지정하거나 사용 또는 편집 가능한 특정 리소스를 지정하여 사용자가 특정 Lightsail 작업을 사용할 수 있는지 여부를 제어할 수 있습니다. 예를 들어, 사용자에게 특정 Amazon 리소스 이름(ARN)을 사용하여 인스턴스 또는 데이터베이스를 관리하는 권한을 부여할 수 있습니다.

**중요**  
Lightsail에서는 일부 API 작업에 대해 리소스 수준 권한을 지원하지 않습니다. 자세한 내용은 [리소스 수준 권한 및 태그 기반 권한 부여에 대한 지원](resource-level-permissions-and-auth-based-on-tags-support.md)을 참조하세요.

Lightsail 작업으로 생성 또는 수정되는 리소스 및 IAM 정책문에 사용할 수 있는 Lightsail 조건 키와 ARN에 대한 자세한 내용은 *IAM 사용 설명서*의 [Amazon Lightsail에 사용되는 작업, 리소스 및 조건 키](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonlightsail.html)를 참조하세요.

## 특정 인스턴스 관리 허용
<a name="security_iam_resource-based-policy-examples-manage-specific-instance"></a>

다음 정책은 인스턴스 재부팅/시작/중지, 인스턴스 포트 관리 및 특정 인스턴스의 스냅샷 생성을 위한 액세스 권한을 부여합니다. 또한 Lightsail 계정의 다른 인스턴스 관련 정보 및 리소스에 대한 읽기 전용 액세스 권한을 제공합니다. 정책에서 *InstanceARN*을 인스턴스의 Amazon 리소스 이름(ARN)으로 대체합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "lightsail:GetActiveNames",
                "lightsail:GetAlarms",
                "lightsail:GetAutoSnapshots",
                "lightsail:GetBlueprints",
                "lightsail:GetBundles",
                "lightsail:GetCertificates",
                "lightsail:GetCloudFormationStackRecords",
                "lightsail:GetContactMethods",
                "lightsail:GetDisk",
                "lightsail:GetDisks",
                "lightsail:GetDiskSnapshot",
                "lightsail:GetDiskSnapshots",
                "lightsail:GetDistributionBundles",
                "lightsail:GetDistributionLatestCacheReset",
                "lightsail:GetDistributionMetricData",
                "lightsail:GetDistributions",
                "lightsail:GetDomain",
                "lightsail:GetDomains",
                "lightsail:GetExportSnapshotRecords",
                "lightsail:GetInstance",
                "lightsail:GetInstanceAccessDetails",
                "lightsail:GetInstanceMetricData",
                "lightsail:GetInstancePortStates",
                "lightsail:GetInstances",
                "lightsail:GetInstanceSnapshot",
                "lightsail:GetInstanceSnapshots",
                "lightsail:GetInstanceState",
                "lightsail:GetKeyPair",
                "lightsail:GetKeyPairs",
                "lightsail:GetLoadBalancer",
                "lightsail:GetLoadBalancerMetricData",
                "lightsail:GetLoadBalancers",
                "lightsail:GetLoadBalancerTlsCertificates",
                "lightsail:GetOperation",
                "lightsail:GetOperations",
                "lightsail:GetOperationsForResource",
                "lightsail:GetRegions",
                "lightsail:GetRelationalDatabase",
                "lightsail:GetRelationalDatabaseBlueprints",
                "lightsail:GetRelationalDatabaseBundles",
                "lightsail:GetRelationalDatabaseEvents",
                "lightsail:GetRelationalDatabaseLogEvents",
                "lightsail:GetRelationalDatabaseLogStreams",
                "lightsail:GetRelationalDatabaseMetricData",
                "lightsail:GetRelationalDatabaseParameters",
                "lightsail:GetRelationalDatabases",
                "lightsail:GetRelationalDatabaseSnapshot",
                "lightsail:GetRelationalDatabaseSnapshots",
                "lightsail:GetStaticIp",
                "lightsail:GetStaticIps",
                "lightsail:IsVpcPeered"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": [
                "lightsail:CloseInstancePublicPorts",
                "lightsail:CreateInstanceSnapshot",
                "lightsail:OpenInstancePublicPorts",
                "lightsail:PutInstancePublicPorts",
                "lightsail:RebootInstance",
                "lightsail:StartInstance",
                "lightsail:StopInstance"
            ],
            "Resource": "arn:aws:lightsail:us-east-2:123456789012:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE"
        }
    ]
}
```

------

인스턴스의 ARN을 가져오려면 `GetInstance` Lightsail API 작업을 사용하고 `instanceName` 파라미터로 인스턴스의 이름을 지정합니다. 다음 예와 같이 작업 결과에 인스턴스 ARN이 나열됩니다. 자세한 내용은 *Amazon Lightsail API 레퍼런스*의 [GetInstance](https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetInstance.html)을 참조하세요.

![\[GetInstance 결과에 나열된 인스턴스 ARN.\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/amazon-lightsail-instance-arn.png)


## 특정 데이터베이스 관리 허용
<a name="security_iam_resource-based-policy-examples-manage-specific-database"></a>

다음 정책은 특정 데이터베이스의 재부팅/시작/중지 및 업데이트를 위한 액세스 권한을 부여합니다. 또한 Lightsail 계정의 다른 데이터베이스 관련 정보 및 리소스에 대한 읽기 전용 액세스 권한을 제공합니다. 정책에서 *DatabaseARN*을 데이터베이스의 Amazon 리소스 이름(ARN)으로 대체합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "lightsail:GetActiveNames",
                "lightsail:GetAlarms",
                "lightsail:GetAutoSnapshots",
                "lightsail:GetBlueprints",
                "lightsail:GetBundles",
                "lightsail:GetCertificates",
                "lightsail:GetCloudFormationStackRecords",
                "lightsail:GetContactMethods",
                "lightsail:GetDisk",
                "lightsail:GetDisks",
                "lightsail:GetDiskSnapshot",
                "lightsail:GetDiskSnapshots",
                "lightsail:GetDistributionBundles",
                "lightsail:GetDistributionLatestCacheReset",
                "lightsail:GetDistributionMetricData",
                "lightsail:GetDistributions",
                "lightsail:GetDomain",
                "lightsail:GetDomains",
                "lightsail:GetExportSnapshotRecords",
                "lightsail:GetInstance",
                "lightsail:GetInstanceAccessDetails",
                "lightsail:GetInstanceMetricData",
                "lightsail:GetInstancePortStates",
                "lightsail:GetInstances",
                "lightsail:GetInstanceSnapshot",
                "lightsail:GetInstanceSnapshots",
                "lightsail:GetInstanceState",
                "lightsail:GetKeyPair",
                "lightsail:GetKeyPairs",
                "lightsail:GetLoadBalancer",
                "lightsail:GetLoadBalancerMetricData",
                "lightsail:GetLoadBalancers",
                "lightsail:GetLoadBalancerTlsCertificates",
                "lightsail:GetOperation",
                "lightsail:GetOperations",
                "lightsail:GetOperationsForResource",
                "lightsail:GetRegions",
                "lightsail:GetRelationalDatabase",
                "lightsail:GetRelationalDatabaseBlueprints",
                "lightsail:GetRelationalDatabaseBundles",
                "lightsail:GetRelationalDatabaseEvents",
                "lightsail:GetRelationalDatabaseLogEvents",
                "lightsail:GetRelationalDatabaseLogStreams",
                "lightsail:GetRelationalDatabaseMetricData",
                "lightsail:GetRelationalDatabaseParameters",
                "lightsail:GetRelationalDatabases",
                "lightsail:GetRelationalDatabaseSnapshot",
                "lightsail:GetRelationalDatabaseSnapshots",
                "lightsail:GetStaticIp",
                "lightsail:GetStaticIps",
                "lightsail:IsVpcPeered"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor2",
            "Effect": "Allow",
            "Action": [
                "lightsail:RebootRelationalDatabase",
                "lightsail:StartRelationalDatabase",
                "lightsail:StopRelationalDatabase",
                "lightsail:UpdateRelationalDatabase"
            ],
            "Resource": "arn:aws:lightsail:us-east-2:123456789012:RelationalDatabase/244ad76f-8aad-4741-809f-12345EXAMPLE"
        }
    ]
}
```

------

데이터베이스의 ARN을 가져오려면 `GetRelationalDatabase` Lightsail API 작업을 사용하고 `relationalDatabaseName` 파라미터를 사용하여 데이터베이스의 이름을 지정합니다. 다음 예와 같이 작업 결과에 데이터베이스 ARN이 나열됩니다. 자세한 내용은 *Amazon Lightsail API 레퍼런스*의 [GetRelationalDatabase](https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRelationalDatabase.html)를 참조하세요.

![\[GetRelationalDatabase 결과에 나열된 데이터베이스 ARN.\]](http://docs.aws.amazon.com/ko_kr/lightsail/latest/userguide/images/amazon-lightsail-database-arn.png)
