

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 토큰을 사용하여 문서에 대한 사용자 액세스 제어
<a name="create-index-access-control"></a>

**참고**  
기능 지원은 인덱스 유형 및 사용 중인 검색 API에 따라 다릅니다. 사용 중인 인덱스 유형 및 검색 API에 대해 이 기능이 지원되는지 확인하려면 [인덱스 유형](https://docs.aws.amazon.com/kendra/latest/dg/hiw-index-types.html)을 참조하세요.

**중요**  
Amazon Kendra GenAI Enterprise Edition 인덱스는 토큰 기반 사용자 액세스 제어를 지원하지 않습니다.

인덱스의 특정 문서에 액세스하거나 검색 결과에서 특정 문서를 볼 수 있는 사용자 또는 그룹을 제어할 수 있습니다. 이를 사용자 컨텍스트 필터링이라고 합니다. 문서에 대한 액세스를 제어할 수 있는 이점이 있는 일종의 개인화된 검색입니다. 예를 들어 회사 포털에서 정보를 검색하는 모든 팀이 일급 기밀 회사 문서에 액세스해야 하는 것은 아니며, 이러한 문서가 모든 사용자에게 관련된 것도 아닙니다. 일급 기밀 문서에 대한 액세스 권한을 받은 특정 사용자 또는 팀 그룹만 검색 결과에서 이러한 문서를 볼 수 있습니다.

Amazon Kendra 엔터프라이즈 및 개발자 인덱스는 다음 토큰 유형을 사용하여 토큰 기반 사용자 액세스 제어를 지원합니다.
+ Open ID
+ 공유 암호가 있는 JWT
+ 퍼블릭 키가 있는 JWT
+ JSON

Amazon Kendra 는 검색 및 검색 애플리케이션에 대한 안전한 엔터프라이즈 검색을 제공하는 데 사용할 수 있습니다. 쿼리 및 검색 중에는 요청에 `UserContext` 제공`AttributeFilters`되고 이를 기반으로 검색 결과를 Amazon Kendra 필터링합니다.는 크롤링 및 수집 중에 커넥터에서 수집한 문서 액세스 제어 목록(ACLs)을 Amazon Kendra 읽습니다. 검색 및 검색 결과에는 원본 문서 리포지토리를 가리키는 URL과 짧은 발췌문이 반환됩니다. 원본 리포지토리에서는 여전히 전체 문서에 대한 액세스를 강제합니다.

**Topics**
+ [OpenID 사용](create-index-access-control-tokens-openid.md)
+ [공유 암호가 있는 JSON 웹 토큰(JWT) 사용](create-index-access-control-tokens-jwtshared.md)
+ [JSON 웹 토큰(JWT)을 퍼블릭 키와 함께 사용](create-index-access-control-tokens-jwtpublic.md)
+ [JSON 사용](create-index-access-control-tokens-json.md)

# OpenID 사용
<a name="create-index-access-control-tokens-openid"></a>

액세스 제어에 OpenID 토큰을 사용하도록 Amazon Kendra 인덱스를 구성하려면 OpenID 공급자의 JWKS(JSON 웹 키 집합) URL이 필요합니다. 대부분의 경우 JWKS URL은 다음과 같은 형식입니다(OpenID 검색을 따르는 경우). `https://domain-name/.well_known/jwks.json` 

다음 예제는 인덱스를 생성할 때 사용자 액세스 제어를 위해 OpenID 토큰을 사용하는 방법을 보여줍니다.

------
#### [ Console ]

1. 새 인덱스 생성을 시작하려면 **인덱스 생성**을 선택합니다.

1. **인덱스 세부정보 지정** 페이지에서 인덱스에 이름과 설명을 입력합니다.

1. **IAM 역할**에서 역할을 선택하거나 **새 역할 생성**을 선택하고 역할 이름을 지정하여 새 역할을 생성합니다. IAM 역할에는 “AmazonKendra-”라는 접두사가 붙습니다.

1. 다른 모든 필드의 기본값은 그대로 둡니다. **다음**을 선택합니다.

1. **사용자 액세스 제어 구성** 페이지의 **액세스 제어 설정**에서 **예**를 선택하여 액세스 제어에 토큰을 사용합니다.

1. **토큰 구성**에서 **OpenID**를 **토큰 유형**으로 선택합니다.

1. **서명 키 URL**을 지정합니다. URL은 JSON 웹 키 집합을 가리켜야 합니다.

1. 선택 사항 **고급 구성**에서:** 

   1. ACL 검사에 사용할 **사용자 이름**을 지정합니다.

   1. ACL 검사에 사용할 **그룹**을 하나 이상 지정합니다.

   1. 토큰 발행자를 검증할 **발행자**를 지정합니다.

   1. **클라이언트 ID**를 지정합니다. JWT의 대상과 일치하는 정규 표현식을 지정해야 합니다.

1. **프로비저닝 세부 정보** 페이지에서 **개발자 에디션**을 선택합니다.

1. **생성**을 선택하여 인덱스를 생성합니다.

1. 인덱스가 생성될 때까지 기다리세요. Amazon Kendra는 인덱스의 하드웨어를 프로비저닝합니다. 이 작업에는 다소 시간이 걸릴 수 있습니다.

------
#### [ CLI ]

JSON 입력 파일을 사용하여 AWS CLI로 인덱스를 만들려면, 먼저 원하는 파라미터를 사용하여 JSON 파일을 생성하세요.

```
{
    "Name": "user-context",
    "Edition": "ENTERPRISE_EDITION",
    "RoleArn": "arn:aws:iam::account-id:role:/my-role",
    "UserTokenConfigurations": [
        {
            "JwtTokenTypeConfiguration": {
                "KeyLocation": "URL",
                "Issuer": "optional: specify the issuer url",
                "ClaimRegex": "optional: regex to validate claims in the token",
                "UserNameAttributeField": "optional: user",
                "GroupAttributeField": "optional: group",
                "URL": "https://example.com/.well-known/jwks.json"
            }
        }
    ],
    "UserContextPolicy": "USER_TOKEN"
}
```

기본 사용자 및 그룹 필드 이름을 재정의할 수 있습니다. `UserNameAttributeField`의 기본값은 “user”입니다. `GroupAttributeField`의 기본값은 "groups"입니다.

다음으로, 입력 파일을 사용하여 `create-index`를 호출합니다. 예를 들어 JSON 파일 이름이 `create-index-openid.json`인 경우 다음을 사용할 수 있습니다.

```
aws kendra create-index --cli-input-json file://create-index-openid.json
```

------
#### [ Python ]

```
response = kendra.create_index(
    Name='user-context',
    Edition='ENTERPRISE_EDITION',
    RoleArn='arn:aws:iam::account-id:role:/my-role',
    UserTokenConfigurations=[
        {
            "JwtTokenTypeConfiguration": {
                "KeyLocation": "URL",
                "Issuer": "optional: specify the issuer url",
                "ClaimRegex": "optional: regex to validate claims in the token",
                "UserNameAttributeField": "optional: user",
                "GroupAttributeField": "optional: group",
                "URL": "https://example.com/.well-known/jwks.json"
            }
        }
    ],
    UserContextPolicy='USER_TOKEN'
)
```

------

# 공유 암호가 있는 JSON 웹 토큰(JWT) 사용
<a name="create-index-access-control-tokens-jwtshared"></a>

다음 예제는 인덱스를 생성할 때 사용자 액세스 제어를 위해 공유 암호 토큰이 있는 JSON 웹 토큰(JWT)을 사용하는 방법을 보여줍니다.

------
#### [ Console ]

1. 새 인덱스 생성을 시작하려면 **인덱스 생성**을 선택합니다.

1. **인덱스 세부정보 지정** 페이지에서 인덱스에 이름과 설명을 입력합니다.

1. **IAM 역할**에서 역할을 선택하거나 **새 역할 생성**을 선택하고 역할 이름을 지정하여 새 역할을 생성합니다. IAM 역할에는 “AmazonKendra-”라는 접두사가 붙습니다.

1. 다른 모든 필드의 기본값은 그대로 둡니다. **다음**을 선택합니다.

1. **사용자 액세스 제어 구성** 페이지의 **액세스 제어 설정**에서 **예**를 선택하여 액세스 제어에 토큰을 사용합니다.

1. **토큰 구성**에서 **토큰 유형**으로 **공유 암호와 JWT**를 선택합니다.

1. **공유 암호 서명 파라미터**에서 **암호 유형**을 선택합니다. 기존의 AWS Secrets Manager 공유 암호를 사용하거나 새 공유 암호를 생성할 수 있습니다.

   새 공유 암호를 생성하려면 **새로 만들기**를 선택한 후 다음 단계를 수행합니다.

   1. **새 AWS Secrets Manager 보안** 암호에서 **보안 암호 이름을** 지정합니다. 퍼블릭 키를 저장하면 `AmazonKendra-` 접두사가 추가됩니다.

   1. **키 ID**를 지정합니다. 키 ID는 토큰의 JSON 웹 서명을 보호하는 데 어떤 키가 사용되었는지 나타내는 힌트입니다.

   1. 토큰의 서명 **알고리즘**을 선택합니다. ID 토큰을 보호하는 데 사용되는 암호화 알고리즘입니다. RSA에 대한 자세한 내용은 [RSA 암호화](https://tools.ietf.org/html/rfc3447)를 참조하세요.

   1. base64 URL로 인코딩된 암호를 입력하여 **공유 암호**를 지정합니다. **암호 생성**을 선택하여 암호가 자동으로 생성되도록 할 수도 있습니다. 암호가 base64 URL로 인코딩된 암호인지 확인해야 합니다.

   1. (선택 사항) 공유 암호가 유효한 시기를 지정합니다.** 암호가 유효한 날짜와 시간(시작, 종료, 또는 둘 모두)을 지정할 수 있습니다. 암호는 지정한 기간 동안 유효합니다.

   1. **암호 저장**을 선택하여 새 암호를 저장합니다.

1. (선택 사항) **고급 구성**에서:**

   1. ACL 검사에 사용할 **사용자 이름**을 지정합니다.

   1. ACL 검사에 사용할 **그룹**을 하나 이상 지정합니다.

   1. 토큰 발행자를 검증할 **발행자**를 지정합니다.

   1. **클레임 ID**를 지정합니다. JWT의 대상과 일치하는 정규 표현식을 지정해야 합니다.

1. **프로비저닝 세부 정보** 페이지에서 **개발자 에디션**을 선택합니다.

1. **생성**을 선택하여 인덱스를 생성합니다.

1. 인덱스가 생성될 때까지 기다립니다. Amazon Kendra 는 인덱스의 하드웨어를 프로비저닝합니다. 이 작업에는 다소 시간이 걸릴 수 있습니다.

------
#### [ CLI ]

내부에서 공유 보안 암호와 함께 JWT 토큰을 사용할 수 있습니다 AWS Secrets Manager. 암호는 base64 URL로 인코딩된 암호여야 합니다. Secrets Manager ARN이 필요하며 Amazon Kendra 역할에 Secrets Manager 리소스의 `GetSecretValue`에 대한 액세스 권한이 있어야 합니다. 를 사용하여 Secrets Manager 리소스를 암호화하는 경우 AWS KMS역할에 복호화 작업에 대한 액세스 권한도 있어야 합니다.

JSON 입력 파일을 AWS CLI 사용하여 로 인덱스를 생성하려면 먼저 원하는 파라미터로 JSON 파일을 생성합니다.

```
{
    "Name": "user-context",
    "Edition": "ENTERPRISE_EDITION",
    "RoleArn": "arn:aws:iam::account-id:role:/my-role",
    "UserTokenConfigurations": [
        {
            "JwtTokenTypeConfiguration": {
                "KeyLocation": "SECRET_MANAGER",
                "Issuer": "optional: specify the issuer url",
                "ClaimRegex": "optional: regex to validate claims in the token",
                "UserNameAttributeField": "optional: user",
                "GroupAttributeField": "optional: group",
                "SecretManagerArn": "arn:aws:secretsmanager:us-west-2:account id:secret:/my-user-context-secret
            }
        }
    ],    
    "UserContextPolicy": "USER_TOKEN"
}
```

기본 사용자 및 그룹 필드 이름을 재정의할 수 있습니다. `UserNameAttributeField`의 기본값은 “user”입니다. `GroupAttributeField`의 기본값은 "groups"입니다.

다음으로, 입력 파일을 사용하여 `create-index`를 호출합니다. 예를 들어 JSON 파일 이름이 `create-index-openid.json`인 경우 다음을 사용할 수 있습니다.

```
aws kendra create-index --cli-input-json file://create-index-openid.json
```

보안 암호의 형식은 AWS Secrets Manager다음과 같아야 합니다.

```
{
  "keys": [
    {
      "kid": "key_id",
      "alg": "HS256|HS384|HS512",
      "kty": "OCT", 
      "use": "sig", //this value can be sig only for now
      "k": "secret",
      "nbf":"ISO1806 date format"
      "exp":"ISO1806 date format"
    }
  ]
}
```

JWT에 대한 자세한 내용은 [jwt.io](http://jwt.io)를 참조하세요.

------
#### [ Python ]

내부에서 공유 보안 암호와 함께 JWT 토큰을 사용할 수 있습니다 AWS Secrets Manager. 암호는 base64 URL로 인코딩된 암호여야 합니다. Secrets Manager ARN이 필요하며 Amazon Kendra 역할에 Secrets Manager 리소스의 `GetSecretValue`에 대한 액세스 권한이 있어야 합니다. 를 사용하여 Secrets Manager 리소스를 암호화하는 경우 AWS KMS역할에 복호화 작업에 대한 액세스 권한도 있어야 합니다.

```
response = kendra.create_index(
    Name='user-context',
    Edition='ENTERPRISE_EDITION',
    RoleArn='arn:aws:iam::account-id:role:/my-role',
    UserTokenConfigurations=[
        {
            "JwtTokenTypeConfiguration": {
                "KeyLocation": "URL",
                "Issuer": "optional: specify the issuer url",
                "ClaimRegex": "optional: regex to validate claims in the token",
                "UserNameAttributeField": "optional: user",
                "GroupAttributeField": "optional: group",
                "SecretManagerArn": "arn:aws:secretsmanager:us-west-2:account id:secret:/my-user-context-secret"
            }
        }
    ],
    UserContextPolicy='USER_TOKEN'
)
```

------

# JSON 웹 토큰(JWT)을 퍼블릭 키와 함께 사용
<a name="create-index-access-control-tokens-jwtpublic"></a>

다음 예제는 인덱스를 생성할 때 사용자 액세스 제어를 위해 퍼블릭 키가 있는 JSON 웹 토큰(JWT)을 사용하는 방법을 보여줍니다. JWT에 대한 자세한 내용은 [jwt.io](http://jwt.io)를 참조하세요.

------
#### [ Console ]

1. 새 인덱스 생성을 시작하려면 **인덱스 생성**을 선택합니다.

1. **인덱스 세부정보 지정** 페이지에서 인덱스에 이름과 설명을 입력합니다.

1. **IAM 역할**에서 역할을 선택하거나 **새 역할 생성**을 선택하고 역할 이름을 지정하여 새 역할을 생성합니다. IAM 역할에는 “AmazonKendra-”라는 접두사가 붙습니다.

1. 다른 모든 필드의 기본값은 그대로 둡니다. **다음**을 선택합니다.

1. **사용자 액세스 제어 구성** 페이지의 **액세스 제어 설정**에서 **예**를 선택하여 액세스 제어에 토큰을 사용합니다.

1. **토큰 구성**에서 **토큰 유형**으로 **퍼블릭 키와 JWT**를 선택합니다.

1. **퍼블릭 키 서명 파라미터**에서 **암호 유형**을 선택합니다. 기존의 AWS Secrets Manager 암호를 사용하거나 새 암호를 생성할 수 있습니다.

   새 암호를 생성하려면 **새로 만들기**를 선택한 후 다음 단계를 수행합니다.

   1. **새 AWS Secrets Manager 보안** 암호에서 **보안 암호 이름을** 지정합니다. 퍼블릭 키를 저장하면 `AmazonKendra-` 접두사가 추가됩니다.

   1. **키 ID**를 지정합니다. 키 ID는 토큰의 JSON 웹 서명을 보호하는 데 어떤 키가 사용되었는지 나타내는 힌트입니다.

   1. 토큰의 서명 **알고리즘**을 선택합니다. ID 토큰을 보호하는 데 사용되는 암호화 알고리즘입니다. RSA에 대한 자세한 내용은 [RSA 암호화](https://tools.ietf.org/html/rfc3447)를 참조하세요.

   1. **인증서 속성**에서 선택적 **인증서 체인**을 지정합니다.** 인증서 체인은 인증서 목록으로 구성됩니다. 서버의 인증서로 시작하여 루트 인증서로 종료됩니다.

   1. 선택 사항 **엄지 또는 검지 지문**을 지정합니다.** 모든 인증서 데이터와 서명을 대상으로 계산된 인증서의 해시여야 합니다.

   1. **지수**를 지정합니다. RSA 퍼블릭 키의 지수 값입니다. 이 값은 Base64urlUInt 인코딩 값으로 표현됩니다.

   1. **모듈러스**를 지정합니다. RSA 퍼블릭 키의 지수 값입니다. 이 값은 Base64urlUInt 인코딩 값으로 표현됩니다.

   1. **키 저장**을 선택하여 새 키를 저장합니다.

1. 선택 사항 **고급 구성**에서:**

   1. ACL 검사에 사용할 **사용자 이름**을 지정합니다.

   1. ACL 검사에 사용할 **그룹**을 하나 이상 지정합니다.

   1. 토큰 발행자를 검증할 **발행자**를 지정합니다.

   1. **클라이언트 ID**를 지정합니다. JWT의 대상과 일치하는 정규 표현식을 지정해야 합니다.

1. **프로비저닝 세부 정보** 페이지에서 **개발자 에디션**을 선택합니다.

1. **생성**을 선택하여 인덱스를 생성합니다.

1. 인덱스가 생성될 때까지 기다립니다. Amazon Kendra 는 인덱스의 하드웨어를 프로비저닝합니다. 이 작업에는 다소 시간이 걸릴 수 있습니다.

------
#### [ CLI ]

 AWS Secrets Manager내부에 퍼블릭 키가 있는 JWT를 사용할 수 있습니다. Secrets Manager ARN이 필요하며 Amazon Kendra 역할에 Secrets Manager 리소스의 `GetSecretValue`에 대한 액세스 권한이 있어야 합니다. 를 사용하여 Secrets Manager 리소스를 암호화하는 경우 AWS KMS역할에 복호화 작업에 대한 액세스 권한도 있어야 합니다.

JSON 입력 파일을 AWS CLI 사용하여 로 인덱스를 생성하려면 먼저 원하는 파라미터로 JSON 파일을 생성합니다.

```
{
    "Name": "user-context",
    "Edition": "ENTERPRISE_EDITION",
    "RoleArn": "arn:aws:iam::account id:role:/my-role",
    "UserTokenConfigurationList": [
        {
            "JwtTokenTypeConfiguration": {
                "KeyLocation": "SECRET_MANAGER",
                "Issuer": "optional: specify the issuer url",
                "ClaimRegex": "optional: regex to validate claims in the token",
                "UserNameAttributeField": "optional: user",
                "GroupAttributeField": "optional: group",
                "SecretManagerArn": "arn:aws:secretsmanager:us-west-2:account id:secret:/my-user-context-secret
            }
        }
    ],    "UserContextPolicy": "USER_TOKEN"
}
```

기본 사용자 및 그룹 필드 이름을 재정의할 수 있습니다. `UserNameAttributeField`의 기본값은 “user”입니다. `GroupAttributeField`의 기본값은 "groups"입니다.

다음으로, 입력 파일을 사용하여 `create-index`를 호출합니다. 예를 들어 JSON 파일 이름이 `create-index-openid.json`인 경우 다음을 사용할 수 있습니다.

```
aws kendra create-index --cli-input-json file://create-index-openid.json
```

보안 암호의 형식은 Secrets Manager다음과 같아야 합니다.

```
{
  "keys": [
    {
      "alg": "RS256|RS384|RS512",
      "kty": "RSA", //this can be RSA only for now
      "use": "sig", //this value can be sig only for now
      "n": "modulus of standard pem",
      "e": "exponent of standard pem",
      "kid": "key_id",
      "x5t": "certificate thumprint for x.509 cert",
      "x5c": [
        "certificate chain"
      ]
    }
  ]
}
```

JWT에 대한 자세한 내용은 [jwt.io](http://jwt.io)를 참조하세요.

------
#### [ Python ]

```
response = kendra.create_index(
    Name='user-context',
    Edition='ENTERPRISE_EDITION',
    RoleArn='arn:aws:iam::account id:role:/my-role',
    UserTokenConfigurationList=[
        {
            "JwtTokenTypeConfiguration": {
                "KeyLocation": "URL",
                "Issuer": "optional: specify the issuer url",
                "ClaimRegex": "optional: regex to validate claims in the token",
                "UserNameAttributeField": "optional: user",
                "GroupAttributeField": "optional: group",
                "SecretManagerArn": "arn:aws:secretsmanager:us-west-2:account id:secret:/my-user-context-secret"
            }
        }
    ],
    UserContextPolicy='USER_TOKEN'
)
```

------

# JSON 사용
<a name="create-index-access-control-tokens-json"></a>

다음 예제는 인덱스를 생성할 때 사용자 액세스 제어를 위해 JSON을 사용하는 방법을 보여줍니다.

**주의**  
JSON 토큰은 검증되지 않은 페이로드입니다. 이는 Amazon Kendra 요청이 브라우저가 아닌 신뢰할 수 있는 서버에서 오는 경우에만 사용해야 합니다.

------
#### [ Console ]

1. 새 인덱스 생성을 시작하려면 **인덱스 생성**을 선택합니다.

1. **인덱스 세부정보 지정** 페이지에서 인덱스에 이름과 설명을 입력합니다.

1. **IAM 역할**에서 역할을 선택하거나 **새 역할 생성**을 선택하고 역할 이름을 지정하여 새 역할을 생성합니다. IAM 역할에는 “AmazonKendra-”라는 접두사가 붙습니다.

1. 다른 모든 필드의 기본값은 그대로 둡니다. **다음**을 선택합니다.

1. **사용자 액세스 제어 구성** 페이지의 **액세스 제어 설정**에서 **예**를 선택하여 액세스 제어에 토큰을 사용합니다.

1. **토큰 구성**에서 **토큰 유형**으로 **JSON**을 선택합니다.

1. ACL 검사에 사용할 **사용자 이름**을 지정합니다.

1. ACL 검사에 사용할 **그룹**을 하나 이상 지정합니다.

1. **다음**을 선택합니다.

1. **프로비저닝 세부 정보** 페이지에서 **개발자 에디션**을 선택합니다.

1. **생성**을 선택하여 인덱스를 생성합니다.

1. 인덱스가 생성될 때까지 기다리세요. Amazon Kendra는 인덱스의 하드웨어를 프로비저닝합니다. 이 작업에는 다소 시간이 걸릴 수 있습니다.

------
#### [ CLI ]

JSON 입력 파일을 사용하여 AWS CLI로 인덱스를 만들려면, 먼저 원하는 파라미터를 사용하여 JSON 파일을 생성하세요.

```
{
    "Name": "user-context",
    "Edition": "ENTERPRISE_EDITION",
    "RoleArn": "arn:aws:iam::account-id:role:/my-role",
    "UserTokenConfigurations": [
        {
            "JsonTokenTypeConfiguration": {
                "UserNameAttributeField": "user",
                "GroupAttributeField": "group"
            }
        }
    ],
    "UserContextPolicy": "USER_TOKEN"
}
```

다음으로, 입력 파일을 사용하여 `create-index`를 호출합니다. 예를 들어 JSON 파일 이름이 `create-index-openid.json`인 경우 다음을 사용할 수 있습니다.

```
aws kendra create-index --cli-input-json file://create-index-openid.json
```

AWS IAM Identity Center에 Open ID를 사용하지 않는 경우 JSON 형식으로 토큰을 보내면 됩니다. 그럴 경우 JSON 토큰의 어떤 필드에 사용자 이름이 포함되고 어떤 필드에 그룹이 포함되는지 지정해야 합니다. 그룹 필드 값은 JSON 문자열 배열이어야 합니다. 예를 들어 SAML을 사용하는 경우 토큰은 다음과 같을 것입니다.

```
{
     "username" : "user1", 
     "groups": [
        "group1", 
        "group2"
     ]
}
```

`TokenConfiguration`은 사용자 이름과 그룹 필드 이름을 지정합니다.

```
{
    "UserNameAttributeField":"username",
    "GroupAttributeField":"groups"
}
```

------
#### [ Python ]

```
response = kendra.create_index(
    Name='user-context',
    Edition='ENTERPRISE_EDITION',
    RoleArn='arn:aws:iam::account-id:role:/my-role',
    UserTokenConfigurations=[
        {
            "JwtTokenTypeConfiguration": {
                "UserNameAttributeField": "user",
                "GroupAttributeField": "group",
            }
        }
    ],
    UserContextPolicy='USER_TOKEN'
)
```

------