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.
| 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.
| 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:AuthorizeOAuth2Accesssignin:CreateOAuth2Tokensignin: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:AuthorizeOAuth2Accesssignin:CreateOAuth2Tokensignin: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_coderefresh_tokenclient_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_tokenrefresh_token
- Tindakan yang berlaku
-
signin:IntrospectOAuth2Tokensignin: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.