View a markdown version of this page

AWS Sign-In referensi kunci kondisi - AWS Sign-In

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

AWS Sign-In referensi kunci kondisi

Halaman ini mencantumkan kunci kondisi yang dapat Anda gunakan dalam kebijakan AWS Sign-In berbasis sumber daya dan kebijakan kontrol sumber daya (RCP), dan menunjukkan fase evaluasi dan tindakan yang diterapkan setiap kunci. Hanya signin:PrincipalArn khusus untuk AWS Sign-In; yang lain adalah kunci kondisi AWS global. Untuk definisi kunci global, lihat kunci konteks kondisi AWS global.

Untuk daftar lengkap tindakan dan kunci kondisi dalam Referensi Otorisasi Layanan, lihat Tindakan, sumber daya, dan kunci kondisi untuk AWS Sign-In.

Network-based kunci kondisi

Kunci kondisi ini memeriksa dari mana permintaan berasal. AWS Sign-In mengevaluasi mereka untuk semua AWS Sign-In tindakan (signin:Authenticate,signin:AuthorizeOAuth2Access, dansignin:CreateOAuth2Token) dalam kebijakan berbasis sumber daya dan RCP.

Network-based kunci kondisi
Kunci syarat Operator Deskripsi Aturan penggunaan
aws:SourceIp IpAddress, NotIpAddress Alamat IP publik atau rentang CIDR Tidak ada saat permintaan menggunakan titik akhir VPC. Gunakan IfExists operator saat menggabungkan dengan VPC-based kondisi dalam pernyataan yang sama.
aws:SourceVpc StringEquals, StringNotEquals ID VPC () vpc-xxxxxxxx Hanya hadir saat permintaan menggunakan titik akhir VPC. Gunakan dengan aws:RequestedRegion untuk mencegah tabrakan ID VPC lintas wilayah.
aws:SourceVpce StringEquals, StringNotEquals ID titik akhir VPC () vpce-xxxxxxxx Hanya hadir saat permintaan menggunakan titik akhir VPC.
aws:VpcSourceIp IpAddress, NotIpAddress IP pribadi dalam VPC Selalu gunakan tombol aws:VpcSourceIp kondisi dengan tombol aws:SourceVpc atau aws:SourceVpce kondisi.
aws:RequestedRegion StringEquals, StringNotEquals Kode AWS Wilayah Target Direkomendasikan saat menggunakan aws:SourceVpc untuk mencegah tabrakan ID VPC lintas wilayah. Beberapa Wilayah dapat ditentukan.
penting

Satu permintaan berisi aws:SourceIp (jaringan publik) atau aws:SourceVpc (titik akhir VPC), bukan keduanya. Saat menulis penolakan kecuali kebijakan yang mencakup kedua jalur, gunakan IfExists operator (misalnya,NotIpAddressIfExists) atau buat pernyataan terpisah.

Identity-based kunci kondisi

Kunci kondisi ini memeriksa siapa yang membuat permintaan. Mereka hanya tersedia untuk tindakan pasca-otentikasi (signin:AuthorizeOAuth2Accessdansignin:CreateOAuth2Token), di mana identitas utama telah ditetapkan.

Identity-based kunci kondisi
Kunci syarat Operator Deskripsi Contoh
aws:PrincipalArn ArnEquals, ArnLike, ArnNotEquals, StringEquals, StringLike ARN dari kepala IAM yang diautentikasi arn:aws:iam::123456789012:user/alice, arn:aws:iam::123456789012:role/Admin
aws:PrincipalAccount StringEquals, StringNotEquals AWS ID akun kepala sekolah 123456789012

Service-specific kunci kondisi: masuk: PrincipalArn

Kunci kondisi berikut khusus untuk AWS Sign-In dan bukan AWS kunci global. Ini hanya tersedia selama evaluasi pra-otentikasi. Gunakan signin:PrincipalArn untuk mengidentifikasi prinsipal yang memulai proses masuk sebelum otentikasi selesai. Ini adalah pra-otentikasi yang setara denganaws:PrincipalArn, yang tidak tersedia sampai setelah otentikasi.

Operator

Operator ARN (ArnEquals,, ArnLikeArnNotEquals,ArnNotLike) dan operator string (StringEquals,StringLike).

Ketersediaan

AWS Sign-In menyertakan kunci ini dalam konteks permintaan selama fase pra-otentikasi (signin:Authenticatetindakan). Ini tidak tersedia untuk tindakan pasca-otentikasi (signin:AuthorizeOAuth2Accessdansignin:CreateOAuth2Token).

Jenis data

ARN. Gunakan operator ARN daripada operator string.

Tipe nilai

Single-valued.

Didukung di

Resource-based kebijakan dan RCP.

Gunakan operator ARN untuk membandingkan nilai. Anda dapat menentukan jenis utama berikut:

  • Akun AWS pengguna root (arn:aws:iam::123456789012:root)

  • Pengguna IAM () arn:aws:iam::123456789012:user/user-name

  • Peran IAM () arn:aws:iam::123456789012:role/role-name

Kasus penggunaan: Mengecualikan identitas utama yang dikecualikan dari pembatasan jaringan, mencegah penguncian sambil tetap menerapkan kontrol jaringan untuk semua upaya akses lainnya.

Contoh — Tolak akses pra-otentikasi dari jaringan yang tidak sah, kecuali untuk pengguna root:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": ["signin:Authenticate"], "Resource": "*", "Condition": { "ArnNotEquals": { "signin:PrincipalArn": "arn:aws:iam::123456789012:root" }, "NotIpAddress": { "aws:SourceIp": "203.0.113.0/24" }, "StringEquals": { "aws:ResourceAccount": "123456789012" } } }, { "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": ["signin:CreateOAuth2Token", "signin:AuthorizeOAuth2Access"], "Resource": "*", "Condition": { "ArnNotEquals": { "aws:PrincipalArn": "arn:aws:iam::123456789012:root" }, "NotIpAddress": { "aws:SourceIp": "203.0.113.0/24" }, "StringEquals": { "aws:ResourceAccount": "123456789012" } } } ] }

Kebijakan ini menolak akses konsol dari luar rentang 203.0.113.0/24 IP, kecuali untuk pengguna root akun. Pernyataan pra-otentikasi digunakan signin:PrincipalArn untuk membebaskan pengguna root sebelum otentikasi selesai. Pernyataan pasca-otentikasi digunakan aws:PrincipalArn untuk mengecualikan prinsip yang sama setelah otentikasi, selama pertukaran token OAuth. Lihat Contoh kebijakan.

Kunci kondisi OAuth

AWS Sign-In menyediakan kunci OAuth-specific kondisi yang dapat Anda gunakan dalam kebijakan IAM untuk mengontrol bagaimana aplikasi memperoleh otorisasi OAuth dan token OAuth. Kunci kondisi ini memungkinkan Anda untuk membatasi klien OAuth mana yang dapat terhubung, URI pengalihan mana yang dipercaya, alur otorisasi OAuth mana yang diizinkan, bagaimana klien OAuth mengautentikasi, dan token OAuth mana yang dapat dikelola.

Kunci kondisi OAuth dapat digunakan dalam kebijakan identitas IAM, kebijakan kontrol layanan (SCP), kebijakan kontrol sumber daya (RCP), dan jenis kebijakan IAM lainnya yang mendukung tindakan. AWS Sign-In

Kunci kondisi OAuth berikut tersedia.

Kunci syarat Tipe Deskripsi Tindakan yang berlaku
signin:OAuthClientId String Membatasi otorisasi untuk klien OAuth yang disetujui. signin:AuthorizeOAuth2Access, signin:CreateOAuth2Token, signin:IntrospectOAuth2Token
signin:OAuthRedirectUri String Membatasi otorisasi OAuth untuk URI pengalihan yang disetujui. signin:AuthorizeOAuth2Access, signin:CreateOAuth2Token, signin:CreateOAuth2PublicClient
signin:OAuthGrantType String Mengontrol jenis hibah OAuth mana yang diizinkan. Nilai:authorization_code,refresh_token,client_credentials. signin:CreateOAuth2Token
signin:OAuthClientAuthentication String Kontrol diizinkan metode otentikasi klien OAuth. signin:CreateOAuth2Token
signin:OAuthTokenType String Mengontrol operasi yang dilakukan pada akses OAuth dan token penyegaran. Nilai:access_token,refresh_token. signin:RevokeOAuth2Token, signin:IntrospectOAuth2Token

masuk: OAuthClientId

Gunakan signin:OAuthClientId untuk mengizinkan atau menolak otorisasi OAuth berdasarkan klien OAuth terdaftar yang meminta akses.

ID klien OAuth direpresentasikan sebagai ARN Pendaftaran Klien AWS Sign-In Dinamis (DCR).

Untuk aliran non-interaktif (kredensi klien), ID klien implisit adalah. arn:aws:signin:::client-credentials/sigv4

Tindakan yang berlaku
  • signin:AuthorizeOAuth2Access

  • signin:CreateOAuth2Token

  • signin:IntrospectOAuth2Token

Contoh - Izinkan hanya klien OAuth terdaftar tertentu:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "signin:AuthorizeOAuth2Access", "signin:CreateOAuth2Token" ], "Resource": "arn:aws:signin:*:*:service-principal/aws-mcp.amazonaws.com", "Condition": { "StringEquals": { "signin:OAuthClientId": "arn:aws:signin:us-east-1::external-client/dcr/081e0aeb-e779-4dfe-9648-bd5bf6e6afa4" } } } ] }

masuk: OAuthRedirectUri

Gunakan signin:OAuthRedirectUri untuk membatasi di mana tanggapan otorisasi OAuth dikirimkan.

Ini biasanya digunakan untuk memastikan tanggapan otorisasi OAuth dikembalikan hanya ke URI pengalihan tepercaya, seperti localhost selama pengembangan.

Untuk signin:CreateOAuth2PublicClient tindakan tersebut, kunci kondisi ini hanya berlaku dalam evaluasi kebijakan VPC endpoint (VPCE).

Tindakan yang berlaku
  • signin:AuthorizeOAuth2Access

  • signin:CreateOAuth2Token

  • signin:CreateOAuth2PublicClient

Contoh - Izinkan otorisasi berbasis browser hanya untuk URI pengalihan localhost dan hanya untuk aliran OAuth interaktif:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "signin:AuthorizeOAuth2Access", "signin:CreateOAuth2Token" ], "Resource": "arn:aws:signin:*:*:service-principal/aws-mcp.amazonaws.com", "Condition": { "StringLike": { "signin:OAuthRedirectUri": "http://localhost:*" }, "StringEquals": { "signin:OAuthGrantType": [ "authorization_code", "refresh_token" ] } } } ] }

masuk: OAuthGrantType

Gunakan signin:OAuthGrantType untuk mengontrol aplikasi jenis hibah OAuth mana yang diizinkan untuk digunakan.

Nilai yang didukung meliputi:

  • authorization_code

  • refresh_token

  • client_credentials

Tindakan yang berlaku
  • signin:CreateOAuth2Token

Contoh - Izinkan hanya otorisasi OAuth berbasis browser sambil mencegah aplikasi menggunakan Hibah Kredensial Klien:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "signin:CreateOAuth2Token", "Resource": "*", "Condition": { "StringEquals": { "signin:OAuthGrantType": [ "authorization_code", "refresh_token" ] } } } ] }

masuk: OAuthClientAuthentication

Gunakan signin:OAuthClientAuthentication untuk mengontrol metode otentikasi klien mana yang dapat digunakan klien OAuth saat meminta token akses.

Nilai yang didukung saat ini:

  • none

Tindakan yang berlaku
  • signin:CreateOAuth2Token

Contoh - Tolak klien publik untuk operasi OAuth:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "signin:CreateOAuth2Token", "Resource": "*", "Condition": { "StringEquals": { "signin:OAuthClientAuthentication": "none" } } } ] }

masuk: OAuthTokenType

Gunakan signin:OAuthTokenType untuk mengontrol jenis token OAuth mana yang dapat diintrospeksi atau dicabut.

Nilai yang didukung meliputi:

  • access_token

  • refresh_token

Tindakan yang berlaku
  • signin:IntrospectOAuth2Token

  • signin:RevokeOAuth2Token

Contoh - Izinkan pencabutan token penyegaran saja:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "signin:RevokeOAuth2Token", "Resource": "*", "Condition": { "StringEquals": { "signin:OAuthTokenType": "refresh_token" } } } ] }

Kondisi ketersediaan kunci berdasarkan tindakan

Tabel berikut menunjukkan tombol kondisi yang tersedia untuk setiap tindakan.

Kunci syarat Masuk: otentikasi masuk: AuthorizeOAuth2Access masuk: CreateOAuth2Token masuk: RevokeOAuth2Token masuk: IntrospectOAuth2Token masuk: CreateOAuth2PublicClient
aws:SourceIp Ya Ya Ya Ya Ya Tidak
aws:SourceVpc Ya Ya Ya Ya Ya Tidak
aws:SourceVpce Ya Ya Ya Ya Ya Tidak
aws:VpcSourceIp Ya Ya Ya Ya Ya Tidak
aws:RequestedRegion Ya Ya Ya Ya Ya Tidak
aws:PrincipalArn Tidak Ya Ya Ya Ya Tidak
aws:PrincipalAccount Tidak Ya Ya Ya Ya Tidak
signin:PrincipalArn Ya Tidak Tidak Tidak Tidak Tidak
signin:OAuthClientId Tidak Ya Ya Tidak Ya Tidak
signin:OAuthRedirectUri Tidak Ya Ya Tidak Tidak Ya
signin:OAuthGrantType Tidak Tidak Ya Tidak Tidak Tidak
signin:OAuthClientAuthentication Tidak Tidak Ya Tidak Tidak Tidak
signin:OAuthTokenType Tidak Tidak Tidak Ya Ya Tidak
catatan

signin:CreateAccountTindakan ini digunakan secara eksklusif dalam kebijakan titik akhir VPC untuk Akses Pribadi Konsol dan tidak tersedia untuk kebijakan atau RCP berbasis sumber daya. Tidak ada kunci kondisi khusus layanan yang terkait dengannya. Lihat Akses Pribadi Konsol.