IAM 정책에서 세션 문서를 지정하여 문서로 세션 시작 - AWS Systems Manager

IAM 정책에서 세션 문서를 지정하여 문서로 세션 시작

기본 세션 문서를 사용하여 start-session AWS CLI 명령을 사용하는 경우 문서 이름을 생략할 수 있습니다. 시스템에서 자동으로 SSM-SessionManagerRunShell 세션 문서를 호출합니다.

그 밖의 경우에는 document-name 파라미터의 값을 지정해야 합니다. 사용자가 명령에서 세션 문서의 이름을 지정하면 시스템에서는 IAM 정책을 점검하여 문서에 액세스할 권한이 있는지 확인합니다. 권한이 없으면 연결 요청에 실패합니다. 다음 예제에는 document-name 파라미터가 AWS-StartPortForwardingSession 세션 문서와 함께 포함되어 있습니다.

aws ssm start-session \ --target i-02573cafcfEXAMPLE \ --document-name AWS-StartPortForwardingSession \ --parameters '{"portNumber":["80"], "localPortNumber":["56789"]}'

세션을 시작할 때 세션 문서 권한 확인 적용

AWS-StartPortForwardingSession 세션 문서에 대한 액세스를 제한하려면 사용자가 세션 문서에 명시적으로 액세스할 수 있는지 여부를 확인하는 조건 요소를 사용자의 IAM 정책에 추가할 수 있습니다. 이 조건이 적용되면 사용자가 start-session 명령의 document-name 옵션에 값을 지정해야 합니다. IAM 정책의 ssm:StartSession 작업에 추가되면 다음 조건 요소는 Session 문서 액세스 확인을 수행합니다.

"Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } }

사용자가 세션을 시작할 수 있도록 이 조건 요소를 true로 설정하여 IAM 정책에서 세션 문서에 대한 액세스 권한을 명시적으로 부여해야 합니다. 조건 요소가 적용되도록 하려면 ssm:StartSession 작업을 허용하는 모든 정책 설명에 포함되어야 합니다. 의 예는 다음과 같습니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnableSSMSession", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:us-west-2:123456789012:instance/i-02573cafcfEXAMPLE", "arn:aws:ssm:us-west-2::document/AWS-StartPortForwardingSession" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } } ] }

이 IAM 정책을 적용하면 SessionDocumentAccessCheck 조건 요소가 true로 설정된 경우 사용자가 AWS CLI를 사용하여 세션을 시작할 때 명령에 document-name 파라미터를 입력해야 합니다. document-name의 값은 IAM 정책의 Resource 섹션에 지정된 문서여야 합니다. 사용자가 다른 문서 이름을 입력하거나 document-name 파라미터를 지정하지 않으면 요청에 실패합니다.

SessionDocumentAccessCheck 조건 요소가 false로 설정되어 있으면 IAM 정책 평가에 영향을 미치지 않습니다.

IAM 정책에서 Session Manager 세션 문서를 지정하는 예제는 Session Manager에 대한 빠른 시작 최종 사용자 정책 섹션을 참조하세요.

기타 시나리오

SSH로 세션을 시작하려면 대상 관리형 노드와 사용자의 로컬 시스템 모두에서 구성 단계를 완료해야 합니다. 자세한 내용은 (선택 사항) Session Manager를 통한 SSH 연결에 대한 권한 허용 및 제어를 참조하세요.