

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Membuat pemberian
<a name="access-grants-grant-create"></a>

*Pemberian* akses individual dalam instans S3 Access Grants memungkinkan identitas tertentu—prinsipal AWS Identity and Access Management (IAM), atau pengguna atau grup di direktori perusahaan—untuk mendapatkan akses di dalam lokasi yang terdaftar di instans S3 Access Grants Anda. Lokasi memetakan bucket atau awalan ke peran IAM. S3 Access Grants mengasumsikan peran IAM ini untuk menjual kredensil sementara kepada penerima hibah. 

Setelah [mendaftarkan setidaknya satu lokasi](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location.html) di instans S3 Access Grants, Anda dapat membuat hibah akses.

Penerima hibah dapat berupa pengguna IAM atau peran atau pengguna direktori atau grup. Pengguna direktori adalah pengguna dari direktori perusahaan atau sumber identitas eksternal yang [terkait dengan instans S3 Access Grants Anda](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-instance-idc.html). Untuk informasi selengkapnya, lihat [S3 Access Grants dan identitas direktori perusahaan](access-grants-directory-ids.md). Untuk membuat hibah untuk pengguna atau grup direktori tertentu dari IAM Identity Center, temukan GUID yang digunakan IAM Identity Center untuk mengidentifikasi pengguna tersebut di Pusat Identitas IAM, misalnya,. `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111` Untuk informasi selengkapnya tentang cara menggunakan Pusat Identitas IAM untuk melihat informasi pengguna, lihat [Melihat penetapan pengguna dan grup](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-view-assignments.html) di panduan *AWS IAM Identity Center pengguna*. 

Anda dapat memberikan akses ke bucket, awalan, atau objek. Prefiks di Amazon S3 adalah string karakter di awal nama kunci objek yang digunakan untuk mengatur objek dalam bucket. Ini bisa berupa string karakter yang diizinkan, misalnya, nama kunci objek di bucket Anda yang dimulai dengan `engineering/` awalan. 

## Subprefiks
<a name="subprefix"></a>

Saat memberikan akses ke lokasi terdaftar, Anda dapat menggunakan `Subprefix` bidang untuk mempersempit cakupan akses ke subset cakupan lokasi. Jika lokasi terdaftar yang Anda pilih untuk hibah adalah jalur S3 default (`s3://`), Anda harus mempersempit cakupan hibah. Anda tidak dapat membuat hibah akses untuk lokasi default (`s3://`), yang akan memberikan akses kepada penerima hibah ke setiap bucket dalam file. Wilayah AWS Sebagai gantinya, Anda harus mempersempit ruang lingkup hibah menjadi salah satu dari yang berikut:
+ Sebuah ember: `s3://bucket/*`
+ Awalan dalam ember: `s3://bucket/prefix*`
+ Awalan dalam awalan: `s3://bucket/prefixA/prefixB*`
+ Sebuah objek: `s3://bucket/object-key-name`

Jika Anda membuat hibah akses di mana lokasi terdaftar adalah bucket, Anda dapat meneruskan salah satu dari berikut ini di `Subprefix` bidang untuk mempersempit cakupan hibah:
+ Awalan di dalam ember: `prefix*`
+ Awalan dalam awalan: `prefixA/prefixB*`
+ Sebuah objek: `/object-key-name`

Setelah Anda membuat hibah, cakupan hibah yang ditampilkan di konsol Amazon S3 atau `GrantScope` yang dikembalikan dalam respons API atau AWS Command Line Interface (AWS CLI) adalah hasil dari menggabungkan jalur lokasi dengan. `Subprefix` Pastikan jalur gabungan ini dipetakan dengan benar ke bucket, prefiks, atau S3 Object yang ingin Anda berikan aksesnya.

**catatan**  
Jika Anda perlu membuat hibah akses yang memberikan akses hanya ke satu objek, Anda harus menentukan bahwa jenis hibah adalah untuk objek. Untuk melakukan ini dalam panggilan API atau perintah CLI, berikan `s3PrefixType` parameter dengan nilai. `Object` Di konsol Amazon S3, saat Anda membuat hibah, setelah memilih lokasi, di bawah **Grant Scope**, pilih kotak centang **Grant scope is an object**.
Anda tidak dapat membuat pemberian ke bucket jika bucket belum ada. Namun, Anda dapat membuat hibah ke awalan yang belum ada. 
Untuk jumlah maksimum hibah yang dapat Anda buat di instance S3 Access Grants, lihat. [Batasan S3 Access Grants](access-grants-limitations.md)

Anda dapat membuat hibah akses dengan menggunakan konsol Amazon S3 AWS CLI, Amazon S3 REST API, dan. AWS SDKs

## Menggunakan konsol S3
<a name="access-grants-grant-create-console"></a>

**Untuk membuat pemberian akses**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Pada panel navigasi di sebelah kiri, pilih **Access Grants**.

1. Pada halaman **S3 Access Grants**, pilih Region yang berisi instance S3 Access Grants yang ingin Anda gunakan.

   Jika Anda menggunakan instans S3 Access Grants untuk pertama kalinya, pastikan Anda telah menyelesaikan [Langkah 2-daftarkan lokasi](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location.html) dan navigasikan ke **Langkah 3** dari wizard **Buat instans Access Grants**. Jika Anda sudah memiliki instans S3 Access Grants, pilih **Lihat detail**, lalu dari tab **Izin**, pilih **Buat pemberian**.

   1. Di bagian **Cakupan pemberian**, pilih atau masukkan lokasi yang telah terdaftar. 

      Jika Anda memilih lokasi default `s3://`, gunakan kotak **Subprefiks** untuk mempersempit cakupan pemberian akses. Untuk informasi selengkapnya, lihat [Subprefiks](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-grant.html#subprefix). Jika Anda memberikan akses hanya ke objek, pilih **Ruang lingkup pemberian adalah sebuah objek**.

   1. Di bawah **Izin dan akses**, pilih tingkat **Izin**, baik **Baca**, **Tulis**, atau keduanya. 

      Kemudian pilih jenis **Jenis pemberian**. Jika Anda telah menambahkan direktori perusahaan Anda ke IAM Identity Center dan mengaitkan instans IAM Identity Center ini dengan instans S3 Access Grants Anda, Anda dapat memilih **Identitas direktori dari IAM Identity Center**. Jika Anda memilih opsi ini, dapatkan ID pengguna atau grup dari IAM Identity Center dan masukkan di bagian ini. 

      Jika **Jenis penerima** adalah pengguna IAM atau peran, pilih **Pengguna utama IAM**. Di bawah **Jenis pengguna utama IAM**, pilih **Pengguna** atau **Peran**. Kemudian, di bawah **Pengguna utama IAM**, pilih dari daftar atau masukkan ID identitas. 

   1. Untuk membuat pemberian S3 Access Grants, pilih **Selanjutnya** atau **Buat pemberian**.

1. Jika **Selanjutnya** atau **Buat pemberian** dinonaktifkan:

**Tidak dapat membuat pemberian**
   + Anda mungkin perlu [mendaftarkan lokasi](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-location.html) terlebih dahulu di dalam instans S3 Access Grants Anda.
   + Anda mungkin tidak memiliki izin `s3:CreateAccessGrant` untuk membuat akses. Menghubungi administrator akun Anda. 

## Menggunakan AWS CLI
<a name="access-grants-grant-create-cli"></a>

Untuk menginstal AWS CLI, lihat [Menginstal AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) di *Panduan AWS Command Line Interface Pengguna*. 

Contoh berikut menunjukkan cara membuat permintaan pemberian akses untuk pengguna utama IAM dan cara membuat permintaan pemberian akses untuk pengguna atau grup direktori perusahaan. 

Untuk menggunakan perintah contoh berikut, ganti `user input placeholders` dengan informasi Anda sendiri.

**catatan**  
Jika Anda membuat pemberian akses yang memberikan akses hanya ke satu objek, sertakan parameter `--s3-prefix-type Object` yang diperlukan.

**Example Buat permintaan pemberian akses untuk pengguna utama IAM**  

```
aws s3control create-access-grant \
--account-id 111122223333 \
--access-grants-location-id a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 \
--access-grants-location-configuration S3SubPrefix=prefixB* \
--permission READ \
--grantee GranteeType=IAM,GranteeIdentifier=arn:aws:iam::123456789012:user/data-consumer-3
```

**Example Membuat respons pemberian akses**  

```
{"CreatedAt": "2023-05-31T18:41:34.663000+00:00",
    "AccessGrantId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "AccessGrantArn": "arn:aws:s3:us-east-2:111122223333:access-grants/default/grant/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
    "Grantee": {
        "GranteeType": "IAM",
        "GranteeIdentifier": "arn:aws:iam::111122223333:user/data-consumer-3"
    },
    "AccessGrantsLocationId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
    "AccessGrantsLocationConfiguration": {
        "S3SubPrefix": "prefixB*"
    },
    "GrantScope": "s3://amzn-s3-demo-bucket/prefix*",
    "Permission": "READ"
}
```

**Membuat permintaan pemberian akses untuk pengguna atau grup direktori**  
Untuk membuat permintaan pemberian akses untuk pengguna atau grup direktori, Anda harus terlebih dahulu mendapatkan GUID untuk pengguna direktori atau grup dengan menjalankan salah satu perintah berikut.

**Example Dapatkan GUID untuk pengguna direktori atau grup**  
Anda dapat menemukan GUID pengguna IAM Identity Center melalui konsol IAM Identity Center atau dengan menggunakan atau. AWS CLI AWS SDKs Perintah berikut mencantumkan pengguna dalam contoh instans IAM Identity Center yang ditentukan, dengan nama dan pengenal mereka.  

```
aws identitystore list-users --identity-store-id d-1a2b3c4d1234 
```
Perintah ini mencantumkan grup dalam instans IAM Identity Center yang ditentukan.  

```
aws identitystore list-groups --identity-store-id d-1a2b3c4d1234
```

**Example Membuat pemberian akses untuk pengguna atau grup direktori**  
Perintah ini mirip dengan membuat pemberian untuk pengguna atau peran IAM, kecuali jenis penerima pemberian adalah `DIRECTORY_USER` atau `DIRECTORY_GROUP`, dan pengidentifikasi penerima pemberian adalah GUID untuk pengguna direktori atau grup.  

```
aws s3control create-access-grant \
--account-id 123456789012 \
--access-grants-location-id default \
--access-grants-location-configuration S3SubPrefix="amzn-s3-demo-bucket/rafael/*" \
--permission READWRITE \
--grantee GranteeType=DIRECTORY_USER,GranteeIdentifier=83d43802-00b1-7054-db02-f1d683aacba5 \
```

## Penggunaan API REST
<a name="access-grants-grant-create-rest-api"></a>

Untuk informasi tentang support API REST Amazon S3 untuk mengelola pemberian akses, lihat bagian berikut di Referensi API *Amazon Storage Service*:
+  [CreateAccessGrant](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessGrant.html) 
+  [DeleteAccessGrant](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeleteAccessGrant.html) 
+  [GetAccessGrant](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetAccessGrant.html) 
+  [ListAccessGrants](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_ListAccessGrants.html)

## Menggunakan AWS SDKs
<a name="access-grants-grant-create-using-sdk"></a>

Bagian ini memberikan contoh cara membuat hibah akses dengan menggunakan AWS SDKs.

------
#### [ Java ]

Untuk menggunakan contoh berikut, ganti `user input placeholders` dengan informasi Anda sendiri:

**catatan**  
Jika Anda membuat pemberian akses yang memberikan akses hanya ke satu objek, sertakan parameter `.s3PrefixType(S3PrefixType.Object)` yang diperlukan.

**Example Buat permintaan pemberian akses**  

```
public void createAccessGrant() {
CreateAccessGrantRequest createRequest = CreateAccessGrantRequest.builder()
.accountId("111122223333")
.accessGrantsLocationId("a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa")
.permission("READ")
.accessGrantsLocationConfiguration(AccessGrantsLocationConfiguration.builder().s3SubPrefix("prefixB*").build())
.grantee(Grantee.builder().granteeType("IAM").granteeIdentifier("arn:aws:iam::111122223333:user/data-consumer-3").build())
.build();
CreateAccessGrantResponse createResponse = s3Control.createAccessGrant(createRequest);
LOGGER.info("CreateAccessGrantResponse: " + createResponse);
}
```

**Example Membuat respons pemberian akses**  

```
CreateAccessGrantResponse(
CreatedAt=2023-06-07T05:20:26.330Z,
AccessGrantId=a1b2c3d4-5678-90ab-cdef-EXAMPLE33333,
AccessGrantArn=arn:aws:s3:us-east-2:444455556666:access-grants/default/grant/a1b2c3d4-5678-90ab-cdef-EXAMPLE33333,
Grantee=Grantee(
GranteeType=IAM,
GranteeIdentifier=arn:aws:iam::111122223333:user/data-consumer-3
),
AccessGrantsLocationId=a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa,
AccessGrantsLocationConfiguration=AccessGrantsLocationConfiguration(
S3SubPrefix=prefixB*
),
GrantScope=s3://amzn-s3-demo-bucket/prefixB,
Permission=READ
)
```

------