Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memecahkan masalah akses ditolak pesan kesalahan
Informasi berikut dapat membantu Anda mengidentifikasi, mendiagnosis, dan menyelesaikan kesalahan akses yang ditolak AWS Identity and Access Management. Kesalahan akses ditolak muncul ketika AWS secara eksplisit atau implisit menolak permintaan otorisasi.
-
Penolakan eksplisit terjadi ketika kebijakan berisi
Deny
pernyataan untuk tindakan tertentu AWS . -
Penolakan implisit terjadi ketika tidak ada pernyataan yang berlaku dan juga tidak ada
Deny
pernyataan yang berlakuAllow
. Karena IAM kebijakan menolak IAM prinsipal secara default, kebijakan harus secara eksplisit mengizinkan prinsipal untuk melakukan suatu tindakan. Jika tidak, kebijakan tersebut secara implisit menolak akses. Untuk informasi selengkapnya, lihat Perbedaan antara penolakan tegas dan implisit..
Saat Anda mengajukan permintaan ke layanan atau sumber daya, beberapa kebijakan mungkin berlaku untuk permintaan tersebut. Tinjau semua kebijakan yang berlaku selain kebijakan yang ditentukan dalam pesan kesalahan.
-
Jika beberapa kebijakan dari jenis kebijakan yang sama menolak permintaan, pesan kesalahan akses ditolak tidak menentukan jumlah kebijakan yang dievaluasi.
-
Jika beberapa jenis kebijakan menolak permintaan otorisasi, hanya AWS menyertakan salah satu jenis kebijakan tersebut dalam pesan kesalahan.
penting
Mengalami masalah saat masuk AWS? Pastikan Anda berada di halaman masuk AWS yang benar untuk jenis pengguna Anda. Jika Anda adalah Pengguna root akun AWS (pemilik akun), Anda dapat masuk AWS menggunakan kredenal yang Anda atur saat membuat. Akun AWS Jika Anda adalah IAM pengguna, administrator akun Anda dapat memberi Anda kredensi AWS
masuk. Jika Anda perlu meminta dukungan, jangan gunakan tautan umpan balik di halaman ini. Formulir diterima oleh tim AWS Dokumentasi, bukan AWS Support. Sebagai gantinya, pada halaman Hubungi Kami
Saya mendapatkan “akses ditolak” ketika saya mengajukan permintaan ke AWS layanan
-
Periksa apakah pesan kesalahan menyertakan jenis kebijakan yang bertanggung jawab untuk menolak akses. Misalnya, jika kesalahan menyebutkan bahwa akses ditolak karena Kebijakan Kontrol Layanan (SCP), maka Anda dapat fokus pada pemecahan masalahSCP. Setelah mengidentifikasi jenis kebijakan, Anda dapat memeriksa pernyataan penolakan atau tindakan izinkan yang hilang dalam jenis kebijakan tersebut. Jika pesan kesalahan tidak menyebutkan jenis kebijakan yang bertanggung jawab untuk menolak akses, gunakan pedoman lainnya di bagian ini untuk memecahkan masalah lebih lanjut.
-
Pastikan bahwa Anda memiliki izin kebijakan berbasis identitas untuk memanggil tindakan dan sumber daya yang Anda minta. Jika ada kondisi yang ditetapkan, Anda juga harus memenuhi kondisi tersebut saat mengirimkan permintaan. Untuk informasi tentang melihat atau memodifikasi kebijakan untuk IAM pengguna, grup, atau peran, lihatMengelola IAM kebijakan.
-
Jika AWS Management Console mengembalikan pesan yang menyatakan bahwa Anda tidak berwenang untuk melakukan tindakan, maka Anda harus menghubungi administrator Anda untuk bantuan. Administrator memberi Anda kredensial masuk atau tautan masuk.
Contoh kesalahan berikut terjadi ketika
mateojackson
IAM pengguna mencoba menggunakan konsol untuk melihat detail tentang
sumber daya fiksi tetapi tidak memiliki izinmy-example-widget
widgets:
fiksi.GetWidget
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: widgets:
GetWidget
on resource:my-example-widget
Dalam hal ini, Mateo harus meminta administratornya untuk memperbarui kebijakannya untuk mengizinkan mengakses ke sumber daya
menggunakan tindakanmy-example-widget
widgets:
.GetWidget
-
Apakah Anda mencoba mengakses layanan yang mendukung kebijakan berbasis sumber daya, seperti Amazon S3, Amazon, atau Amazon? SNS SQS Jika ya, verifikasikan bahwa kebijakan tersebut menetapkan Anda sebagai penanggung jawab dan memberi Anda akses. Jika Anda mengajukan permintaan ke layanan di dalam akun Anda, kebijakan berbasis identitas atau kebijakan berbasis sumber daya dapat memberikan izin kepada Anda. Jika Anda membuat permintaan layanan di akun yang berbeda, maka kebijakan berbasis identitas dan kebijakan berbasis sumber daya Anda harus memberi Anda izin. Untuk melihat layanan yang mendukung kebijakan berbasis sumber daya, lihat AWS layanan yang bekerja dengan IAM.
-
Jika kebijakan Anda menyertakan kondisi dengan pasangan nilai kunci, tinjau dengan cermat. Contohnya termasuk kunci kondisi aws:RequestTag/tag-key global, kunci kondisi AWS KMS
kms:EncryptionContext:
, dan kunciencryption_context_key
ResourceTag/
kondisi yang didukung oleh beberapa layanan. Pastikan bahwa nama kunci tidak cocok dengan beberapa hasil. Karena nama kunci kondisi tidak peka huruf besar/kecil, kondisi yang memeriksa kunci bernamatag-key
foo
cocok denganfoo
,Foo
, atauFOO
. Jika permintaan Anda menyertakan beberapa pasangan kunci-nilai dengan nama kunci yang hanya berbeda menurut kasus, akses Anda mungkin akan ditolak secara tak terduga. Untuk informasi selengkapnya, lihat IAMJSONelemen kebijakan: Condition. -
Jika Anda memiliki batas izin, verifikasikan bahwa kebijakan yang digunakan untuk batas izin memungkinkan permintaan Anda. Jika kebijakan berbasis identitas Anda mengizinkan permintaan, tetapi batas izin Anda tidak, maka permintaan ditolak. Batas izin mengontrol izin maksimum yang dapat dimiliki IAM prinsipal (pengguna atau peran). Kebijakan berbasis sumber daya tidak terbatas oleh batasan izin. Batas izin bukanlah hal yang umum. Untuk informasi selengkapnya tentang cara AWS mengevaluasi kebijakan, lihatLogika evaluasi kebijakan.
-
Jika Anda menandatangani permintaan secara manual (tanpa menggunakan AWS SDKs
), verifikasi bahwa Anda telah menandatangani permintaan dengan benar.
Saya mendapatkan “akses ditolak” ketika saya membuat permintaan dengan kredensial keamanan sementara
-
Pertama, pastikan bahwa akses Anda tidak ditolak karena alasan yang tidak terkait dengan kredensial sementara Anda. Untuk informasi selengkapnya, lihat Saya mendapatkan “akses ditolak” ketika saya mengajukan permintaan ke AWS layanan.
-
Verifikasi bahwa layanan menerima kredensial keamanan sementara, lihat AWS layanan yang bekerja dengan IAM.
-
Verifikasi bahwa permintaan Anda ditandatangani dengan benar dan bahwa permintaan tersebut memiliki bentuk yang baik. Untuk detailnya, lihat dokumentasi toolkit
atau Menggunakan kredensial sementara dengan sumber daya AWS . Anda. -
Verifikasikan bahwa kredensial keamanan sementara Anda belum kedaluwarsa. Untuk informasi selengkapnya, lihat Kredensial keamanan sementara di IAM.
-
Verifikasi bahwa IAM pengguna atau peran memiliki izin yang benar. Izin untuk kredenal keamanan sementara berasal dari IAM pengguna atau peran. Akibatnya, izin dibatasi untuk mereka yang diberikan peran yang kredensial sementaranya telah Anda gunakan. Untuk informasi selengkapnya tentang bagaimana izin untuk kredensial keamanan sementara ditentukan, lihat Mengontrol izin untuk kredensial keamanan sementara.
-
Jika Anda mengambil peran, sesi peran Anda mungkin dibatasi oleh kebijakan sesi. Bila Anda meminta kredenial keamanan sementara secara terprogram menggunakan AWS STS, Anda dapat secara opsional meneruskan kebijakan sesi inline atau terkelola. Kebijakan sesi adalah kebijakan lanjutan yang Anda sampaikan sebagai parameter saat Anda secara terprogram membuat sesi kredensial sementara untuk peran. Anda dapat meneruskan satu dokumen kebijakan sesi JSON inline menggunakan
Policy
parameter. Anda dapat menggunakan parameterPolicyArns
untuk menentukan hingga 10 kebijakan sesi terkelola. Izin sesi yang dihasilkan adalah persimpangan kebijakan berbasis identitas dan kebijakan sesi peran. Selain itu, jika administrator Anda atau program khusus memberi Anda kredensial sementara, mereka mungkin telah menyertakan kebijakan sesi untuk membatasi akses Anda. -
Jika Anda adalah pengguna gabungan, sesi Anda mungkin akan dibatasi oleh kebijakan sesi. Anda menjadi pengguna federasi dengan masuk AWS sebagai IAM pengguna dan kemudian meminta token federasi. Untuk informasi selengkapnya tentang pengguna gabungan, lihat GetFederationToken—federasi melalui pialang identitas khusus. Jika Anda atau broker identitas Anda menyampaikan kebijakan sesi sambil meminta token federasi, sesi Anda akan dibatasi oleh kebijakan tersebut. Izin sesi yang dihasilkan adalah persimpangan kebijakan berbasis identitas IAM pengguna Anda dan kebijakan sesi. Untuk informasi selengkapnya tentang kebijakan sesi, lihat Kebijakan sesi.
-
Jika Anda mengakses sumber daya yang memiliki kebijakan berbasis sumber daya dengan menggunakan peran, verifikasi bahwa kebijakan tersebut memberikan izin untuk peran tersebut. Misalnya, kebijakan berikut memungkinkan
MyRole
dari akun111122223333
untuk mengaksesMyBucket
.{ "Version": "2012-10-17", "Statement": [{ "Sid": "S3BucketPolicy", "Effect": "Allow", "Principal": {"AWS": ["arn:aws:iam::111122223333:role/MyRole"]}, "Action": ["s3:PutObject"], "Resource": ["arn:aws:s3:::MyBucket/*"] }] }
Akses ditolak contoh pesan kesalahan
Sebagian besar pesan kesalahan akses ditolak muncul dalam formatUser
. Dalam contoh ini, user
is not authorized to perform
action
on resource
because
context
user
adalah Amazon Resource Name (ARN) yang tidak menerima akses, action
adalah tindakan layanan yang ditolak kebijakan, dan resource
adalah ARN sumber daya di mana kebijakan bertindak. Bagian context
field mewakili konteks tambahan tentang jenis kebijakan yang menjelaskan mengapa kebijakan menolak akses.
Ketika kebijakan secara eksplisit menolak akses karena kebijakan berisi Deny
pernyataan, maka AWS sertakan frasa with an explicit deny in a
dalam pesan kesalahan akses ditolak. Ketika kebijakan secara implisit menolak akses, maka AWS sertakan frasa type
policybecause no
dalam pesan kesalahan akses ditolak.type
policy allows the
action
action
catatan
Beberapa AWS layanan tidak mendukung akses ini ditolak format pesan kesalahan. Isi pesan kesalahan akses ditolak dapat bervariasi tergantung pada layanan yang membuat permintaan otorisasi.
Contoh berikut menunjukkan format untuk berbagai jenis pesan kesalahan akses ditolak.
Akses ditolak karena Kebijakan Kontrol Layanan — penolakan implisit
-
Periksa
Allow
pernyataan yang hilang untuk tindakan dalam Kebijakan Kontrol Layanan Anda (SCPs). Untuk contoh berikut, tindakannya adalahcodecommit:ListRepositories
. -
Perbarui Anda SCP dengan menambahkan
Allow
pernyataan. Untuk informasi selengkapnya, lihat Memperbarui SCP di Panduan AWS Organizations Pengguna.
User: arn:aws:iam::777788889999:user/JohnDoe is not authorized to perform: codecommit:ListRepositories because no service control policy allows the codecommit:ListRespositories action
Akses ditolak karena Kebijakan Kontrol Layanan — penolakan eksplisit
-
Periksa
Deny
pernyataan untuk tindakan dalam Kebijakan Kontrol Layanan Anda (SCPs). Untuk contoh berikut, tindakannya adalahcodecommit:ListRepositories
. -
Perbarui Anda SCP dengan menghapus
Deny
pernyataan. Untuk informasi selengkapnya, lihat Memperbarui SCP di Panduan AWS Organizations Pengguna.
User: arn:aws:iam::777788889999:user/JohnDoe is not authorized to perform: codecommit:ListRepositories with an explicit deny in a service control policy
Akses ditolak karena kebijakan VPC titik akhir — penolakan implisit
-
Periksa
Allow
pernyataan yang hilang untuk tindakan dalam kebijakan titik akhir Virtual Private Cloud (VPC) Anda. Untuk contoh berikut, tindakannya adalahcodecommit:ListRepositories
. -
Perbarui kebijakan VPC titik akhir Anda dengan menambahkan
Allow
pernyataan. Untuk informasi selengkapnya, lihat Memperbarui kebijakan VPC titik akhir di AWS PrivateLink Panduan.
User: arn:aws:iam::123456789012:user/JohnDoe is not authorized to perform: codecommit:ListRepositories because no VPC endpoint policy allows the codecommit:ListRepositories action
Akses ditolak karena kebijakan VPC titik akhir — penolakan eksplisit
-
Periksa
Deny
pernyataan eksplisit untuk tindakan dalam kebijakan titik akhir Virtual Private Cloud (VPC) Anda. Untuk contoh berikut, tindakannya adalahcodedeploy:ListDeployments
. -
Perbarui kebijakan VPC titik akhir Anda dengan menghapus
Deny
pernyataan. Untuk informasi selengkapnya, lihat Memperbarui kebijakan VPC titik akhir di AWS PrivateLink Panduan.
User: arn:aws:iam::123456789012:user/JohnDoe is not authorized to perform: codedeploy:ListDeployments on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:* with an explicit deny in a VPC endpoint policy
Akses ditolak karena batas izin — penolakan implisit
-
Periksa
Allow
pernyataan yang hilang untuk tindakan di batas izin Anda. Untuk contoh berikut, tindakannya adalahcodedeploy:ListDeployments
. -
Perbarui batas izin Anda dengan menambahkan
Allow
pernyataan ke kebijakan Anda. IAM Untuk informasi selengkapnya, silakan lihat Batas izin untuk entitas IAM dan Menyunting Kebijakan IAM.
User: arn:aws:iam::123456789012:user/JohnDoe is not authorized to perform: codedeploy:ListDeployments on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:* because no permissions boundary allows the codedeploy:ListDeployments action
Akses ditolak karena batas izin — penolakan eksplisit
-
Periksa
Deny
pernyataan eksplisit untuk tindakan di batas izin Anda. Untuk contoh berikut, tindakannya adalahsagemaker:ListModels
. -
Perbarui batas izin Anda dengan menghapus
Deny
pernyataan dari kebijakan Anda. IAM Untuk informasi selengkapnya, silakan lihat Batas izin untuk entitas IAM dan Menyunting Kebijakan IAM.
User: arn:aws:iam::777788889999:user/JohnDoe is not authorized to perform: sagemaker:ListModels with an explicit deny in a permissions boundary
Akses ditolak karena kebijakan sesi — penolakan implisit
-
Periksa
Allow
pernyataan yang hilang untuk tindakan dalam kebijakan sesi Anda. Untuk contoh berikut, tindakannya adalahcodecommit:ListRepositories
. -
Perbarui kebijakan sesi Anda dengan menambahkan
Allow
pernyataan. Untuk informasi selengkapnya, lihat Kebijakan sesi danMenyunting Kebijakan IAM.
User: arn:aws:iam::123456789012:user/JohnDoe is not authorized to perform: codecommit:ListRepositories because no session policy allows the codecommit:ListRepositories action
Akses ditolak karena kebijakan sesi — penolakan eksplisit
-
Periksa
Deny
pernyataan eksplisit untuk tindakan dalam kebijakan sesi Anda. Untuk contoh berikut, tindakannya adalahcodedeploy:ListDeployments
. -
Perbarui kebijakan sesi Anda dengan menghapus
Deny
pernyataan. Untuk informasi selengkapnya, lihat Kebijakan sesi danMenyunting Kebijakan IAM.
User: arn:aws:iam::123456789012:user/JohnDoe is not authorized to perform: codedeploy:ListDeployments on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:* with an explicit deny in a sessions policy
Akses ditolak karena kebijakan berbasis sumber daya — penolakan implisit
-
Periksa
Allow
pernyataan yang hilang untuk tindakan dalam kebijakan berbasis sumber daya Anda. Untuk contoh berikut, tindakannya adalahsecretsmanager:GetSecretValue
. -
Perbarui kebijakan Anda dengan menambahkan
Allow
pernyataan. Untuk informasi selengkapnya, lihat Kebijakan berbasis sumber daya dan. Menyunting Kebijakan IAM
User: arn:aws:iam::123456789012:user/JohnDoe is not authorized to perform: secretsmanager:GetSecretValue because no resource-based policy allows the secretsmanager:GetSecretValue action
Akses ditolak karena kebijakan berbasis sumber daya — penolakan eksplisit
-
Periksa
Deny
pernyataan eksplisit untuk tindakan dalam kebijakan berbasis sumber daya Anda. Untuk contoh berikut, tindakannya adalahsecretsmanager:GetSecretValue
. -
Perbarui kebijakan Anda dengan menghapus
Deny
pernyataan. Untuk informasi selengkapnya, lihat Kebijakan berbasis sumber daya dan. Menyunting Kebijakan IAM
User: arn:aws:iam::123456789012:user/JohnDoe is not authorized to perform: secretsmanager:GetSecretValue on resource: arn:aws:secretsmanager:us-east-1:123456789012:secret:* with an explicit deny in a resource-based policy
Akses ditolak karena kebijakan kepercayaan peran — penolakan implisit
-
Periksa
Allow
pernyataan yang hilang untuk tindakan dalam kebijakan kepercayaan peran Anda. Untuk contoh berikut, tindakannya adalahsts:AssumeRole
. -
Perbarui kebijakan Anda dengan menambahkan
Allow
pernyataan. Untuk informasi selengkapnya, lihat Kebijakan berbasis sumber daya dan. Menyunting Kebijakan IAM
User: arn:aws:iam::123456789012:user/JohnDoe is not authorized to perform: sts:AssumeRole because no role trust policy allows the sts:AssumeRole action
Akses ditolak karena kebijakan kepercayaan peran — penolakan eksplisit
-
Periksa
Deny
pernyataan eksplisit untuk tindakan dalam kebijakan kepercayaan peran Anda. Untuk contoh berikut, tindakannya adalahsts:AssumeRole
. -
Perbarui kebijakan Anda dengan menghapus
Deny
pernyataan. Untuk informasi selengkapnya, lihat Kebijakan berbasis sumber daya dan. Menyunting Kebijakan IAM
User: arn:aws:iam::777788889999:user/JohnDoe is not authorized to perform: sts:AssumeRole with an explicit deny in the role trust policy
Akses ditolak karena kebijakan berbasis identitas — penolakan implisit
-
Periksa
Allow
pernyataan yang hilang untuk tindakan dalam kebijakan berbasis identitas yang dilampirkan pada identitas. Untuk contoh berikut, tindakancodecommit:ListRepositories
dilampirkan pada peranHR
. -
Perbarui kebijakan Anda dengan menambahkan
Allow
pernyataan. Untuk informasi selengkapnya, lihat Kebijakan berbasis identitas dan. Menyunting Kebijakan IAM
User: arn:aws:iam::123456789012:role/HR is not authorized to perform: codecommit:ListRepositories because no identity-based policy allows the codecommit:ListRepositories action
Akses ditolak karena kebijakan berbasis identitas — penolakan eksplisit
-
Periksa
Deny
pernyataan eksplisit untuk tindakan dalam kebijakan berbasis identitas yang dilampirkan pada identitas. Untuk contoh berikut, tindakancodedeploy:ListDeployments
dilampirkan pada peranHR
. -
Perbarui kebijakan Anda dengan menghapus
Deny
pernyataan. Untuk informasi selengkapnya, lihat Kebijakan berbasis identitas dan. Menyunting Kebijakan IAM
User: arn:aws:iam::123456789012:role/HR is not authorized to perform: codedeploy:ListDeployments on resource: arn:aws:codedeploy:us-east-1:123456789012:deploymentgroup:* with an explicit deny in an identity-based policy
Akses ditolak ketika VPC permintaan gagal karena kebijakan lain
-
Periksa
Deny
pernyataan eksplisit untuk tindakan dalam Kebijakan Kontrol Layanan Anda (SCPs). Untuk contoh berikut, tindakannya adalahSNS:Publish
. -
Perbarui Anda SCP dengan menghapus
Deny
pernyataan. Untuk informasi selengkapnya, lihat Memperbarui SCP di Panduan AWS IAM Identity Center Pengguna.
User: arn:aws:sts::111122223333:assumed-role/
role-name
/role-session-name
is not authorized to perform: SNS:Publish on resource: arn:aws:sns:us-east-1:444455556666:role-name-2
with an explicit deny in a VPC endpoint policy transitively through a service control policy