CreateAccessPointCommand

Creates an access point and associates it to a specified bucket. For more information, see Managing access to shared datasets in general purpose buckets with access points  or Managing access to shared datasets in directory buckets with access points  in the Amazon S3 User Guide.

S3 on Outposts only supports VPC-style access points.

For more information, see Accessing Amazon S3 on Outposts using virtual private cloud (VPC) only access points  in the Amazon S3 User Guide.

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request. In addition, you must use an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived by using the access point ARN, see the Examples  section.

The following actions are related to CreateAccessPoint:

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { S3ControlClient, CreateAccessPointCommand } from "@aws-sdk/client-s3-control"; // ES Modules import
// const { S3ControlClient, CreateAccessPointCommand } = require("@aws-sdk/client-s3-control"); // CommonJS import
const client = new S3ControlClient(config);
const input = { // CreateAccessPointRequest
  AccountId: "STRING_VALUE",
  Name: "STRING_VALUE", // required
  Bucket: "STRING_VALUE", // required
  VpcConfiguration: { // VpcConfiguration
    VpcId: "STRING_VALUE", // required
  },
  PublicAccessBlockConfiguration: { // PublicAccessBlockConfiguration
    BlockPublicAcls: true || false,
    IgnorePublicAcls: true || false,
    BlockPublicPolicy: true || false,
    RestrictPublicBuckets: true || false,
  },
  BucketAccountId: "STRING_VALUE",
  Scope: { // Scope
    Prefixes: [ // PrefixesList
      "STRING_VALUE",
    ],
    Permissions: [ // ScopePermissionList
      "GetObject" || "GetObjectAttributes" || "ListMultipartUploadParts" || "ListBucket" || "ListBucketMultipartUploads" || "PutObject" || "DeleteObject" || "AbortMultipartUpload",
    ],
  },
};
const command = new CreateAccessPointCommand(input);
const response = await client.send(command);
// { // CreateAccessPointResult
//   AccessPointArn: "STRING_VALUE",
//   Alias: "STRING_VALUE",
// };

CreateAccessPointCommand Input

See CreateAccessPointCommandInput for more details

Parameter
Type
Description
Bucket
Required
string | undefined

The name of the bucket that you want to associate this access point with.

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through Outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

Name
Required
string | undefined

The name you want to assign to this access point.

For directory buckets, the access point name must consist of a base name that you provide and suffix that includes the ZoneID (Amazon Web Services Availability Zone or Local Zone) of your bucket location, followed by --xa-s3. For more information, see Managing access to shared datasets in directory buckets with access points  in the Amazon S3 User Guide.

AccountId
string | undefined

The Amazon Web Services account ID for the account that owns the specified access point.

BucketAccountId
string | undefined

The Amazon Web Services account ID associated with the S3 bucket associated with this access point.

For same account access point when your bucket and access point belong to the same account owner, the BucketAccountId is not required. For cross-account access point when your bucket and access point are not in the same account, the BucketAccountId is required.

PublicAccessBlockConfiguration
PublicAccessBlockConfiguration | undefined

The PublicAccessBlock configuration that you want to apply to the access point.

Scope
Scope | undefined

For directory buckets, you can filter access control to specific prefixes, API operations, or a combination of both. For more information, see Managing access to shared datasets in directory buckets with access points  in the Amazon S3 User Guide.

Scope is not supported for access points for general purpose buckets.

VpcConfiguration
VpcConfiguration | undefined

If you include this field, Amazon S3 restricts access to this access point to requests from the specified virtual private cloud (VPC).

This is required for creating an access point for Amazon S3 on Outposts buckets.

CreateAccessPointCommand Output

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
AccessPointArn
string | undefined

The ARN of the access point.

This is only supported by Amazon S3 on Outposts.

Alias
string | undefined

The name or alias of the access point.

Throws

Name
Fault
Details
S3ControlServiceException
Base exception class for all service exceptions from S3Control service.