

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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 アクション、ARN および IAM ポリシーステートメントで使用できる Lightsail 条件キーによって作成または変更されるリソースの詳細については、*IAM ユーザーガイド*の「[Actions, Resources, and Condition Keys for 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/ja_jp/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 リファレンス* の [GetBucketEncryption](https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRelationalDatabase.html) を参照してください。

![\[GetRelationalDatabase の結果のデータベース ARN。\]](http://docs.aws.amazon.com/ja_jp/lightsail/latest/userguide/images/amazon-lightsail-database-arn.png)
