Pemberitahuan: Pendaftaran pelanggan baru dan peningkatan akun tidak lagi tersedia untuk Amazon. WorkDocs Pelajari tentang langkah-langkah migrasi di sini: Cara memigrasi data dari WorkDocs
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Autentikasi dan kontrol akses untuk aplikasi pengguna
WorkDocs aplikasi tingkat pengguna terdaftar dan dikelola melalui WorkDocs konsol. Pengembang harus mendaftarkan aplikasi mereka pada My Applications halaman di WorkDocs konsol yang akan memberikan unik IDs untuk setiap aplikasi. Selama pendaftaran, pengembang harus menentukan pengalihan URIs di mana mereka akan menerima token akses serta cakupan aplikasi.
Saat ini, aplikasi hanya dapat mengakses WorkDocs situs dalam AWS akun yang sama tempat mereka terdaftar.
Daftar Isi
Memberikan izin untuk memanggil WorkDocs APIs
Pengguna antarmuka baris perintah harus memiliki izin penuh untuk WorkDocs dan Directory Service. Tanpa izin, API apa pun memanggil UnauthorizedResourceAccessExceptionpesan balasan. Kebijakan berikut memberikan izin penuh.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "workdocs:*", "ds:*", "ec2:CreateVpc", "ec2:CreateSubnet", "ec2:CreateNetworkInterface", "ec2:CreateTags", "ec2:CreateSecurityGroup", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeNetworkInterfaces", "ec2:DescribeAvailabilityZones", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:DeleteSecurityGroup", "ec2:DeleteNetworkInterface", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress" ], "Effect": "Allow", "Resource": "*" } ] }
Jika Anda ingin memberikan izin hanya-baca, gunakan kebijakan ini.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "workdocs:Describe*", "ds:DescribeDirectories", "ec2:DescribeVpcs", "ec2:DescribeSubnets" ], "Effect": "Allow", "Resource": "*" } ] }
Dalam kebijakan tersebut, tindakan pertama memberikan akses ke semua WorkDocs Describe operasi. DescribeDirectories Tindakan memperoleh informasi tentang Directory Service direktori Anda. EC2 Operasi Amazon memungkinkan WorkDocs untuk mendapatkan daftar subnet VPCs dan Anda.
Menggunakan folder IDs dalam panggilan API
Setiap kali panggilan API mengakses folder, Anda harus menggunakan ID folder, bukan nama folder. Misalnya, jika Anda lulusclient.get_folder(FolderId='MyDocs'), panggilan API akan menampilkan UnauthorizedResourceAccessExceptionpesan dan pesan 404 berikut.
client.get_folder(FolderId='MyDocs') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Users\user-name\AppData\Local\Programs\Python\Python36-32\lib\site-packages\botocore\client.py", line 253, in _api_call return self._make_api_call(operation_name, kwargs) File "C:\Users\user-name\AppData\Local\Programs\Python\Python36-32\lib\site-packages\botocore\client.py", line 557, in _make_api_call raise error_class(parsed_response, operation_name) botocore.errorfactory.UnauthorizedResourceAccessException: An error occurred (UnauthorizedResourceAccessException) when calling the GetFolder operation: Principal [arn:aws:iam::395162986870:user/Aman] is not allowed to execute [workdocs:GetFolder] on the resource.
Untuk menghindarinya, gunakan ID di URL folder.
.site.workdocs/index.html#/folder/abc123def456ghi789jkl789mno4be7024df198736472dd50ca970eb22796082e3d489577
Melewati ID itu mengembalikan hasil yang benar.
client.get_folder(FolderId='abc123def456ghi789jkl789mno4be7024df198736472dd50ca970eb22796082e3d489577') {'ResponseMetadata': {'RequestId': 'f8341d4e-4047-11e7-9e70-afa8d465756c', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'f234564e-1234-56e7-89e7-a10fa45t789c', 'cache-control': 'private, no-cache, no-store, max-age=0', 'content-type': 'application/json', 'content-length': '733', 'date': 'Wed, 24 May 2017 06:12:30 GMT'}, 'RetryAttempts': 0}, 'Metadata': {'Id': 'abc123def456ghi789jkl789mno4be7024df198736472dd50ca970eb22796082e3d489577', 'Name': 'sentences', 'CreatorId': 'S-1-5-21-2125721135-1643952666-3011040551-2105&d-906724f1ce', 'ParentFolderId': '0a811a922403ae8e1d3c180f4975f38f94372c3d6a2656c50851c7fb76677363', 'CreatedTimestamp': datetime.datetime(2017, 5, 23, 12, 59, 13, 8000, tzinfo=tzlocal()), 'ModifiedTimestamp': datetime.datetime(2017, 5, 23, 13, 13, 9, 565000, tzinfo=tzlocal()), 'ResourceState': 'ACTIVE', 'Signature': 'b7f54963d60ae1d6b9ded476f5d20511'}}
Membuat aplikasi
Sebagai WorkDocs administrator, buat aplikasi Anda menggunakan langkah-langkah berikut.
Untuk membuat aplikasi
-
Buka WorkDocs konsol di https://console.aws.amazon.com/zocalo/
. -
Pilih Aplikasi Saya, Buat Aplikasi.
-
Masukkan nilai berikut:
- Nama Aplikasi
-
Nama untuk aplikasi.
-
Alamat email untuk diasosiasikan dengan aplikasi.
- Deskripsi Aplikasi
-
Deskripsi untuk aplikasi.
- Mengalihkan URIs
-
Lokasi yang ingin WorkDocs Anda alihkan lalu lintas ke.
- Lingkup Aplikasi
-
Cakupan, baik baca atau tulis, yang Anda ingin atur untuk aplikasi. Untuk detail selengkapnya, lihat Cakupan aplikasi.
-
Pilih Buat.
Cakupan aplikasi
WorkDocs mendukung cakupan aplikasi berikut:
-
Content Read (
workdocs.content.read), yang memberikan akses aplikasi Anda ke hal-hal berikut WorkDocs APIs:-
Dapatkan*
-
Deskripsikan*
-
-
Content Write (
workdocs.content.write), yang memberikan akses aplikasi Anda ke hal-hal berikut WorkDocs APIs:-
Buat*
-
Perbarui*
-
Hapus*
-
Mulai*
-
Batalkan*
-
Tambahkan*
-
Hapus*
-
Otorisasi
Setelah pendaftaran aplikasi selesai, aplikasi dapat meminta otorisasi atas nama WorkDocs pengguna mana pun. Untuk melakukan hal ini, aplikasi harus mengunjungi WorkDocs OAuth endpoint,https://auth.amazonworkdocs.com/oauth, dan menyediakan parameter query berikut:
-
[Diperlukan]
app_id—ID aplikasi yang dihasilkan ketika aplikasi didaftarkan. -
[Wajib]
auth_typeOAuth —Jenis permintaan. Nilai yang didukung adalahImplicitGrant. -
[Diperlukan]
redirect_uri—URI pengalihan yang didaftarkan untuk aplikasi untuk menerima token akses. -
[Opsional]
scopes—Daftar cakupan yang dipisahkan koma. Jika tidak ditentukan, daftar cakupan yang dipilih saat pendaftaran akan digunakan. -
[Opsional]
state—Sebuah string yang dihasilkan bersama dengan token akses.
catatan
Jika Anda memerlukan modul kriptografi yang divalidasi FIPS 140-2 ketika mengakses AWS melalui antarmuka baris perintah atau API, gunakan titik akhir FIPS. Untuk informasi selengkapnya tentang titik akhir FIPS yang tersedia, lihat Standar Pemrosesan Informasi Federal (FIPS) 140-2
Contoh permintaan GET untuk memulai OAuth alur untuk mendapatkan token akses:
GET https://auth.amazonworkdocs.com/oauth?app_id=my-app-id&auth_type=ImplicitGrant&redirect_uri=https://myapp.com/callback&scopes=workdocs.content.read&state=xyz
Berikut ini terjadi selama aliran OAuth otorisasi:
-
Pengguna aplikasi diminta untuk memasukkan nama WorkDocs situs.
-
Pengguna diarahkan ke halaman WorkDocs otentikasi untuk memasukkan kredensialnya.
-
Setelah otentikasi berhasil, pengguna disajikan dengan layar persetujuan yang memungkinkan pengguna untuk memberikan atau menolak otorisasi aplikasi Anda untuk mengakses. WorkDocs
-
Setelah pengguna memilih
Acceptpada layar persetujuan, peramban mereka diarahkan ke URL callback aplikasi Anda dengan token akses dan informasi wilayah sebagai parameter kuerinya.
Contoh GET permintaan dari WorkDocs:
GET https://myapp.com/callback?acessToken=accesstoken®ion=us-east-1&state=xyz
Selain token akses, WorkDocs OAuth layanan juga kembali region sebagai parameter kueri untuk WorkDocs situs yang dipilih. Aplikasi eksternal harus menggunakan region parameter untuk menentukan titik akhir WorkDocs layanan.
Jika Anda memerlukan modul kriptografi yang divalidasi FIPS 140-2 ketika mengakses AWS melalui antarmuka baris perintah atau API, gunakan titik akhir FIPS. Untuk informasi selengkapnya tentang titik akhir FIPS yang tersedia, lihat Standar Pemrosesan Informasi Federal (FIPS) 140-2
Memohon WorkDocs APIs
Setelah mendapatkan token akses, aplikasi Anda dapat melakukan panggilan API ke WorkDocs layanan.
penting
Contoh ini menunjukkan cara menggunakan permintaan GET curl untuk mendapatkan metadata dokumen.
Curl "https://workdocs.us-east-1.amazonaws.com/api/v1/documents/{document-id}" -H "Accept: application/json" -H "Authentication: Beareraccesstoken"
Contoh JavaScript fungsi untuk mendeskripsikan folder root pengguna:
function printRootFolders(accessToken, siteRegion) { var workdocs = new AWS.WorkDocs({region: siteRegion}); workdocs.makeUnauthenticatedRequest("describeRootFolders", {AuthenticationToken: accessToken}, function (err, folders) { if (err) console.log(err); else console.log(folders); }); }
Sampel pengaktifan API berbasis Java dijelaskan di bawah ini:
AWSCredentialsProvider credentialsProvider = new AWSCredentialsProvider() { @Override public void refresh() {} @Override public AWSCredentials getCredentials() { new AnonymousAWSCredentials(); } }; // Set the correct region obtained during OAuth flow. workDocs = AmazonWorkDocsClient.builder().withCredentials(credentialsProvider) .withRegion(Regions.US_EAST_1).build(); DescribeRootFoldersRequest request = new DescribeRootFoldersRequest(); request.setAuthenticationToken("access-token-obtained-through-workdocs-oauth"); DescribeRootFoldersResult result = workDocs.describeRootFolders(request); for (FolderMetadata folder : result.getFolders()) { System.out.printf("Folder name=%s, Id=%s \n", folder.getName(), folder.getId()); }