인증 응답에 대한 SAML 어설션 구성
조직에서 사용자의 아이덴티티를 확인한 후 외부 ID 제공자(IdP)가 https://
의 AWS SAML 엔드포인트로 인증 응답을 보냅니다. 잠재적 region-code
.signin.aws.amazon.com/samlregion-code
대체 목록은 AWS 로그인 엔드포인트의 리전(Region) 열을 참조하세요. 이 응답은 SAML 2.0을 위한 HTTP POST 바인딩
IdP가 AWS에 클레임이 포함된 리소스를 전송하는 경우 수신 클레임 중 다수가 AWS 콘텍스트 키에 매핑됩니다. 이러한 컨텍스트 키는 Condition
요소를 사용하여 IAM 정책에서 확인할 수 있습니다. 사용 가능한 매핑 목록은 SAML 속성을 AWS 신뢰 정책 컨텍스트 키에 매핑 섹션에 나와 있습니다.
Subject
및 NameID
다음 발췌문은 한 가지 예를 보여줍니다. 자신의 값을 표시된 것으로 대치합니다. SubjectConfirmation
속성과 SubjectConfirmationData
속성을 둘 다 포함하는 NotOnOrAfter
요소와 함께 정확하게 Recipient
요소가 하나 있어야 합니다. 이러한 속성에는 AWS 엔드포인트 https://
과 일치해야 하는 값이 포함되어 있습니다. 가능한 region-code
.signin.aws.amazon.com/samlregion-code
값 목록은 AWS 로그인 엔드포인트의 리전(Region) 열을 참조하세요. AWS 값의 경우 다음 예제와 같이 https://signin.aws.amazon.com/saml
을 사용할 수도 있습니다.
NameID
요소는 영구 값, 임시 값을 갖거나 IdP 솔루션에서 제공한 전체 형식 URI로 구성될 수 있습니다. 영구 값은 NameID
의 값이 세션 간 사용자에서도 동일하다는 것을 나타냅니다. 임시 값인 경우 각 세션마다 사용자의 NameID
값이 다릅니다. 싱글 사인온 상호작용은 다음과 같은 유형의 식별자를 지원합니다.
-
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
-
urn:oasis:names:tc:SAML:2.0:nameid-format:transient
-
urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
-
urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
-
urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName
-
urn:oasis:names:tc:SAML:1.1:nameid-format:WindowsDomainQualifiedName
-
urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos
-
urn:oasis:names:tc:SAML:2.0:nameid-format:entity
<Subject> <NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">
_cbb88bf52c2510eabe00c1642d4643f41430fe25e3
</NameID> <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <SubjectConfirmationData NotOnOrAfter="2013-11-05T02:06:42.876Z
" Recipient="https://signin.aws.amazon.com/saml"/> </SubjectConfirmation> </Subject>
중요
saml:aud
콘텍스트 키는 SAML 수신자 속성에서 온 것으로, 그 이유는 이 속성이 accounts.google.com:aud
와 같은 OIDC 대상 필드와 동일한 SAML이기 때문입니다.
PrincipalTag
SAML 속성
(선택 사항) Name
속성이 https://aws.amazon.com/SAML/Attributes/PrincipalTag:
로 설정된 {TagKey}
Attribute
요소를 사용할 수 있습니다. 이 요소를 사용하면 속성을 SAML 어설션에 세션 태그로 전달할 수 있습니다. 세션 태그에 대한 자세한 내용은 AWS STS에서 세션 태그 전달 섹션을 참조하세요.
속성을 세션 태그로 전달하려면 태그 값을 지정하는 AttributeValue
요소를 포함합니다. 예를 들어, 태그 키 값 페어 Project
= Marketing
및 CostCenter
= 12345
를 전달하려면 다음 속성을 사용합니다. 각 태그에 대해 별도의 Attribute
요소를 포함합니다.
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:Project"> <AttributeValue>Marketing</AttributeValue> </Attribute> <Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:CostCenter"> <AttributeValue>12345</AttributeValue> </Attribute>
위의 태그를 전이적으로 설정하려면 Name
속성이 https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys
로 설정된 다른 Attribute
요소를 포함합니다. 세션 태그를 전이적으로 설정하는 선택적 다중 값 속성입니다. 전이적 태그는 SAML 세션을 사용하여 AWS에서 다른 역할을 맡을 때 유지됩니다. 이를 역할 체인이라고 합니다. 예를 들어, Principal
및 CostCenter
태그를 전이적으로 설정하려면 다음 속성을 사용하여 키를 지정합니다.
<Attribute Name="https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys"> <AttributeValue>Project</AttributeValue> <AttributeValue>CostCenter</AttributeValue> </Attribute>
Role
SAML 속성
Name
속성이 https://aws.amazon.com/SAML/Attributes/Role
로 설정된 Attribute
요소를 사용할 수 있습니다. 이 요소는 IdP에 의해 사용자가 매핑되는 IAM 자격 증명 공급자 및 역할을 나열하는 AttributeValue
요소를 한 개 이상 포함합니다. IAM 역할 및 IAM 자격 증명 공급자는 AssumeRoleWithSAML에 전달되는 RoleArn
및 PrincipalArn
파라미터와 동일한 형식의 쉼표로 구분된 ARN 쌍으로 지정됩니다. 이 요소는 하나 이상의 역할 공급자 페어(AttributeValue
요소)를 포함해야 하며 여러 페어를 포함할 수 있습니다. 요소가 다수의 페어를 포함하는 경우 사용자가 WebSSO를 사용하여 AWS Management Console에 로그인할 때 어떤 역할을 수임할지 선택하라는 메시지가 표시됩니다.
중요
Name
태그의 Attribute
속성 값은 대/소문자를 구분합니다. 정확하게 https://aws.amazon.com/SAML/Attributes/Role
로 설정해야 합니다.
<Attribute Name="https://aws.amazon.com/SAML/Attributes/Role"> <AttributeValue>arn:aws:iam::
account-number
:role/role-name1
,arn:aws:iam::account-number
:saml-provider/provider-name
</AttributeValue> <AttributeValue>arn:aws:iam::account-number
:role/role-name2
,arn:aws:iam::account-number
:saml-provider/provider-name
</AttributeValue> <AttributeValue>arn:aws:iam::account-number
:role/role-name3
,arn:aws:iam::account-number
:saml-provider/provider-name
</AttributeValue> </Attribute>
RoleSessionName
SAML 속성
Name
속성이 https://aws.amazon.com/SAML/Attributes/RoleSessionName
로 설정된 Attribute
요소를 사용할 수 있습니다. 이 요소에는 역할을 수임할 때 발급된 임시 자격 증명의 식별자를 제공하는 AttributeValue
요소가 하나 포함되어 있습니다. 이 요소를 사용하여 임시 자격 증명을 애플리케이션을 사용하는 사용자와 연결할 수 있습니다. 이 요소는 AWS Management Console 콘솔에서 사용자 정보를 표시하는 데 사용됩니다. AttributeValue
요소의 값은 2~64자여야 하며 영숫자, 밑줄 및 다음 문자만 포함할 수 있습니다. . , + = @ -(하이픈). 공백은 포함할 수 없습니다. 값은 일반적으로 사용자 ID(johndoe
) 또는 이메일 주소(johndoe@example.com
)입니다. 사용자의 표시 이름(John Doe
)과 같이 값이 공백을 포함하면 안 됩니다.
중요
Name
태그의 Attribute
속성 값은 대/소문자를 구분합니다. 정확하게 https://aws.amazon.com/SAML/Attributes/RoleSessionName
로 설정해야 합니다.
<Attribute Name="https://aws.amazon.com/SAML/Attributes/RoleSessionName"> <AttributeValue>
user-id-name
</AttributeValue> </Attribute>
SessionDuration
SAML 속성
(선택 사항) Name
속성이 https://aws.amazon.com/SAML/Attributes/SessionDuration"
로 설정된 Attribute
요소를 사용할 수 있습니다. 이 요소에는 사용자가 AWS Management Console에 액세스할 수 있는 기간을 지정하는 AttributeValue
요소가 한 개 포함되어 있습니다. 이 시간이 지나면 새로운 임시 자격 증명을 요청해야 합니다. 이 값은 세션에 대한 기간(초)을 나타내는 정수입니다. 이 값은 900초(15분)~43200초(12시간)일 수 있습니다. 이 속성이 없으면 자격 증명은 한 시간 동안 지속됩니다(DurationSeconds
API의 AssumeRoleWithSAML
파라미터 기본값).
이 속성을 사용하려면 https://
에서 콘솔 로그인 웹 엔드포인트를 통해 AWS Management Console에 대한 SSO(Single Sign-On) 액세스를 제공하도록 SAML 공급자를 구성해야 합니다. 가능한 region-code
.signin.aws.amazon.com/samlregion-code
값 목록은 AWS 로그인 엔드포인트의 리전(Region) 열을 참조하세요. URL https://signin.aws.amazon.com/static/saml
을 사용할 수 있습니다. 이 속성은 AWS Management Console에 대해서만 세션을 연장할 수 있습니다. 다른 자격 증명의 수명을 늘릴 수는 없습니다. 그러나 AssumeRoleWithSAML
API 호출에 존재하는 경우 세션 기간을 단축하는 데 사용할 수 있습니다. 호출에 의해 반환되는 자격 증명의 기본 수명은 60분입니다.
SessionNotOnOrAfter
속성도 정의된 경우 콘솔 세션 중 두 속성 SessionDuration
또는 SessionNotOnOrAfter
중 더 작은 값으로 최대값이 설정됩니다.
지속 기간을 더 늘려 콘솔 세션을 활성화하면 자격 증명이 손상될 위험이 높아집니다. 이러한 위험을 줄이려면 IAM 콘솔의 역할 요약 페이지에서 세션 취소(Revoke Sessions)를 선택하여 원하는 역할의 활성 콘솔 세션을 즉시 비활성화하면 됩니다. 자세한 내용은 IAM 역할 임시 보안 자격 증명 취소 단원을 참조하십시오.
중요
Name
태그의 Attribute
속성 값은 대/소문자를 구분합니다. 정확하게 https://aws.amazon.com/SAML/Attributes/SessionDuration
로 설정해야 합니다.
<Attribute Name="https://aws.amazon.com/SAML/Attributes/SessionDuration"> <AttributeValue>1800</AttributeValue> </Attribute>
SourceIdentity
SAML 속성
(선택 사항) Name
속성이 https://aws.amazon.com/SAML/Attributes/SourceIdentity
로 설정된 Attribute
요소를 사용할 수 있습니다. 이 요소에는 하나의 IAM 역할을 사용하는 사용자 또는 애플리케이션에 식별자를 제공하는 AttributeValue
요소가 포함됩니다. 소스 자격 증명의 값은 SAML 세션을 사용하여 AWS에서 다른 역할을 수임할 때(역할 체인이라고 함) 유지됩니다. 소스 자격 증명 값은 역할 세션 중에 수행된 모든 작업의 요청에 표시됩니다. 역할 세션 중에는 설정된 값을 변경할 수 없습니다. 그런 다음 관리자는 AWS CloudTrail 로그를 통해 소스 자격 증명 정보를 모니터링하고 감사하여 공유 역할로 작업을 수행한 사용자를 결정합니다.
AttributeValue
요소의 값은 2~64자여야 하며 영숫자, 밑줄 및 다음 문자만 포함할 수 있습니다. . , + = @ -(하이픈). 공백은 포함할 수 없습니다. 이 값은 일반적으로 사용자 ID(johndoe
) 또는 이메일 주소(johndoe@example.com
) 등 사용자와 연결된 속성입니다. 사용자의 표시 이름(John Doe
)과 같이 값이 공백을 포함하면 안 됩니다. 소스 자격 증명 사용에 대한 자세한 내용은 위임된 역할로 수행한 작업 모니터링 및 제어 섹션을 참조하세요.
중요
SourceIdentity 속성을 사용하도록 SAML 어설션이 구성된 경우 역할 신뢰 정책에도 sts:SetSourceIdentity
작업이 포함되어야 합니다. 그러지 않으면 수임 역할 작업이 실패합니다. 소스 자격 증명 사용에 대한 자세한 내용은 위임된 역할로 수행한 작업 모니터링 및 제어 섹션을 참조하세요.
소스 자격 증명 속성을 전달하려면 소스 자격 증명의 값을 지정하는 AttributeValue
요소를 포함합니다. 예를 들어, 소스 자격 증명 DiegoRamirez
를 전달하려면 다음 속성을 사용합니다.
<Attribute Name="https://aws.amazon.com/SAML/Attributes/SourceIdentity"> <AttributeValue>DiegoRamirez</AttributeValue>
SAML 속성을 AWS 신뢰 정책 컨텍스트 키에 매핑
이 섹션의 표들은 흔히 사용되는 SAML 속성들을 나열하고, 그 속성들이 AWS에서 신뢰 정책 조건 콘텍스트 키에 어떻게 매핑되는지 보여줍니다. 이러한 키를 사용하여 역할에 대한 액세스를 제어할 수 있습니다. 이렇게 하려면 키를 SAML 액세스 요청과 함께 제공되는 어설션에 포함된 값과 비교합니다.
중요
이런 키는 IAM 신뢰 정책(역할을 수임할 수 있는 사용자를 결정하는 정책)에서만 사용할 수 있고, 권한 정책에는 적용할 수 없습니다.
eduPerson 및 eduOrg 속성 표에서 값은 문자열 또는 문자열 목록의 형태로 입력됩니다. 문자열 값의 경우, StringEquals
또는 StringLike
조건을 이용해 IAM 신뢰 정책에서 이러한 값을 테스트할 수 있습니다. 문자열 목록이 포함된 값의 경우에는 ForAnyValue
및 ForAllValues
정책 설정 연산자를 사용해 신뢰 정책에서 값을 테스트합니다.
참고
AWS 컨텍스트 키당 하나의 클레임만을 포함해야 합니다. 하나 이상의 클레임을 포함하는 경우, 하나의 클레임만 매핑됩니다.
다음 표는 eduPerson 및 eduOrg 속성을 보여줍니다.
eduPerson 또는 eduOrg 속성(Name 키) |
이 AWS 콘텍스트 키(FriendlyName 키)에 매핑 |
유형 |
---|---|---|
|
|
문자열 목록 |
|
|
문자열 목록 |
|
|
String |
|
|
문자열 목록 |
|
|
String |
|
|
String |
|
|
문자열 목록 |
|
|
String |
|
|
문자열 목록 |
|
|
문자열 목록 |
|
|
문자열 목록 |
|
|
문자열 목록 |
|
|
문자열 목록 |
|
|
문자열 목록 |
|
|
문자열 목록 |
|
|
문자열 목록 |
|
|
문자열 목록 |
다음 표는 Active Directory 속성을 보여줍니다.
AD 속성 | 이 AWS 컨텍스트 키에 매핑 | 유형 |
---|---|---|
|
|
문자열 |
|
|
문자열 |
|
|
문자열 |
|
|
문자열 |
|
|
문자열 |
|
|
String |
다음 표는 X.500 속성을 보여줍니다.
X.500 속성 | 이 AWS 컨텍스트 키에 매핑 | 유형 |
---|---|---|
|
|
문자열 |
|
|
문자열 |
|
|
문자열 |
|
|
문자열 |
|
|
문자열 |
|
|
문자열 |
|
|
String |