

# Amazon S3 on Outposts でのサービスにリンクされたロールの使用
<a name="S3OutpostsServiceLinkedRoles"></a>

Amazon S3 on Outposts は 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)を使用します。サービスにリンクされたロールは、S3 on Outposts に直接リンクされた一意のタイプの IAM ロールです。サービスにリンクされたロールは、S3 on Outposts によって事前定義されており、ユーザーの代わりにサービスから他の AWS のサービスを呼び出す必要のあるアクセス許可がすべて含まれています。

サービスにリンクされたロールを使用することで、必要なアクセス許可を手動で追加する必要がなくなるため、S3 on Outposts の設定が簡単になります。S3 on Outposts は、サービスにリンクされたロールのアクセス許可を定義します。特に定義されている場合を除き、S3 on Outposts のみがそのロールを引き受けることができます。定義される許可は信頼ポリシーと許可ポリシーに含まれており、その許可ポリシーを他の IAM エンティティにアタッチすることはできません。

サービスリンクロールを削除するには、最初に関連リソースを削除する必要があります。これにより、リソースへのアクセス許可を誤って削除できないようになるため、S3 on Outposts リソースが保護されます。

サービスにリンクされたロールをサポートする他のサービスについては、「[IAM と連動する AWS のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照し、**Service-linked roles** (サービスにリンクされたロール) の列内で **はい** と表記されたサービスを確認してください。サービスリンクロールに関するドキュメントをサービスで表示するには、リンクで **[はい]** を選択します。

## S3 on Outposts のサービスにリンクされたロールのアクセス許可
<a name="slr-permissions"></a>

S3 on Outposts は、**AWSServiceRoleForS3OnOutposts** という名前のロールを使用して、ユーザーに代わってネットワークリソースを管理します。

`AWSServiceRoleForS3OnOutposts` サービスリンクロールは、以下のサービスを信頼してロールを引き受けます。
+ `s3-outposts.amazonaws.com`

`AWSS3OnOutpostsServiceRolePolicy` というロールアクセス許可ポリシーは、S3 on Outposts に、指定されたリソースで次のアクションを完了することを許可します。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeVpcs",
                "ec2:DescribeCoipPools",
                "ec2:GetCoipPoolUsage",
                "ec2:DescribeAddresses",
                "ec2:DescribeLocalGatewayRouteTableVpcAssociations"
            ],
            "Resource": "*",
            "Sid": "DescribeVpcResources"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface"
            ],
            "Resource": [
                "arn:aws:ec2:*:*:subnet/*",
                "arn:aws:ec2:*:*:security-group/*"
            ],
            "Sid": "CreateNetworkInterface"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface"
            ],
            "Resource": [
                "arn:aws:ec2:*:*:network-interface/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/CreatedBy": "S3 On Outposts"
                }
            },
            "Sid": "CreateTagsForCreateNetworkInterface"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AllocateAddress"
            ],
            "Resource": [
                "arn:aws:ec2:*:*:ipv4pool-ec2/*"
            ],
            "Sid": "AllocateIpAddress"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AllocateAddress"
            ],
            "Resource": [
                "arn:aws:ec2:*:*:elastic-ip/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/CreatedBy": "S3 On Outposts"
                }
            },
            "Sid": "CreateTagsForAllocateIpAddress"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:ModifyNetworkInterfaceAttribute",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:DeleteNetworkInterface",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DisassociateAddress",
                "ec2:ReleaseAddress",
                "ec2:AssociateAddress"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/CreatedBy": "S3 On Outposts"
                }
            },
            "Sid": "ReleaseVpcResources"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": [
                        "CreateNetworkInterface",
                        "AllocateAddress"
                    ],
                    "aws:RequestTag/CreatedBy": [
                        "S3 On Outposts"
                    ]
                }
            },
            "Sid": "CreateTags"
        }
    ]
}
```

------

サービスにリンクされたロールの作成、編集、削除を IAM エンティティ (ロールなど) に許可するには、アクセス許可を設定する必要があります。詳細については*IAM ユーザーガイド* の「[サービスにリンクされた役割のアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)」を参照してください。

## S3 on Outposts でのサービスにリンクされたロールの作成
<a name="create-slr"></a>

サービスリンクロールを手動で作成する必要はありません。AWS マネジメントコンソール、AWS CLI、または AWS API で S3 on Outposts エンドポイントを作成すると、S3 on Outposts によってサービスにリンクされたロールが作成されます。

このサービスリンクロールを削除した後で再度作成する必要が生じた場合は同じ方法でアカウントにロールを再作成できます。S3 on Outposts エンドポイントを作成すると、S3 on Outposts によってサービスにリンクされたロールが再び作成されます。

IAM コンソールを使用して、**S3 on Outposts** ユースケースでサービスにリンクされたロールを作成することもできます。AWS CLI または AWS API では、`s3-outposts.amazonaws.com` サービス名を使用してサービスリンクロールを作成します。詳細については、*IAM ユーザーガイド*の「[サービスリンクロールの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#create-service-linked-role)」を参照してください。このサービスリンクロールを削除しても、同じ方法でロールを再作成できます。

## S3 on Outposts でのサービスにリンクされたロールの編集
<a name="edit-slr"></a>

S3 on Outposts では、サービスにリンクされたロール `AWSServiceRoleForS3OnOutposts` を編集することはできません。さまざまなエンティティが参照する可能性があるため、これにはロール名が含まれます。ただし、IAM を使用してロールの説明を編集することはできます。詳細については、「*IAM ユーザーガイド*」の「[サービスリンクロールの編集](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role)」を参照してください。

## S3 on Outposts でのサービスにリンクされたロールの削除
<a name="delete-slr"></a>

サービスリンクロールを必要とする機能やサービスが不要になった場合は、ロールを削除することをお勧めします。そうすることで、積極的にモニタリングまたは保守されていない未使用のエンティティを排除できます。ただし、手動で削除する前に、サービスリンクロールのリソースをクリーンアップする必要があります。

**注記**  
リソースを削除する際に、S3 on Outposts サービスでそのロールが使用されている場合、削除は失敗することがあります。失敗した場合は数分待ってから操作を再試行してください。

**AWSServiceRoleForS3OnOutposts が使用する S3 on Outposts リソースを削除するには**

1. すべての AWS リージョンの AWS アカウントで、[Outposts エンドポイントの S3 を削除します](S3OutpostsDeleteEndpoints.md)。

1. IAM を使用して、サービスにリンクされたロールを削除します。

   IAM コンソール、AWS CLI、または AWS API を使用して、`AWSServiceRoleForS3OnOutposts` サービスリンクロールを削除します。詳細については、*IAM ユーザーガイド* の「[サービスにリンクされたロールの削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)」を参照してください。

## S3 on Outposts でのサービスにリンクされたロールをサポートするリージョン
<a name="slr-regions"></a>

S3 on Outposts は、そのサービスを利用できるすべての AWS リージョンで、サービスにリンクされたロールの使用をサポートします。詳細については、「[S3 on Outposts のリージョンとエンドポイント](https://docs.aws.amazon.com/general/latest/gr/outposts_region.html#outposts_region_s3)」を参照してください。