

• AWS Systems Manager CloudWatch Dasbor tidak akan lagi tersedia setelah 30 April 2026. Pelanggan dapat terus menggunakan CloudWatch konsol Amazon untuk melihat, membuat, dan mengelola CloudWatch dasbor Amazon mereka, seperti yang mereka lakukan hari ini. Untuk informasi selengkapnya, lihat [dokumentasi CloudWatch Dasbor Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

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

# Menyiapkan just-in-time akses dengan Systems Manager
<a name="systems-manager-just-in-time-node-access-setting-up"></a>

Menyiapkan akses just-in-time node dengan Systems Manager melibatkan beberapa langkah. Pertama, Anda memilih *target* di mana Anda ingin mengatur akses just-in-time node. Target terdiri dari unit AWS Organizations organisasi (OUs) dan Wilayah AWS. Secara default, target yang sama yang Anda pilih saat menyiapkan konsol Systems Manager terpadu dipilih untuk akses just-in-time node. Anda dapat memilih untuk mengatur akses just-in-time node untuk semua target yang sama, atau subset target yang Anda tentukan saat menyiapkan konsol Systems Manager terpadu. Menambahkan target baru yang tidak dipilih saat Anda menyiapkan konsol Systems Manager terpadu tidak didukung.

Selanjutnya Anda akan membuat *kebijakan persetujuan* untuk menentukan kapan koneksi node memerlukan persetujuan manual dan secara otomatis disetujui. Kebijakan persetujuan dikelola oleh setiap akun di organisasi Anda. Anda juga dapat membagikan kebijakan dari akun administrator yang didelegasikan untuk secara eksplisit menolak persetujuan otomatis koneksi ke node tertentu.

**catatan**  
Menyiapkan akses just-in-time node tidak memengaruhi kebijakan atau preferensi IAM yang sudah ada yang telah Anda konfigurasikanSession Manager. Anda harus menghapus izin untuk tindakan `StartSession` API dari kebijakan IAM Anda untuk memastikan bahwa hanya akses just-in-time node yang digunakan ketika pengguna mencoba untuk terhubung ke node Anda. Setelah menyiapkan akses just-in-time node, sebaiknya uji kebijakan persetujuan Anda dengan subset pengguna dan node untuk memverifikasi kebijakan Anda berfungsi sesuai keinginan sebelum menghapus izin. Session Manager

**Dukungan autentikasi**  
Perhatikan detail berikut tentang dukungan otentikasi yang digunakan untuk akses just-in-time node:
+ Just-in-time akses node tidak mendukung jenis otentikasi Single Sign-On saat menghubungkan ke Windows Server instance dengan Remote Desktop.
+ Hanya AWS Security Token Service (AWS STS) kredenal keamanan `AssumeRole` sementara yang didukung. Untuk informasi selengkapnya, lihat topik berikut di *Panduan Pengguna IAM*: 
+ 
  + [Kredensi keamanan sementara di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)
  + [Membandingkan AWS STS kredensi](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_sts-comparison.html)
  + [Meminta kredensi keamanan sementara](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html)

Kebijakan IAM berikut menguraikan izin yang diperlukan untuk mengelola dan memungkinkan pengguna membuat permintaan akses just-in-time node ke node dengan Systems Manager. Setelah memverifikasi bahwa Anda memiliki izin yang diperlukan untuk menggunakan akses just-in-time node dengan Systems Manager, Anda dapat melanjutkan proses pengaturan. Ganti masing-masing *example resource placeholder* dengan informasi Anda sendiri.

## Kebijakan IAM untuk mengaktifkan akses node just-in-time
<a name="just-in-time-administrator-policy"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "QuickSetupConfigurationManagers",
            "Effect": "Allow",
            "Action": [
                "ssm-quicksetup:CreateConfigurationManager",
                "ssm-quicksetup:DeleteConfigurationManager",
                "ssm-quicksetup:GetConfiguration",
                "ssm-quicksetup:GetConfigurationManager",
                "ssm-quicksetup:GetServiceSettings",
                "ssm-quicksetup:ListConfigurationManagers",
                "ssm-quicksetup:ListConfigurations",
                "ssm-quicksetup:ListQuickSetupTypes",
                "ssm-quicksetup:ListTagsForResource",
                "ssm-quicksetup:TagResource",
                "ssm-quicksetup:UntagResource",
                "ssm-quicksetup:UpdateConfigurationDefinition",
                "ssm-quicksetup:UpdateConfigurationManager",
                "ssm-quicksetup:UpdateServiceSettings"
            ],
            "Resource": "*"
        },
        {
            "Sid": "QuickSetupDeployments",
            "Effect": "Allow",
            "Action": [
                "cloudformation:DescribeStackSetOperation",
                "cloudformation:ListStacks",
                "cloudformation:DescribeStacks",
                "cloudformation:DescribeStackResources",
                "cloudformation:ListStackSetOperations",
                "cloudformation:ListStackInstances",
                "cloudformation:DescribeStackSet",
                "cloudformation:ListStackSets",
                "cloudformation:DescribeStackInstance",
                "cloudformation:DescribeOrganizationsAccess",
                "cloudformation:ActivateOrganizationsAccess",
                "cloudformation:GetTemplate",
                "cloudformation:ListStackSetOperationResults",
                "cloudformation:DescribeStackEvents",
                "cloudformation:UntagResource",
                "ssm:DescribeAutomationExecutions",
                "ssm:GetAutomationExecution",
                "ssm:ListAssociations",
                "ssm:DescribeAssociation",
                "ssm:GetDocument",
                "ssm:ListDocuments",
                "ssm:DescribeDocument",
                "ssm:GetOpsSummary",
                "organizations:DeregisterDelegatedAdministrator",
                "organizations:DescribeAccount",
                "organizations:DescribeOrganization",
                "organizations:ListDelegatedAdministrators",
                "organizations:ListRoots",
                "organizations:ListParents",
                "organizations:ListOrganizationalUnitsForParent",
                "organizations:DescribeOrganizationalUnit",
                "organizations:ListAWSServiceAccessForOrganization",
                "iam:ListRoles",
                "iam:ListRolePolicies",
                "iam:GetRole",
                "iam:CreatePolicy",
                "cloudformation:TagResource"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudformation:RollbackStack",
                "cloudformation:CreateStack",
                "cloudformation:UpdateStack",
                "cloudformation:DeleteStack"
            ],
            "Resource": [
                "arn:aws:cloudformation:*:*:stack/StackSet-AWS-QuickSetup-JITNA*",
                "arn:aws:cloudformation:*:*:stack/AWS-QuickSetup-*",
                "arn:aws:cloudformation:*:*:type/resource/*",
                "arn:aws:cloudformation:*:*:stack/StackSet-SSMQuickSetup"
            ]
        },
        {
            "Sid": "StackSetOperations",
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateStackSet",
                "cloudformation:UpdateStackSet",
                "cloudformation:DeleteStackSet",
                "cloudformation:DeleteStackInstances",
                "cloudformation:CreateStackInstances",
                "cloudformation:StopStackSetOperation"
            ],
            "Resource": [
                "arn:aws:cloudformation:*:*:stackset/AWS-QuickSetup-JITNA*",
                "arn:aws:cloudformation:*:*:type/resource/*",
                "arn:aws:cloudformation:*:*:stackset-target/AWS-QuickSetup-JITNA*:*"
            ]
        },
        {
            "Sid": "IamRolesMgmt",
            "Effect": "Allow",
            "Action": [
                "iam:CreateRole",
                "iam:DeleteRole",
                "iam:GetRole",
                "iam:AttachRolePolicy",
                "iam:PutRolePolicy",
                "iam:DetachRolePolicy",
                "iam:GetRolePolicy",
                "iam:ListRolePolicies"
            ],
            "Resource": [
                "arn:aws:iam::*:role/AWS-QuickSetup-JITNA*",
                "arn:aws:iam::*:role/service-role/AWS-QuickSetup-JITNA*"
            ]
        },
        {
            "Sid": "IamPassRole",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::*:role/AWS-QuickSetup-JITNA*",
                "arn:aws:iam::*:role/service-role/AWS-QuickSetup-JITNA*"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "ssm.amazonaws.com",
                        "ssm-quicksetup.amazonaws.com",
                        "cloudformation.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "SSMAutomationExecution",
            "Effect": "Allow",
            "Action": "ssm:StartAutomationExecution",
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/AWS-EnableExplorer",
                "arn:aws:ssm:us-east-1:111122223333:automation-execution/*"
            ]
        },
        {
            "Sid": "SSMAssociationPermissions",
            "Effect": "Allow",
            "Action": [
                "ssm:DeleteAssociation",
                "ssm:CreateAssociation",
                "ssm:StartAssociationsOnce"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:association/*"
        },
        {
            "Sid": "SSMResourceDataSync",
            "Effect": "Allow",
            "Action": [
                "ssm:CreateResourceDataSync",
                "ssm:UpdateResourceDataSync"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:resource-data-sync/AWS-QuickSetup-*"
        },
        {
            "Sid": "ListResourceDataSync",
            "Effect": "Allow",
            "Action": [
                "ssm:ListResourceDataSync"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CreateServiceLinkedRoles",
            "Effect": "Allow",
            "Action": [
                "iam:CreateServiceLinkedRole"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:AWSServiceName": [
                        "accountdiscovery.ssm.amazonaws.com",
                        "ssm.amazonaws.com",
                        "ssm-quicksetup.amazonaws.com",
                        "stacksets.cloudformation.amazonaws.com"
                    ]
                }
            },
            "Resource": "*"
        },
        {
            "Sid": "CreateStackSetsServiceLinkedRole",
            "Effect": "Allow",
            "Action": [
                "iam:CreateServiceLinkedRole"
            ],
            "Resource": "arn:aws:iam::*:role/aws-service-role/stacksets.cloudformation.amazonaws.com/AWSServiceRoleForCloudFormationStackSetsOrgAdmin"
        },
        {
            "Sid": "AllowSsmJitnaPoliciesCrudOperations",
            "Effect": "Allow",
            "Action": [
                "ssm:CreateDocument",
                "ssm:UpdateDocument",
                "ssm:UpdateDocumentDefaultVersion",
                "ssm:GetDocument",
                "ssm:DescribeDocument",
                "ssm:DeleteDocument"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/SSM-JustInTimeAccessDenyAccessOrgPolicy"
            ],
            "Condition": {
                "StringEquals": {
                    "ssm:DocumentType": [
                        "AutoApprovalPolicy"
                    ]
                }
            }
        },
        {
            "Sid": "AllowAccessRequestOpsItemOperations",
            "Effect": "Allow",
            "Action": [
                "ssm:GetOpsItem",
                "ssm:DescribeOpsItems",
                "ssm:GetOpsSummary",
                "ssm:DeleteOpsItem",
                "ssm:ListOpsItemEvents"
            ],
            "Resource": "*"
        },
        {
            "Sid": "IdentityCenterPermissions",
            "Effect": "Allow",
            "Action": [
                "sso:DescribeRegisteredRegions",
                "sso:ListDirectoryAssociations",
                "identitystore:GetUserId",
                "identitystore:DescribeUser",
                "identitystore:DescribeGroup",
                "identitystore:ListGroupMembershipsForMember"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Kebijakan IAM untuk mengonfigurasi akses node just-in-time
<a name="just-in-time-member-administrator-policy"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowSsmJitnaPoliciesCrudOperations",
            "Effect": "Allow",
            "Action": [
                "ssm:CreateDocument",
                "ssm:UpdateDocument",
                "ssm:UpdateDocumentDefaultVersion",
                "ssm:GetDocument",
                "ssm:DescribeDocument",
                "ssm:DeleteDocument"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ssm:DocumentType": [
                        "ManualApprovalPolicy",
                        "AutoApprovalPolicy"
                    ]
                }
            }
        },
        {
            "Sid": "AllowSsmJitnaPoliciesListOperations",
            "Effect": "Allow",
            "Action": [
                "ssm:ListDocuments",
                "ssm:ListDocumentVersions"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/SSM-JustInTimeAccessTokenRole",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "justintimeaccess.ssm.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "AllowAccessRequestOpsItemOperations",
            "Effect": "Allow",
            "Action": [
                "ssm:GetOpsItem",
                "ssm:DescribeOpsItems",
                "ssm:GetOpsSummary",
                "ssm:DeleteOpsItem",
                "ssm:ListOpsItemEvents"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowSessionManagerPreferencesOperation",
            "Effect": "Allow",
            "Action": [
                "ssm:CreateDocument",
                "ssm:GetDocument",
                "ssm:DescribeDocument",
                "ssm:UpdateDocument",
                "ssm:DeleteDocument"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:document/SSM-SessionManagerRunShell",
            "Condition": {
                "StringEquals": {
                    "ssm:DocumentType": "Session"
                }
            }
        },
        {
            "Sid": "AllowSessionManagerOperations",
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus",
                "ssm:TerminateSession"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowRDPConnectionRecordingOperations",
            "Effect": "Allow",
            "Action": [
                "ssm-guiconnect:UpdateConnectionRecordingPreferences",
                "ssm-guiconnect:GetConnectionRecordingPreferences",
                "ssm-guiconnect:DeleteConnectionRecordingPreferences"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowRDPConnectionRecordingKmsOperation",
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/SystemsManagerJustInTimeNodeAccessManaged": "true"
                },
                "StringLike": {
                    "kms:ViaService": "ssm-guiconnect.*.amazonaws.com"
                },
                "Bool": {
                    "aws:ViaAWSService": "true"
                }
            }
        },
        {
            "Sid": "AllowFleetManagerOperations",
            "Effect": "Allow",
            "Action": [
                "ssm-guiconnect:GetConnection",
                "ssm-guiconnect:ListConnections"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SNSTopicManagement",
            "Effect": "Allow",
            "Action": [
                "sns:CreateTopic",
                "sns:SetTopicAttributes"
            ],
            "Resource": [
                "arn:aws:sns:us-east-1:111122223333:SSM-JITNA*"
            ]
        },
        {
            "Sid": "SNSListTopics",
            "Effect": "Allow",
            "Action": [
                "sns:ListTopics"
            ],
            "Resource": "*"
        },
        {
            "Sid": "EventBridgeRuleManagement",
            "Effect": "Allow",
            "Action": [
                "events:PutRule",
                "events:PutTargets"
            ],
            "Resource": [
                "arn:aws:events:us-east-1::rule/SSM-JITNA*"
            ]
        },
        {
            "Sid": "ChatbotSlackManagement",
            "Effect": "Allow",
            "Action": [
                "chatbot:CreateSlackChannelConfiguration",
                "chatbot:UpdateSlackChannelConfiguration",
                "chatbot:DescribeSlackChannelConfigurations",
                "chatbot:DescribeSlackWorkspaces",
                "chatbot:DeleteSlackChannelConfiguration",
                "chatbot:RedeemSlackOauthCode",
                "chatbot:DeleteSlackWorkspaceAuthorization",
                "chatbot:GetSlackOauthParameters"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ChatbotTeamsManagement",
            "Effect": "Allow",
            "Action": [
                "chatbot:ListMicrosoftTeamsChannelConfigurations",
                "chatbot:CreateMicrosoftTeamsChannelConfiguration",
                "chatbot:UpdateMicrosoftTeamsChannelConfiguration",
                "chatbot:ListMicrosoftTeamsConfiguredTeams",
                "chatbot:DeleteMicrosoftTeamsChannelConfiguration",
                "chatbot:RedeemMicrosoftTeamsOauthCode",
                "chatbot:DeleteMicrosoftTeamsConfiguredTeam",
                "chatbot:GetMicrosoftTeamsOauthParameters",
                "chatbot:TagResource"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SSMEmailSettings",
            "Effect": "Allow",
            "Action": [
                "ssm:UpdateServiceSetting",
                "ssm:GetServiceSetting"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/access-request/email-role-mapping",
                "arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/access-request/enabled-email-notifications"
            ]
        },
        {
            "Sid": "AllowViewingJitnaCloudWatchMetrics",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:GetMetricData",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "cloudwatch:namespace": "AWS/SSM/JustInTimeAccess"
                }
            }
        },
        {
            "Sid": "QuickSetupConfigurationManagers",
            "Effect": "Allow",
            "Action": [
                "ssm-quicksetup:ListConfigurationManagers",
                "ssm-quicksetup:ListConfigurations",
                "ssm-quicksetup:ListQuickSetupTypes",
                "ssm-quicksetup:GetConfiguration",
                "ssm-quicksetup:GetConfigurationManager"
            ],
            "Resource": "*"
        },
        {
            "Sid": "QuickSetupDeployments",
            "Effect": "Allow",
            "Action": [
                "cloudformation:ListStacks",
                "cloudformation:DescribeStacks",
                "organizations:DescribeOrganization",
                "organizations:ListDelegatedAdministrators"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ManualPolicy",
            "Effect": "Allow",
            "Action": [
                "sso:DescribeRegisteredRegions",
                "ssm:GetServiceSetting",
                "iam:ListRoles"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SessionPreference",
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowIamListForKMS",
            "Effect": "Allow",
            "Action": [
                "iam:ListUsers"
            ],
            "Resource": "arn:aws:iam::111122223333:user/*"
        },
        {
            "Sid": "KMSPermission",
            "Effect": "Allow",
            "Action": [
                "kms:TagResource",
                "kms:ListAliases",
                "kms:CreateAlias"
            ],
            "Resource": "*"
        },
        {
            "Sid": "KMSCreateKey",
            "Effect": "Allow",
            "Action": [
                "kms:CreateKey"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/SystemsManagerJustInTimeNodeAccessManaged": "true"
                },
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": [
                        "SystemsManagerJustInTimeNodeAccessManaged"
                    ]
                }
            }
        },
        {
            "Sid": "AllowIamRoleForChatbotAction",
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::111122223333:role/role name",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "chatbot.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "AllowIamServiceRoleForChat",
            "Effect": "Allow",
            "Action": [
                "iam:CreateServiceLinkedRole"
            ],
            "Resource": "arn:aws:iam::111122223333:role/aws-service-role/management.chatbot.amazonaws.com/AWSServiceRoleForAWSChatbot"
        },
        {
            "Sid": "CloudWatchLogs",
            "Effect": "Allow",
            "Action": [
                "logs:DescribeLogGroups"
            ],
            "Resource": "arn:aws:logs:*:111122223333:log-group::log-stream:"
        },
        {
            "Sid": "IdentityStorePermissions",
            "Effect": "Allow",
            "Action": [
                "sso:ListDirectoryAssociations",
                "identitystore:GetUserId",
                "sso-directory:SearchUsers",
                "sso-directory:SearchGroups",
                "identitystore:DescribeGroup",
                "identitystore:DescribeUser"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Kebijakan IAM untuk persetujuan permintaan akses
<a name="just-in-time-access-request-approver-policy"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAccessRequestDescriptions",
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeOpsItems",
                "ssm:GetOpsSummary",
                "ssm:ListOpsItemEvents"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowGetSpecificAccessRequest",
            "Effect": "Allow",
            "Action": [
                "ssm:GetOpsItem"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:opsitem/*"
        },
        {
            "Sid": "AllowApprovalRejectionSignal",
            "Effect": "Allow",
            "Action": [
                "ssm:SendAutomationSignal"
            ],
            "Resource": "arn:aws:ssm:*:*:automation-execution/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/SystemsManagerJustInTimeNodeAccessManaged": "true"
                }
            }
        },
        {
            "Sid": "QuickSetupConfigurationManagers",
            "Effect": "Allow",
            "Action": [
                "ssm-quicksetup:ListConfigurationManagers",
                "ssm-quicksetup:ListConfigurations",
                "ssm-quicksetup:GetConfigurationManager",
                "ssm-quicksetup:ListQuickSetupTypes",
                "ssm-quicksetup:GetConfiguration"
            ],
            "Resource": "*"
        },
        {
            "Sid": "QuickSetupDeployments",
            "Effect": "Allow",
            "Action": [
                "cloudformation:ListStacks",
                "cloudformation:DescribeStacks",
                "organizations:DescribeOrganization",
                "organizations:ListDelegatedAdministrators"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowSsmJitnaPoliciesCrudOperations",
            "Effect": "Allow",
            "Action": [
                "ssm:GetDocument",
                "ssm:DescribeDocument"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ssm:DocumentType": [
                        "ManualApprovalPolicy",
                        "AutoApprovalPolicy"
                    ]
                }
            }
        },
        {
            "Sid": "AllowSsmJitnaPoliciesListOperations",
            "Effect": "Allow",
            "Action": [
                "ssm:ListDocuments",
                "ssm:ListDocumentVersions"
            ],
            "Resource": "*"
        },
        {
            "Sid": "IDCPermissions",
            "Effect": "Allow",
            "Action": [
                "sso:DescribeRegisteredRegions",
                "sso:ListDirectoryAssociations",
                "identitystore:GetUserId",
                "identitystore:DescribeUser",
                "identitystore:DescribeGroup",
                "identitystore:ListGroupMembershipsForMember"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Kebijakan IAM untuk pengguna akses just-in-time node
<a name="just-in-time-access-requester-policy"></a>

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowJITNAOperations",
            "Effect": "Allow",
            "Action": [
                "ssm:StartAccessRequest",
                "ssm:GetAccessToken"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowOpsItemCreationAndRetrieval",
            "Effect": "Allow",
            "Action": [
                "ssm:CreateOpsItem",
                "ssm:GetOpsItem"
            ],
            "Resource": "arn:aws:ssm:*:*:opsitem/*"
        },
        {
            "Sid": "AllowListAccessRequests",
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeOpsItems",
                "ssm:GetOpsSummary",
                "ssm:ListOpsItemEvents",
                "ssm:DescribeSessions"
            ],
            "Resource": "*"
        },
        {
            "Sid": "RequestManualApprovals",
            "Action": "ssm:StartAutomationExecution",
            "Effect": "Allow",
            "Resource": "arn:aws:ssm:*:*:document/*",
            "Condition": {
                "StringEquals": {
                    "ssm:DocumentType": "ManualApprovalPolicy"
                }
            }
        },
        {
            "Sid": "StartManualApprovalsAutomationExecution",
            "Effect": "Allow",
            "Action": "ssm:StartAutomationExecution",
            "Resource": "arn:aws:ssm:*:*:automation-execution/*"
        },
        {
            "Sid": "CancelAccessRequestManualApproval",
            "Effect": "Allow",
            "Action": "ssm:StopAutomationExecution",
            "Resource": "arn:aws:ssm:*:*:automation-execution/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/SystemsManagerJustInTimeNodeAccessManaged": "true"
                }
            }
        },
        {
            "Sid": "DescribeEC2Instances",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeTags",
                "ec2:GetPasswordData"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowListSSMManagedNodesAndTags",
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeInstanceInformation",
                "ssm:ListTagsForResource"
            ],
            "Resource": "*"
        },
        {
            "Sid": "QuickSetupConfigurationManagers",
            "Effect": "Allow",
            "Action": [
                "ssm-quicksetup:ListConfigurationManagers",
                "ssm-quicksetup:GetConfigurationManager",
                "ssm-quicksetup:ListConfigurations",
                "ssm-quicksetup:ListQuickSetupTypes",
                "ssm-quicksetup:GetConfiguration"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowSessionManagerOperations",
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeSessions",
                "ssm:GetConnectionStatus"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowRDPOperations",
            "Effect": "Allow",
            "Action": [
                "ssm-guiconnect:ListConnections",
                "ssm:GetConnectionStatus"
            ],
            "Resource": "*"
        },
        {
            "Sid": "QuickSetupDeployments",
            "Effect": "Allow",
            "Action": [
                "cloudformation:ListStacks",
                "cloudformation:DescribeStacks",
                "organizations:DescribeOrganization",
                "organizations:ListDelegatedAdministrators"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowSsmJitnaPoliciesReadOnly",
            "Effect": "Allow",
            "Action": [
                "ssm:GetDocument",
                "ssm:DescribeDocument"
            ],
            "Resource": [
                "arn:aws:ssm:*:111122223333:document/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ssm:DocumentType": [
                        "ManualApprovalPolicy",
                        "AutoApprovalPolicy"
                    ]
                }
            }
        },
        {
            "Sid": "AllowSsmJitnaPoliciesListOperations",
            "Effect": "Allow",
            "Action": [
                "ssm:ListDocuments",
                "ssm:ListDocumentVersions"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ExploreNodes",
            "Effect": "Allow",
            "Action": [
                "ssm:ListNodesSummary",
                "ssm:ListNodes",
                "ssm:DescribeInstanceProperties"
            ],
            "Resource": "*"
        },
        {
            "Sid": "IdentityStorePermissions",
            "Effect": "Allow",
            "Action": [
                "sso:DescribeRegisteredRegions",
                "sso:ListDirectoryAssociations",
                "identitystore:GetUserId",
                "identitystore:DescribeUser",
                "identitystore:DescribeGroup"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**catatan**  
Untuk membatasi akses ke operasi API yang membuat, memperbarui, atau menghapus kebijakan persetujuan, gunakan kunci `ssm:DocumentType` kondisi untuk jenis `AutoApprovalPolicy` dan `ManualApprovalPolicy ` dokumen. Operasi `StartAccessRequest` dan `GetAccessToken` API tidak mendukung kunci konteks global berikut:  
`aws:SourceVpc`
`aws:SourceVpce`
`aws:VpcSourceIp`
`aws:UserAgent`
`aws:MultiFactorAuthPresent`

Untuk informasi selengkapnya tentang kunci konteks kondisi untuk Systems Manager, lihat [Kunci kondisi untuk AWS Systems Manager](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssystemsmanager.html#awssystemsmanager-policy-keys) *Referensi Otorisasi Layanan*.

Prosedur berikut menjelaskan cara menyelesaikan langkah pengaturan pertama untuk akses just-in-time node.

**Untuk mengatur akses just-in-time node**

1. Masuk ke akun administrator yang didelegasikan Systems Manager untuk organisasi Anda.

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Pilih **akses Just-in-time node** di panel navigasi.

1. Pilih **Aktifkan pengalaman baru**.

1. Pilih Wilayah tempat Anda ingin mengaktifkan akses just-in-time node. Secara default, Wilayah yang sama yang Anda pilih saat menyiapkan konsol Systems Manager terpadu dipilih untuk akses just-in-time node. Memilih Wilayah baru yang tidak dipilih saat Anda menyiapkan konsol Systems Manager terpadu tidak didukung.

1. Pilih **Aktifkan akses just-in-time node**.

Tidak ada biaya untuk menggunakan akses just-in-time node selama 30 hari setelah mengaktifkan fitur. Setelah masa percobaan 30 hari, ada biaya untuk menggunakan akses just-in-time node. Untuk informasi selengkapnya, lihat [ Harga AWS Systems Manager](https://aws.amazon.com/systems-manager/pricing/).

# Buat kebijakan persetujuan untuk node Anda
<a name="systems-manager-just-in-time-node-access-approval-policies"></a>

Kebijakan persetujuan menentukan persetujuan apa yang dibutuhkan pengguna untuk mengakses node. Karena akses just-in-time node menghilangkan kebutuhan akan izin jangka panjang ke node melalui kebijakan IAM, Anda harus membuat kebijakan persetujuan untuk mengizinkan akses ke node Anda. Jika tidak ada kebijakan persetujuan yang berlaku untuk node, pengguna tidak dapat meminta akses ke node.

Dalam akses just-in-time node, ada tiga jenis kebijakan. *Jenis kebijakan adalah *persetujuan otomatis*, *akses penolakan*, dan persetujuan manual.*

**Just-in-time tipe kebijakan akses node**
+ Kebijakan persetujuan otomatis menentukan node mana yang dapat dihubungkan pengguna secara otomatis.
+ Kebijakan persetujuan manual menentukan jumlah dan tingkat persetujuan manual yang harus disediakan untuk mengakses node yang Anda tentukan.
+ Kebijakan deny-access secara eksplisit mencegah persetujuan otomatis permintaan akses ke node yang Anda tentukan. 

Kebijakan akses penolakan berlaku untuk semua akun dalam suatu AWS Organizations organisasi. Misalnya, Anda dapat secara eksplisit menolak persetujuan otomatis untuk `Intern` grup ke node yang ditandai dengan kunci. `Production` Persetujuan otomatis dan kebijakan persetujuan manual hanya berlaku untuk Akun AWS dan Wilayah AWS tempat pembuatannya. Setiap akun anggota di organisasi Anda mengelola kebijakan persetujuan mereka sendiri. Kebijakan persetujuan dievaluasi dengan urutan sebagai berikut:

1. Akses tolak

1. Persetujuan otomatis

1. Manual

Meskipun Anda hanya dapat memiliki satu kebijakan akses penolakan per organisasi, dan satu kebijakan persetujuan otomatis per akun dan Wilayah, Anda mungkin akan memiliki beberapa kebijakan persetujuan manual di akun. Saat mengevaluasi kebijakan persetujuan manual, akses just-in-time node selalu mendukung kebijakan yang lebih spesifik untuk sebuah node. Kebijakan persetujuan manual dievaluasi dengan urutan sebagai berikut:

1. Tandai target spesifik

1. Semua node menargetkan

Misalnya, Anda memiliki node yang ditandai dengan `Demo` kunci. Di akun yang sama, Anda memiliki kebijakan persetujuan manual yang menargetkan semua node dan memerlukan satu persetujuan dari satu tingkat. Anda juga memiliki kebijakan persetujuan manual yang memerlukan dua persetujuan dari dua level untuk node yang ditandai dengan kunci. `Demo` Systems Manager menerapkan kebijakan yang menargetkan `Demo` tag ke node karena lebih spesifik daripada kebijakan yang menargetkan semua node. Ini memungkinkan Anda membuat kebijakan umum untuk semua node di akun Anda, memastikan pengguna dapat mengirimkan permintaan akses sambil memungkinkan Anda membuat kebijakan yang lebih terperinci sesuai kebutuhan.

Bergantung pada organisasi Anda, mungkin ada beberapa tag yang diterapkan ke node Anda. Dalam skenario ini, jika beberapa kebijakan persetujuan manual berlaku untuk node, permintaan akses gagal. Misalnya, sebuah node ditandai dengan `Database` kunci `Production` and. Di akun yang sama, Anda memiliki kebijakan persetujuan manual yang berlaku untuk node yang ditandai dengan `Production` kunci dan kebijakan persetujuan manual lainnya yang berlaku untuk node yang ditandai dengan kunci. `Database` Hal ini mengakibatkan konflik untuk node yang ditandai dengan kedua kunci dan permintaan akses gagal. Systems Manager mengarahkan pengguna ke permintaan yang gagal. Di sana, mereka dapat melihat detail tentang kebijakan dan tag yang bertentangan sehingga mereka dapat membuat penyesuaian yang diperlukan jika mereka memiliki izin yang diperlukan. Jika tidak, mereka dapat memberi tahu kolega di organisasi mereka dengan izin yang diperlukan untuk mengubah kebijakan. Konflik kebijakan yang mengakibatkan permintaan akses gagal memancarkan EventBridge peristiwa yang memungkinkan Anda fleksibilitas dalam membangun alur kerja respons Anda sendiri. Selain itu, Systems Manager mengirimkan pemberitahuan email untuk konflik kebijakan yang mengakibatkan permintaan akses gagal ke penerima yang Anda tentukan. Untuk informasi selengkapnya tentang mengonfigurasi notifikasi email untuk konflik kebijakan, lihat[Konfigurasikan notifikasi untuk permintaan just-in-time akses](systems-manager-just-in-time-node-access-notifications.md).

Dalam *kebijakan akses penolakan*, Anda menggunakan bahasa kebijakan Cedar untuk menentukan node mana yang secara eksplisit tidak dapat tersambung secara otomatis oleh pengguna di organisasi Anda. Kebijakan ini dibuat dan dibagikan dari akun administrator yang didelegasikan untuk organisasi Anda. Kebijakan deny-access menggantikan semua kebijakan persetujuan otomatis. Anda hanya dapat memiliki satu kebijakan akses penolakan per organisasi.

Dalam kebijakan *persetujuan otomatis*, Anda menggunakan bahasa kebijakan Cedar untuk menentukan pengguna mana yang dapat secara otomatis terhubung ke node yang ditentukan tanpa persetujuan manual. Durasi akses untuk permintaan akses yang disetujui secara otomatis adalah 1 jam. Nilai ini tidak dapat diubah. Anda hanya dapat memiliki satu kebijakan persetujuan otomatis per akun dan Wilayah.

Dalam kebijakan persetujuan *manual*, Anda menentukan durasi akses, berapa banyak tingkat persetujuan yang diperlukan, jumlah pemberi persetujuan yang diperlukan per level, dan node yang dapat mereka setujui untuk permintaan just-in-time akses. Durasi akses untuk kebijakan persetujuan manual harus antara 1 dan 336 jam. Jika Anda menentukan beberapa tingkat persetujuan, persetujuan untuk permintaan akses memproses satu tingkat pada satu waktu. Ini berarti semua persetujuan yang Anda perlukan untuk satu tingkat harus diberikan sebelum proses persetujuan pindah ke tingkat berikutnya. Jika Anda menentukan beberapa tag dalam kebijakan persetujuan manual, mereka dievaluasi sebagai `or` pernyataan bukan `and` pernyataan. Misalnya, jika Anda membuat kebijakan persetujuan manual yang menyertakan tag `Application` `Web``Test`, dan kebijakan tersebut berlaku untuk setiap node yang ditandai dengan salah satu kunci tersebut. Kebijakan ini tidak hanya berlaku untuk node yang ditandai dengan ketiga kunci.

Sebaiknya gunakan kombinasi kebijakan manual dengan kebijakan persetujuan otomatis untuk membantu Anda mengamankan node dengan data yang lebih penting sekaligus memungkinkan pengguna untuk terhubung ke node yang kurang kritis tanpa intervensi. Misalnya, Anda dapat meminta persetujuan manual untuk permintaan akses ke node database, dan sesi persetujuan otomatis ke node tingkat presentasi non-persisten.

Prosedur berikut menjelaskan cara membuat kebijakan persetujuan untuk akses just-in-time node.

**Topics**
+ [

# Membuat kebijakan persetujuan manual untuk akses just-in-time node
](systems-manager-just-in-time-node-access-create-manual-policies.md)
+ [

# Struktur pernyataan dan operator bawaan untuk kebijakan persetujuan otomatis dan akses penolakan
](auto-approval-deny-access-policy-statement-structure.md)
+ [

# Membuat kebijakan persetujuan otomatis untuk akses just-in-time node
](systems-manager-just-in-time-node-access-create-auto-approval-policies.md)
+ [

# Membuat kebijakan deny-access untuk just-in-time akses node
](systems-manager-just-in-time-node-access-create-deny-access-policies.md)
+ [

# Membuat kebijakan persetujuan untuk akses just-in-time node dengan Amazon Q
](systems-manager-just-in-time-node-access-create-approval-policies-q-ide-cli.md)

# Membuat kebijakan persetujuan manual untuk akses just-in-time node
<a name="systems-manager-just-in-time-node-access-create-manual-policies"></a>

Prosedur berikut menjelaskan cara membuat kebijakan persetujuan manual. Systems Manager memungkinkan Anda membuat hingga 50 kebijakan persetujuan manual per Akun AWS dan Wilayah AWS.

**Untuk membuat kebijakan persetujuan manual**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Pilih **Kelola akses node** di panel navigasi.

1. Di bagian **Rincian kebijakan** langkah **Membuat kebijakan persetujuan manual**, masukkan nama dan deskripsi untuk kebijakan persetujuan.

1. Masukkan nilai untuk **durasi Akses**. Ini adalah jumlah maksimum waktu pengguna dapat memulai sesi ke node setelah permintaan akses disetujui. Nilainya harus antara 1 dan 336 jam. 

1. Di bagian **Target Node**, masukkan pasangan nilai kunci tag yang terkait dengan node yang ingin diterapkan kebijakan tersebut. Jika tidak ada tag yang ditentukan dalam kebijakan yang terkait dengan node, kebijakan tidak akan diterapkan ke node.

1. Di bagian **Access request approvers**, masukkan pengguna atau grup yang Anda inginkan untuk dapat menyetujui permintaan akses ke target node dalam kebijakan. Persetujuan permintaan akses dapat berupa pengguna dan grup Pusat Identitas IAM atau peran IAM. Anda dapat menentukan hingga 5 pemberi persetujuan per level, dan hingga 5 level pemberi persetujuan.

1. Pilih **Buat kebijakan persetujuan manual**.

# Struktur pernyataan dan operator bawaan untuk kebijakan persetujuan otomatis dan akses penolakan
<a name="auto-approval-deny-access-policy-statement-structure"></a>

Tabel berikut menunjukkan struktur kebijakan persetujuan otomatis dan penolakan akses.


| Komponen | Sintaksis | 
| --- | --- | 
| efek |  `permit \| forbid`  | 
| cakupan |  `(principal, action, resource)`  | 
| klausa kondisi |  <pre>when {<br />    principal or resource has attribute name             <br />};</pre>  | 

## Komponen kebijakan
<a name="policy-components"></a>

Kebijakan persetujuan otomatis atau penolakan akses berisi komponen-komponen berikut:
+ **Efek** - Baik `permit` (izinkan) atau `forbid` (tolak) akses.
+ **Lingkup** — Prinsip, tindakan, dan sumber daya yang efeknya berlaku. Anda dapat membiarkan ruang lingkup di Cedar tidak terdefinisi dengan tidak mengidentifikasi prinsip, tindakan, atau sumber daya tertentu. Dalam hal ini, kebijakan berlaku untuk semua prinsip, tindakan, dan sumber daya yang mungkin. Untuk akses just-in-time node, `action` selalu`AWS::SSM::Action::"getTokenForInstanceAccess"`.
+ **Klausul kondisi** — Konteks di mana efek berlaku.

## Komentar
<a name="auth-policies-policy-comments"></a>

Anda dapat memasukkan komentar dalam kebijakan Anda. Komentar didefinisikan sebagai baris yang dimulai dengan `//` dan diakhiri dengan karakter baris baru.

Contoh berikut menunjukkan komentar dalam kebijakan.

```
// Allows users in the Engineering group from the Platform org to automatically connect to nodes tagged with Engineering and Production keys. 
permit (
    principal in AWS::IdentityStore::Group::"d4q81745-r081-7079-d789-14da1EXAMPLE",
    action == AWS::SSM::Action::"getTokenForInstanceAccess",
    resource
)
when {
    principal has organization && resource.hasTag("Engineering") && resource.hasTag("Production") && principal.organization == "Platform"
};
```

## Beberapa klausa
<a name="multiple-clauses"></a>

Anda dapat menggunakan lebih dari satu klausa kondisi dalam pernyataan kebijakan menggunakan `&&` operator.

```
// Allow access if node has tag where the tag key is Environment 
// & tag value is Development 

permit(principal, action == AWS::SSM::getTokenForInstanceAccess, resource)
when {
    resource.hasTag("Environment") &&
    resource.getTag("Environment") == "Development"
};
```

## Karakter yang dipesan
<a name="reserved-characters"></a>

Contoh berikut menunjukkan cara menulis kebijakan jika properti context menggunakan `:` (titik koma), yang merupakan karakter cadangan dalam bahasa kebijakan.

```
permit (
    principal,
    action == AWS::SSM::Action::"getTokenForInstanceAccess",
    resource
)
when {
    principal has employeeNumber && principal.employeeNumber like "E-1*" && resource.hasTag("Purpose") && resource.getTag("Purpose") == "Testing"
}
```

Untuk contoh tambahan, lihat [Contoh pernyataan kebijakan](#policy-statement-examples).

## Just-in-time skema akses simpul
<a name="auto-approval-deny-access-policy-statement-schema"></a>

Berikut ini adalah skema Cedar untuk akses just-in-time node.

```
namespace AWS::EC2 {
    entity Instance tags String;
}


namespace AWS::IdentityStore {
    entity Group;
    
    entity User in [Group] {
    employeeNumber?: String,
    costCenter?: String,
    organization?: String,
    division?: String,
    };

}


namespace AWS::IAM {

    entity Role;
    
    type AuthorizationContext = {
        principalTags: PrincipalTags,
    };
    
    entity PrincipalTags tags String;
}

namespace AWS::SSM {

    entity ManagedInstance tags String;

    action "getTokenForInstanceAccess" appliesTo {
    principal: [AWS::IdentityStore::User],
    resource: [AWS::EC2::Instance, AWS::SSM::ManagedInstance],
    context: {
        "iam": AWS::IAM::AuthorizationContext
        }
    };
}
```

## Operator bawaan
<a name="built-in-policy-operators"></a>

Saat membuat konteks kebijakan persetujuan otomatis atau penolakan akses menggunakan berbagai kondisi, Anda dapat menggunakan `&&` operator untuk menambahkan kondisi tambahan. Ada juga banyak operator bawaan lainnya yang dapat Anda gunakan untuk menambahkan kekuatan ekspresif tambahan pada kondisi kebijakan Anda. Tabel berikut berisi semua operator bawaan untuk referensi.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/auto-approval-deny-access-policy-statement-structure.html)

## Contoh pernyataan kebijakan
<a name="policy-statement-examples"></a>

Berikut ini adalah contoh pernyataan kebijakan.

```
// Users assuming IAM roles with a principal tag of "Elevated" can automatically access nodes tagged with the "Environment" key when the value equals "prod"
permit(principal, action == AWS::SSM::getTokenForInstanceAccess, resource)
when {
    // Verify IAM role principal tag
    context.iam.principalTags.getTag("AccessLevel") == "Elevated" &&
    
    // Verify the node has a tag with "Environment" tag key and a tag value of "prod"
    resource.hasTag("Environment") &&
    resource.getTag("Environment") == "prod"
};
```

```
// Identity Center users in the "Contractor" division can automatically access nodes tagged with the "Environment" key when the value equals "dev"
permit(principal, action == AWS::SSM::getTokenForInstanceAccess, resource)
when {
    // Verify that the user is part of the "Contractor" division
    principal.division == "Contractor" &&
    
    // Verify the node has a tag with "Environment" tag key and a tag value of "dev"
    resource.hasTag("Environment") &&
    resource.getTag("Environment") == "dev"
};
```

```
// Identity Center users in a specified group can automatically access nodes tagged with the "Environment" key when the value equals "Production"
permit(principal in AWS::IdentityStore::Group::"d4q81745-r081-7079-d789-14da1EXAMPLE",
    action == AWS::SSM::getTokenForInstanceAccess,
    resource)
when {
    resource.hasTag("Environment") &&
    resource.getTag("Environment") == "Production"
};
```

# Membuat kebijakan persetujuan otomatis untuk akses just-in-time node
<a name="systems-manager-just-in-time-node-access-create-auto-approval-policies"></a>

Kebijakan persetujuan otomatis menggunakan bahasa kebijakan Cedar untuk menentukan pengguna mana yang dapat secara otomatis terhubung ke node yang ditentukan tanpa persetujuan manual. Kebijakan persetujuan otomatis berisi beberapa `permit` pernyataan yang menentukan dan. `principal` `resource` Setiap pernyataan menyertakan `when` klausa yang mendefinisikan kondisi untuk persetujuan otomatis.

Berikut ini adalah contoh kebijakan persetujuan otomatis.

```
permit (
    principal in AWS::IdentityStore::Group::"e8c17310-e011-7089-d989-10da1EXAMPLE",
    action == AWS::SSM::Action::"getTokenForInstanceAccess",
    resource
)
when {
    principal has costCenter && resource.hasTag("CostCenter") && principal.costCenter == resource.getTag("CostCenter")
};

permit (
    principal in AWS::IdentityStore::Group::"d4q81745-r081-7079-d789-14da1EXAMPLE",
    action == AWS::SSM::Action::"getTokenForInstanceAccess",
    resource
)
when {
    principal has organization && resource.hasTag("Engineering") && resource.hasTag("Production") && principal.organization == "Platform"
};

permit (
    principal,
    action == AWS::SSM::Action::"getTokenForInstanceAccess",
    resource
)
when {
    principal has employeeNumber && principal.employeeNumber like "E-1*" && resource.hasTag("Purpose") && resource.getTag("Purpose") == "Testing"
};
```

Prosedur berikut menjelaskan cara membuat kebijakan persetujuan otomatis untuk akses just-in-time node. Durasi akses untuk permintaan akses yang disetujui secara otomatis adalah 1 jam. Nilai ini tidak dapat diubah. Anda hanya dapat memiliki satu kebijakan persetujuan otomatis per Akun AWS dan Wilayah AWS. Untuk informasi selengkapnya tentang cara membuat pernyataan kebijakan, lihat[Struktur pernyataan dan operator bawaan untuk kebijakan persetujuan otomatis dan akses penolakan](auto-approval-deny-access-policy-statement-structure.md).

**Untuk membuat kebijakan persetujuan otomatis**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Pilih **Kelola akses node** di panel navigasi.

1. Di tab **Kebijakan persetujuan**, pilih **Buat kebijakan persetujuan otomatis**.

1. Masukkan pernyataan kebijakan Anda untuk kebijakan persetujuan otomatis di bagian **Pernyataan kebijakan**. Anda dapat menggunakan **pernyataan Sampel** yang disediakan untuk membantu Anda membuat kebijakan.

1. Pilih **Buat kebijakan persetujuan otomatis**.

# Membuat kebijakan deny-access untuk just-in-time akses node
<a name="systems-manager-just-in-time-node-access-create-deny-access-policies"></a>

Kebijakan akses penolakan menggunakan bahasa kebijakan Cedar untuk menentukan node mana yang tidak dapat terhubung secara otomatis tanpa persetujuan manual. Kebijakan deny-access berisi beberapa `forbid` pernyataan yang menentukan dan. `principal` `resource` Setiap pernyataan menyertakan `when` klausa yang mendefinisikan kondisi untuk secara eksplisit menolak persetujuan otomatis.

Berikut ini adalah contoh kebijakan deny-access.

```
forbid (
    principal in AWS::IdentityStore::Group::"e8c17310-e011-7089-d989-10da1EXAMPLE",
    action == AWS::SSM::Action::"getTokenForInstanceAccess",
    resource
)
when {
    resource.hasTag("Environment") && resource.getTag("Environment") == "Production"
};

forbid (
    principal,
    action == AWS::SSM::Action::"getTokenForInstanceAccess",
    resource
)
when {
    principal has division && principal.division != "Finance" && resource.hasTag("DataClassification") && resource.getTag("DataClassification") == "Financial"
};


forbid (
    principal,
    action == AWS::SSM::Action::"getTokenForInstanceAccess",
    resource
)
when {
    
    principal has employeeNumber && principal.employeeNumber like "TEMP-*" && resource.hasTag("Criticality") && resource.getTag("Criticality") == "High"
};
```

Prosedur berikut menjelaskan cara membuat kebijakan deny-access untuk akses just-in-time node. Untuk informasi selengkapnya tentang cara membuat pernyataan kebijakan, lihat[Struktur pernyataan dan operator bawaan untuk kebijakan persetujuan otomatis dan akses penolakan](auto-approval-deny-access-policy-statement-structure.md).

**catatan**  
Perhatikan informasi berikut.  
Anda dapat membuat kebijakan akses penolakan saat masuk ke akun AWS Manajemen atau akun administrator yang didelegasikan. AWS Organizations Organisasi Anda hanya dapat memiliki satu kebijakan akses penolakan.
Just-in-time akses node menggunakan AWS Resource Access Manager (AWS RAM) untuk membagikan kebijakan akses penolakan Anda dengan akun anggota di organisasi Anda. Jika Anda ingin membagikan kebijakan akses penolakan Anda dengan akun anggota di organisasi Anda, pembagian sumber daya harus diaktifkan dari akun manajemen organisasi Anda. Untuk informasi selengkapnya, lihat [Mengaktifkan berbagi sumber daya AWS Organizations di dalam](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs) *Panduan AWS RAM Pengguna*.

**Untuk membuat kebijakan akses penolakan**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Pilih **Kelola akses node** di panel navigasi.

1. Di tab **Kebijakan persetujuan**, pilih **Buat kebijakan akses penolakan**.

1. Masukkan pernyataan kebijakan Anda untuk kebijakan akses penolakan di bagian **Pernyataan kebijakan**. Anda dapat menggunakan **pernyataan Sampel** yang disediakan untuk membantu Anda membuat kebijakan.

1. Pilih **Buat kebijakan akses penolakan**.

# Membuat kebijakan persetujuan untuk akses just-in-time node dengan Amazon Q
<a name="systems-manager-just-in-time-node-access-create-approval-policies-q-ide-cli"></a>

Menggunakan Amazon Q Developer untuk baris perintah memberikan panduan dan dukungan di berbagai aspek pengembangan perangkat lunak. Untuk akses just-in-time node, Amazon Q membantu Anda membuat kebijakan persetujuan dengan membuat dan memperbarui kode untuk kebijakan, menganalisis pernyataan kebijakan, dan banyak lagi. Informasi berikut menjelaskan cara membuat kebijakan persetujuan menggunakan Amazon Q untuk baris perintah.

## Identifikasi kasus penggunaan Anda
<a name="identify-use-case"></a>

Langkah pertama dalam membuat kebijakan persetujuan adalah dengan jelas mendefinisikan kasus penggunaan Anda. Misalnya, di organisasi Anda, Anda mungkin ingin secara otomatis menyetujui permintaan akses ke node dengan `Environment:Testing` tag. Anda mungkin juga ingin secara eksplisit menolak persetujuan otomatis ke node dengan `Environment:Production` tag jika ID karyawan dimulai dengan. `TEMP` Untuk node dengan `Tier:Database` tag, Anda mungkin ingin meminta dua tingkat persetujuan manual.

Dalam skenario apa pun, Anda mungkin lebih memilih satu kebijakan atau kondisi, daripada yang lain. Oleh karena itu, kami menyarankan Anda untuk mendefinisikan dengan jelas perilaku kebijakan yang ingin Anda tentukan pernyataan mana yang paling sesuai dengan kasus penggunaan dan preferensi Anda.

## Siapkan lingkungan pengembangan Anda
<a name="set-up-environment"></a>

Instal Amazon Q untuk baris perintah di mana Anda ingin mengembangkan kebijakan persetujuan Anda. Untuk informasi tentang menginstal Amazon Q untuk baris perintah, lihat [Menginstal Amazon Q untuk baris perintah](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-installing.html) di *Panduan Pengguna Pengembang Amazon Q*.

Kami juga merekomendasikan menginstal server MCP untuk AWS dokumentasi. Server MCP ini menghubungkan Amazon Q untuk baris perintah ke sumber daya dokumentasi terkini. Untuk informasi tentang menggunakan MCP dengan Amazon Q untuk baris perintah, lihat [Menggunakan MCP dengan Pengembang Amazon Q di Panduan Pengguna Pengembang](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-mcp.html) *Amazon Q*. 

Untuk informasi selengkapnya tentang server MCP AWS Dokumentasi, lihat [AWS Dokumentasi MCP](https://awslabs.github.io/mcp/servers/aws-documentation-mcp-server/) Server. 

Instal dan konfigurasikan AWS CLI, jika Anda belum melakukannya. Untuk selengkapnya, lihat [Menginstal atau memperbarui versi terbaru AWS CLI.](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)

## Mengembangkan konten kebijakan persetujuan
<a name="develop-content"></a>

Dengan kasus penggunaan yang teridentifikasi dan pengaturan lingkungan, Anda siap mengembangkan konten untuk kebijakan Anda. Kasus penggunaan dan preferensi Anda sebagian besar akan menentukan jenis kebijakan persetujuan dan pernyataan yang Anda gunakan.

Jika Anda tidak yakin cara menggunakan kebijakan tertentu atau memerlukan informasi lebih lanjut tentang skema untuk kebijakan, lihat [Buat kebijakan persetujuan untuk node Anda](systems-manager-just-in-time-node-access-approval-policies.md) dan topik berikutnya. Topik-topik ini menjelaskan secara rinci bagaimana kebijakan dievaluasi dan memberikan pernyataan contoh kerja.

Prosedur berikut menjelaskan cara membuat kebijakan persetujuan dengan Amazon Q untuk baris perintah.

**catatan**  
Pengembang Amazon Q menggunakan AI generatif. Anda mungkin perlu memverifikasi tanggapan. Lihat [Kebijakan AI yang AWS Bertanggung](https://aws.amazon.com/ai/responsible-ai/policy/) Jawab.

**Untuk membuat kebijakan persetujuan menggunakan Amazon Q untuk baris perintah**

1. Buka terminal Anda dan mulai sesi dengan Amazon Q.

   ```
   $ q chat
   ```

1. Masukkan prompt dan jelaskan jenis pernyataan kebijakan yang ingin Anda buat. Misalnya, menggunakan skenario sebelumnya untuk kebijakan persetujuan, Anda dapat memasukkan prompt berikut:

   ```
   Create a Cedar policy statement that allows a principal to use the “getTokenForInstanceAccess" action for a resource 
   that has a tag key “Environment” and tag value of “Testing”. Use the following example statement for reference to verify the syntax.
   
   permit (
       principal in AWS::IdentityStore::Group::"e8c17310-e011-7089-d989-10da1EXAMPLE",
       action == AWS::SSM::Action::"getTokenForInstanceAccess",
       resource
   )
   when {
       principal has organization && resource.hasTag("Engineering") && resource.hasTag("Production") && principal.organization == "Platform"
   };
   
   The Cedar policy statement you create must be valid. Validate the Cedar statement using the AWS documentation provided for just-in-time node access policy statement structure and make sure you abide by the schema.
   ```

1. Memasukkan prompt contoh ini menghasilkan output berikut:

   ```
   Based on the AWS documentation for Cedar policy statements and the examples provided, I'll create a valid Cedar policy 
   statement that allows a principal to use the "getTokenForInstanceAccess" action for resources with the tag key "Environment" and tag value "Testing".
                               
   Here's the Cedar policy statement:
   
   permit (
       principal,
       action == AWS::SSM::Action::"getTokenForInstanceAccess",
       resource
   )
   when {
       resource.hasTag("Environment") &&
       resource.getTag("Environment") == "Testing"
   };
   
   
   This policy statement:
   1. Uses the permit effect to allow access
   2. Applies to any principal (since no specific principal is defined)
   3. Specifically targets the "getTokenForInstanceAccess" action
   4. Applies to resources that have a tag with key "Environment" and value "Testing"
   5. Uses the proper syntax for the condition clause with the hasTag() and getTag() operators
   
   The statement follows the Cedar policy language structure as documented in the AWS Systems Manager documentation for just-in-time node access policies.
   ```

1. Rekatkan pernyataan kebijakan ke file Cedar baru untuk memvalidasi sintaks. Anda juga dapat memvalidasi pernyataan menggunakan taman bermain [Cedar](https://www.cedarpolicy.com/en/playground).

1. Setelah memvalidasi pernyataan, simpan file Cedar.

1. Dari terminal Anda, jalankan AWS CLI perintah berikut untuk membuat dokumen SSM menggunakan konten kebijakan Anda. Sebelum menggunakan kebijakan persetujuan di lingkungan produksi, uji kebijakan persetujuan Anda dengan subset identitas dan node di dan. Akun AWS Wilayah AWS
**catatan**  
Untuk kebijakan persetujuan otomatis, nama dokumen harus`SSM-JustInTimeAccessAutoApprovalPolicy`. Hanya ada satu kebijakan persetujuan otomatis per Akun AWS dan Wilayah AWS. Untuk kebijakan akses penolakan, nama dokumen harus. `SSM-JustInTimeAccessDenyAccessOrgPolicy` Hanya ada satu kebijakan akses penolakan per AWS Organizations organisasi, dan kebijakan tersebut harus dibuat di akun administrator yang didelegasikan untuk Systems Manager. Kendala penamaan untuk kebijakan persetujuan manual sama dengan dokumen SSM lainnya. Untuk informasi selengkapnya, lihat [CreateDocument](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_CreateDocument.html#systemsmanager-CreateDocument-request-Name).

------
#### [ Linux & macOS ]

   ```
   aws ssm create-document \
       --content file://path/to/file/policyContent.cedar \
       --name "SSM-JustInTimeAccessAutoApprovalPolicy" \
       --document-type "AutoApproval"
   ```

------
#### [  Windows  ]

   ```
   aws ssm create-document ^
       --content file://C:\path\to\file\policyContent.cedar ^
       --name "SSM-JustInTimeAccessAutoApprovalPolicy" ^
       --document-type "AutoApproval"
   ```

------
#### [   PowerShell   ]

   ```
   $cedar = Get-Content -Path "C:\path\to\file\policyContent.cedar" | Out-String
   New-SSMDocument `
       -Content $cedar `
       -Name "SSM-JustInTimeAccessAutoApprovalPolicy" `
       -DocumentType "AutoApproval"
   ```

------

# Perbarui preferensi sesi akses just-in-time node
<a name="systems-manager-just-in-time-node-access-session-preferences"></a>

Dengan akses just-in-time node, Anda dapat menentukan sesi umum dan preferensi logging di masing-masing Akun AWS dan Wilayah AWS di organisasi Anda. Atau, Anda dapat menggunakan CloudFormation StackSets untuk membuat dokumen preferensi sesi di beberapa akun dan Wilayah untuk membantu Anda memiliki preferensi sesi yang konsisten. Untuk informasi tentang skema untuk dokumen preferensi sesi, lihat[Skema dokumen sesi](session-manager-schema.md).

Untuk tujuan pencatatan, sebaiknya gunakan opsi streaming dengan Amazon CloudWatch Logs. Fitur ini memungkinkan Anda untuk mengirim aliran terus menerus log data sesi ke CloudWatch Log. Detail penting, seperti perintah yang dijalankan pengguna dalam sesi, ID pengguna yang menjalankan perintah, dan stempel waktu saat data sesi dialirkan ke CloudWatch Log, disertakan saat streaming data sesi. Saat streaming data sesi, log diformat JSON untuk membantu Anda berintegrasi dengan solusi log Anda yang ada.

Systems Manager tidak secara otomatis menghentikan sesi akses just-in-time node. Sebagai praktik terbaik, tentukan nilai untuk *durasi sesi maksimum dan pengaturan* *batas waktu sesi idle*. Menggunakan pengaturan ini membantu Anda mencegah pengguna tetap terhubung ke node lebih lama dari jendela waktu yang disetujui dalam permintaan akses. Prosedur berikut menjelaskan cara memperbarui preferensi sesi untuk akses just-in-time node.

**penting**  
Anda harus menandai AWS KMS kunci yang digunakan untuk Session Manager enkripsi dan perekaman RDP dalam akses just-in-time node dengan kunci tag `SystemsManagerJustInTimeNodeAccessManaged` dan nilai tag. `true`  
Untuk informasi tentang menandai kunci KMS, lihat [Tag AWS KMS di Panduan AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html) *Pengembang*.

**Untuk memperbarui preferensi sesi**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Pilih **Pengaturan** di panel navigasi.

1. Pilih tab **akses Just-in-time node**.

1. Di bagian **Preferensi sesi**, pilih **Edit**.

1. Perbarui preferensi umum dan pencatatan sesuai kebutuhan dan pilih **Simpan**.

# Konfigurasikan notifikasi untuk permintaan just-in-time akses
<a name="systems-manager-just-in-time-node-access-notifications"></a>

Anda dapat mengonfigurasi Systems Manager untuk mengirim notifikasi saat pengguna membuat permintaan akses just-in-time node ke alamat email, atau klien obrolan, untuk pemberi persetujuan dan pemohon. Notifikasi berisi alasan permintaan akses yang disediakan oleh pemohon, Akun AWS, Wilayah AWS, status permintaan, dan ID dari node target. Saat ini, Systems Manager mendukung klien Slack dan Microsoft Teams melalui integrasi dengan Amazon Q Developer dalam aplikasi obrolan. Saat menggunakan notifikasi melalui klien obrolan, pemberi persetujuan permintaan akses dapat berinteraksi langsung dengan permintaan akses. Ini menghilangkan kebutuhan untuk masuk ke konsol untuk mengambil tindakan atas permintaan akses.

**Sebelum Anda mulai**  
Sebelum Anda mengonfigurasi klien obrolan untuk pemberitahuan akses just-in-time node, perhatikan persyaratan berikut:
+ Jika Anda menggunakan peran IAM untuk mengelola identitas pengguna di akun Anda, Anda harus secara manual mengaitkan alamat email pemberi persetujuan atau pemohon yang ingin Anda kirimi notifikasi dengan peran terkait. Jika tidak, penerima yang dituju tidak dapat diberi tahu melalui email.

Prosedur berikut menjelaskan cara mengkonfigurasi notifikasi untuk permintaan akses just-in-time node.

**Untuk mengkonfigurasi klien obrolan untuk notifikasi akses just-in-time node**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Pilih **Pengaturan** di panel navigasi.

1. Pilih tab **akses Just-in-time node**.

1. Di bagian **Obrolan**, pilih **Konfigurasi klien baru**.

1. **Di menu tarik-turun **Pilih jenis klien**, pilih jenis klien obrolan yang ingin Anda konfigurasikan dan pilih Berikutnya.**

1. Anda diminta untuk mengizinkan Pengembang Amazon Q dalam aplikasi obrolan untuk mengakses klien obrolan Anda. Pilih **Izinkan**.

1. Di bagian **Konfigurasi saluran**, masukkan informasi untuk saluran klien obrolan Anda dan pilih jenis notifikasi yang ingin Anda terima.

1. Jika Anda mengonfigurasi notifikasi Slack, undang "@Amazon Q” ke setiap saluran Slack tempat notifikasi sedang dikonfigurasi.

1. Pilih **Konfigurasi saluran**.

**catatan**  
Untuk mengizinkan permintaan approving/rejecting akses langsung dari saluran Slack, pastikan peran IAM yang dikonfigurasi dengan saluran Slack memiliki `ssm:SendAutomationSignal` izin dan memiliki kebijakan kepercayaan yang mencakup chatbot:  

```
{
            "Effect": "Allow",
            "Principal": {
                "Service": "chatbot.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
}
```

**Untuk mengonfigurasi notifikasi email untuk notifikasi akses just-in-time node**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Pilih **Pengaturan** di panel navigasi.

1. Pilih tab **akses Just-in-time node**.

1. Di bagian **Email**, pilih **Edit**.

1. Pilih **Tambahkan email**, pilih **peran IAM** yang ingin Anda kaitkan alamat email secara manual.

1. Masukkan alamat email di bidang **Alamat email**. Setiap kali permintaan akses dibuat yang memerlukan persetujuan dari peran IAM yang Anda tentukan, alamat email yang Anda kaitkan dengan peran tersebut akan diberi tahu.

1. Pilih **Tambahkan alamat email**.

# Merekam koneksi RDP
<a name="systems-manager-just-in-time-node-access-rdp-recording"></a>

Just-in-time akses node mencakup kemampuan untuk merekam koneksi RDP yang dibuat ke node AndaWindows Server. Merekam koneksi RDP memerlukan bucket S3 dan AWS Key Management Service (AWS KMS) kunci yang dikelola pelanggan. AWS KMS key Ini digunakan untuk mengenkripsi sementara data rekaman saat itu dihasilkan dan disimpan pada sumber daya Systems Manager. Kunci yang dikelola pelanggan harus berupa kunci simetris dengan penggunaan kunci enkripsi dan dekripsi. Anda dapat menggunakan kunci Multi-wilayah untuk organisasi Anda, atau Anda harus membuat kunci terkelola pelanggan di setiap Wilayah tempat Anda mengaktifkan akses just-in-time node.

Jika Anda telah mengaktifkan enkripsi KMS pada bucket S3 tempat Anda menyimpan rekaman, Anda harus menyediakan akses ke kunci terkelola pelanggan yang digunakan untuk enkripsi bucket ke prinsipal `ssm-guiconnect` layanan. Kunci yang dikelola pelanggan ini bisa berbeda dari yang Anda tentukan dalam pengaturan perekaman, yang harus menyertakan `kms:CreateGrant` izin yang diperlukan untuk membuat koneksi. 

## Mengkonfigurasi enkripsi bucket S3 untuk rekaman RDP
<a name="rdp-recording-bucket-encryption"></a>

Rekaman koneksi Anda disimpan di bucket S3 yang Anda tentukan saat Anda mengaktifkan perekaman RDP.

Jika Anda menggunakan kunci KMS sebagai mekanisme enkripsi default untuk bucket S3 (SSE-KMS), Anda harus mengizinkan akses prinsipal `ssm-guiconnect` layanan untuk `kms:GenerateDataKey` bertindak pada kunci tersebut. Sebaiknya gunakan kunci yang dikelola pelanggan saat menggunakan enkripsi SSE-KMS dengan bucket S3. Ini karena Anda dapat memperbarui kebijakan kunci terkait untuk kunci yang dikelola pelanggan. Anda tidak dapat memperbarui kebijakan utama untuk Kunci yang dikelola AWS.

**penting**  
Anda harus menandai AWS KMS kunci yang digunakan untuk Session Manager enkripsi dan perekaman RDP dalam akses just-in-time node dengan kunci tag `SystemsManagerJustInTimeNodeAccessManaged` dan nilai tag. `true`  
Untuk informasi tentang menandai kunci KMS, lihat [Tag AWS KMS di Panduan AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html) *Pengembang*.

Gunakan kebijakan kunci terkelola pelanggan berikut untuk mengizinkan akses `ssm-guiconnect` layanan ke kunci KMS untuk penyimpanan S3. Untuk informasi tentang memperbarui kunci terkelola pelanggan, lihat [Mengubah kebijakan kunci](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html) di *Panduan AWS Key Management Service Pengembang*.

Ganti masing-masing *example resource placeholder* dengan informasi Anda sendiri:
+ *account-id*mewakili ID dari Akun AWS yang memulai koneksi.
+ *region*mewakili Wilayah AWS tempat bucket S3 berada. (Anda dapat menggunakan `*` jika bucket akan menerima rekaman dari beberapa Wilayah. Contoh:`s3.*.amazonaws.com`.)

**catatan**  
Anda dapat menggunakan `aws:SourceOrgID` dalam kebijakan alih-alih `aws:SourceAccount` jika akun tersebut milik organisasi di AWS Organizations.

```
{
    "Sid": "Allow the GUI Connect service principal to access S3",
    "Effect": "Allow",
    "Principal": {
        "Service": "ssm-guiconnect.amazonaws.com"
    },
    "Action": [
        "kms:GenerateDataKey*"
    ],
    "Resource": "*",
    "Condition": {
        "StringEquals": {
            "aws:SourceAccount": "account-id"
        },
        "StringLike": {
            "kms:ViaService": "s3.region.amazonaws.com"
        }
    }
}
```

## Mengkonfigurasi izin IAM untuk merekam koneksi RDP
<a name="rdp-recording-iam-policy-examples"></a>

Selain izin IAM yang diperlukan untuk akses just-in-time node, pengguna atau peran yang Anda gunakan harus diizinkan izin berikut berdasarkan tugas yang perlu Anda lakukan.

**Izin untuk mengonfigurasi rekaman koneksi**  
Untuk mengkonfigurasi rekaman koneksi RDP, izin berikut diperlukan:
+ `ssm-guiconnect:UpdateConnectionRecordingPreferences`
+ `ssm-guiconnect:GetConnectionRecordingPreferences`
+ `ssm-guiconnect:DeleteConnectionRecordingPreferences`
+ `kms:CreateGrant`

**Izin untuk memulai koneksi**  
Untuk membuat koneksi RDP dengan akses just-in-time node, izin berikut diperlukan:
+ `ssm-guiconnect:CancelConnection`
+ `ssm-guiconnect:GetConnection`
+ `ssm-guiconnect:StartConnection`
+ `kms:CreateGrant`

**Sebelum Anda mulai**  
Untuk menyimpan rekaman koneksi, Anda harus terlebih dahulu membuat bucket S3 dan menambahkan kebijakan bucket berikut. Ganti masing-masing *example resource placeholder* dengan informasi Anda sendiri.

(Untuk informasi tentang menambahkan kebijakan bucket, lihat [Menambahkan kebijakan bucket menggunakan konsol Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*.)

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ConnectionRecording",
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "ssm-guiconnect.amazonaws.com"
                ]
            },
            "Action": "s3:PutObject",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket", 
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ],
            "Condition":{
            "StringEquals":{
                "aws:SourceAccount":"111122223333"
                }
            }            
        }
    ]
}
```

------

## Mengaktifkan dan mengonfigurasi rekaman koneksi RDP
<a name="enable-rdp-connection-recording"></a>

Prosedur berikut menjelaskan cara mengaktifkan dan mengkonfigurasi rekaman koneksi RDP.

**Untuk mengaktifkan dan mengkonfigurasi rekaman koneksi RDP**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Pilih **Pengaturan** di panel navigasi.

1. Pilih tab **akses Just-in-time node**.

1. Di bagian **perekaman RDP, pilih Aktifkan perekaman** **RDP**.

1. Pilih bucket S3 yang ingin Anda unggah rekaman sesi.

1. Pilih kunci terkelola pelanggan yang ingin Anda gunakan untuk mengenkripsi sementara data rekaman saat dibuat dan disimpan di sumber daya Systems Manager. (Ini bisa menjadi kunci yang dikelola pelanggan yang berbeda dari yang Anda gunakan untuk mengenkripsi bucket.)

1. Pilih **Simpan**.

## Nilai status perekaman koneksi RDP
<a name="rdp-recording-status"></a>

Nilai status yang valid untuk rekaman koneksi RPD meliputi yang berikut:
+ `Recording`- Koneksi sedang dalam proses perekaman
+ `Processing`- Video sedang diproses setelah koneksi dihentikan.
+ `Finished`- Status terminal yang berhasil: Video rekaman koneksi berhasil diproses dan diunggah ke bucket yang ditentukan. 
+ `Failed`- Status terminal gagal. Koneksi tidak berhasil direkam. 
+ `ProcessingError`- Satu atau lebih perantara failures/errors terjadi selama pemrosesan video. Penyebab potensial termasuk kegagalan ketergantungan layanan atau izin yang hilang karena kesalahan konfigurasi pada bucket S3 yang ditentukan untuk menyimpan rekaman. Layanan terus mencoba memproses ketika rekaman dalam keadaan ini.

**catatan**  
`ProcessingError`dapat menjadi hasil dari kepala `ssm-guiconnect` layanan yang tidak memiliki izin untuk mengunggah objek ke bucket S3 setelah koneksi dibuat. Penyebab potensial lainnya adalah hilangnya izin KMS pada kunci KMS yang digunakan untuk enkripsi bucket S3.

# Memodifikasi target
<a name="systems-manager-just-in-time-node-access-modify-targets"></a>

Ketika Anda mengatur akses just-in-time node, Anda memilih *target* di mana Anda ingin mengatur akses just-in-time node. Target terdiri dari unit AWS Organizations organisasi (OUs) dan Wilayah AWS. Secara default, target yang sama yang Anda pilih saat menyiapkan konsol Systems Manager terpadu dipilih untuk akses just-in-time node. Anda dapat memilih untuk mengatur akses just-in-time node untuk semua target yang sama, atau subset target yang Anda tentukan saat menyiapkan konsol Systems Manager terpadu. Menambahkan target baru yang tidak dipilih saat Anda menyiapkan konsol Systems Manager terpadu tidak didukung. Anda dapat mengubah target yang Anda pilih setelah mengatur akses just-in-time node.

Prosedur berikut menjelaskan cara memodifikasi target untuk akses just-in-time node.

**Untuk memodifikasi target**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Pilih **Pengaturan** di panel navigasi.

1. Pilih tab **akses Just-in-time node**.

1. Di bagian **Target**, pilih **Edit**.

1. Pilih **unit Organisasi** dan **Wilayah** tempat Anda ingin menggunakan akses just-in-time node.

1. Pilih **Simpan**.

# Mengubah penyedia identitas
<a name="systems-manager-just-in-time-node-access-change-identity-provider"></a>

Secara default, akses just-in-time node menggunakan IAM untuk penyedia identitas. Setelah mengaktifkan akses just-in-time node, pelanggan yang menggunakan konsol terpadu dengan organisasi dapat memodifikasi pengaturan ini untuk menggunakan IAM Identity Center. Just-in-timeakses node tidak mendukung Pusat Identitas IAM sebagai penyedia identitas saat disiapkan untuk satu akun dan Wilayah.

Prosedur berikut menjelaskan cara memodifikasi penyedia identitas untuk akses just-in-time node.

**Untuk memodifikasi penyedia identitas**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Pilih **Pengaturan** di panel navigasi.

1. Pilih tab **akses Just-in-time node**.

1. Di bagian **Identitas pengguna**, pilih **Edit**.

1. Pilih **Pusat AWS Identitas IAM**.

1. Pilih **Simpan**.