

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

# Amazon S3ゲートウェイエンドポイントを作成する
<a name="create-s3-gateway-endpoint"></a>

CodeArtifactは、Amazon Simple Storage Service (Amazon S3)を使用してパッケージアセットを保存します。CodeArtifactからパッケージを取得するには、Amazon S3用のゲートウェイエンドポイントを作成する必要があります。ビルドまたはデプロイメントプロセスが CodeArtifactからパッケージをダウンロードする場合、CodeArtifactにアクセスしてパッケージのメタデータを取得し、Amazon S3でパッケージアセット (例えば Maven`.jar` ファイルなど) をダウンロードする必要があります。

**注記**  
Python または Swift パッケージ形式を使用する場合、Amazon S3 エンドポイントは不要です。

 CodeArtifact の Amazon S3 ゲートウェイエンドポイントを作成するには、Amazon EC2 `create-vpc-endpoint` AWS CLI コマンドを使用します。エンドポイントを作成するときは、必ず VPC 用のルートテーブルを選択してください。詳細については、*Amazon Virtual Private Cloud ユーザーガイド *の[ ゲートウェイ VPCエンドポイント ](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-gateway.html) を参照してください。

次のコマンドは、Amazon S3エンドポイントを作成します。

```
aws ec2 create-vpc-endpoint --vpc-id {{vpcid}} --service-name com.amazonaws.{{region}}.s3 \
  --route-table-ids {{routetableid}}
```

## AWS CodeArtifact の Amazon S3 バケットの最小アクセス許可
<a name="s3-gateway-endpoint-permissions"></a>

Amazon S3ゲートウェイエンドポイントは IAM ポリシードキュメントを使用してサービスへのアクセスを制限します。​ CodeArtifactに最小限のAmazon S3 バケット権限のみを許可するには、エンドポイント用のIAM ポリシードキュメントを作成する際に、CodeArtifactが使用するAmazon S3バケットへのアクセスを制限してください。

次の表では、各リージョンで CodeArtifactへのアクセスを許可するためにポリシーで参照する必要がある Amazon S3バケットについて説明します。


****  

| リージョン | Amazon S3 バケットの ARN | 
| --- | --- | 
| us–east–1 | arn:aws:s3:::assets-193858265520-us-east-1 | 
| us-east-2 | arn:aws:s3:::assets-250872398865-us-east-2 | 
| us-west-2 | arn:aws:s3:::assets-787052242323-us-west-2 | 
| eu-west-1 | arn:aws:s3:::assets-438097961670-eu-west-1 | 
| eu-west-2 | arn:aws:s3:::assets-247805302724-eu-west-2 | 
| eu-west-3 | arn:aws:s3:::assets-762466490029-eu-west-3 | 
| eu-north-1 | arn:aws:s3:::assets-611884512288-eu-north-1 | 
| eu-south-1 | arn:aws:s3:::assets-484130244270-eu-south-1 | 
| eu-central-1 | arn:aws:s3:::assets-769407342218-eu-central-1 | 
| ap-northeast-1 | arn:aws:s3:::assets-660291247815-ap-northeast-1 | 
| ap-southeast-1 | arn:aws:s3:::assets-421485864821-ap-southeast-1 | 
| ap-southeast-2 | arn:aws:s3:::assets-860415559748-ap-southeast-2 | 
| ap-south-1 | arn:aws:s3:::assets-681137435769-ap-south-1 | 

`aws codeartifact describe-domain`コマンドを使用すると、CodeArtifactドメインを使用することによりAmazon S3バケットを取得することができます。

```
aws codeartifact describe-domain --domain {{mydomain}}
```

```
{
  "domain": {
    "name": "mydomain",
    "owner": "111122223333",
    "arn": "arn:aws:codeartifact:us-west-2:111122223333:domain/mydomain",
    "status": "Active",
    "createdTime": 1583075193.861,
    "encryptionKey": "arn:aws:kms:us-west-2:111122223333:key/a73que8sq-ba...",
    "repositoryCount": 13,
    "assetSizeBytes": 513830295,
    "s3BucketArn": "arn:aws:s3:::assets-787052242323-us-west-2"
  }
}
```

### 例
<a name="s3-gateway-policy-example"></a>

次の例は、`us-east-1`リージョン内の CodeArtifactの操作に必要な Amazon S3バケットへのアクセスを提供する方法を示しています。その他のリージョンの場合は、上記の表に基づいて、お住まいの地域の正しいアクセス許可 ARNで`Resource`エントリを更新してください。

```
{
  "Statement": [
    {
      "Sid": "Access-to-specific-bucket-only",
      "Principal": "*",
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::assets-{{193858265520}}-{{us-east-1}}/*"]
    }
  ]
}
```