Contoh kebijakan kontainer: Akses penuh lintas akun ke peran - AWSElemental MediaStore

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

Contoh kebijakan kontainer: Akses penuh lintas akun ke peran

Kebijakan contoh ini memungkinkan akses lintas-akun untuk memperbarui objek apa pun di akun, selama pengguna login melalui HTTP. Ini juga memungkinkan akses lintas akun untuk menghapus, mengunduh, dan menggambarkan objek melalui HTTP atau HTTPS ke akun yang telah mengasumsikan peran yang ditentukan:

  • Pernyataan pertama adalahCrossAccountRolePostOverHttps. Hal ini memungkinkan akses kePutObjectoperasi pada objek apapun dan memungkinkan akses ini ke setiap pengguna dari akun yang ditentukan jika akun yang telah diasumsikan peran yang ditentukan dalam <role name>. Ini menentukan bahwa akses ini memiliki kondisi yang membutuhkan HTTPS untuk operasi (kondisi ini harus selalu disertakan saat memberikan akses kePutObject).

    Dengan kata lain, setiap kepala sekolah yang memiliki akses lintas akun dapat mengaksesPutObject, tetapi hanya lebih dari HTTPS.

  • Pernyataan kedua adalahCrossAccountFullAccessExceptPost. Hal ini memungkinkan akses ke semua operasi kecualiPutObjectpada objek apapun. Hal ini memungkinkan akses ini ke setiap pengguna dari akun yang ditentukan jika akun yang telah diasumsikan peran yang ditentukan dalam <role name>. Akses ini tidak memiliki kondisi yang membutuhkan HTTPS untuk operasi.

    Dengan kata lain, akun yang memiliki akses lintas akun dapat mengaksesDeleteObject,GetObject, dan sebagainya (tapi tidakPutObject), dan dapat melakukan ini melalui HTTP atau HTTPS.

    Jika Anda tidak mengecualikanPutObjectdari pernyataan kedua, pernyataan tidak akan valid (karena jika Anda menyertakanPutObjectAnda harus secara eksplisit mengatur HTTPS sebagai suatu kondisi).

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CrossAccountRolePostOverHttps", "Effect": "Allow", "Action": "mediastore:PutObject", "Principal":{ "AWS": "arn:aws:iam::<other acct number>:role/<role name>"}, "Resource": "arn:aws:mediastore:<region>:<owner acct number>:container/<container name>/*", "Condition": { "Bool": { "aws:SecureTransport": "true" } } }, { "Sid": "CrossAccountFullAccessExceptPost", "Effect": "Allow", "NotAction": "mediastore:PutObject", "Principal":{ "AWS": "arn:aws:iam::<other acct number>:role/<role name>"}, "Resource": "arn:aws:mediastore:<region>:<owner acct number>:container/<container name>/*" } ] }