

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

# 생산성을 위한 AppFabric AppClients
<a name="manage-appclients"></a>


|  | 
| --- |
| 생산성을 위한 AWS AppFabric 기능은 미리 보기 중이며 변경될 수 있습니다. | 

생산성을 위한 AppFabric AppClient를 관리하여 인증 및 인증 프로세스의 원활한 운영 및 유지 관리를 보장할 수 있습니다.

## AppClient의 세부 정보 가져오기
<a name="get_appclient_details"></a>

AppFabric `GetAppClient` API 작업을 사용하여 AppClient 상태 확인을 포함하여 AppClient에 대한 세부 정보를 볼 수 있습니다. 자세한 내용은 [GetAppClient](API_GetAppClient.md) 단원을 참조하십시오.

AppClient의 세부 정보를 가져오려면 최소한 `"appfabric:GetAppClient"` IAM 정책 권한이 있어야 합니다. 자세한 내용은 [AppClient의 세부 정보를 가져오는 액세스 허용](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-get-appclient) 단원을 참조하십시오.

**요청 필드**
+ `appClientId` - AppClient ID입니다.

**응답 필드**
+ `appName` - AppFabric 사용자 포털의 동의 페이지에 사용자에게 표시될 애플리케이션의 이름입니다.
+ `customerManagedKeyIdentifier`(선택 사항) - 데이터를 암호화하는 데 사용할 고객 관리형 키(KMS에서 생성)의 ARN입니다. 지정하지 않으면 AWS AppFabric 관리형 키가 사용됩니다.
+ `description` - 애플리케이션에 대한 설명입니다.
+ `redirectUrls` - 인증 후 최종 사용자를 리디렉션할 URI입니다. redirectUrl을 최대 5개 추가할 수 있습니다. 예를 들어 `https://localhost:8080`입니다.
+ `starterUserEmails` - 애플리케이션이 검증될 때까지 인사이트를 수신할 수 있는 액세스가 허용되는 사용자 이메일 주소입니다. 이메일 주소는 하나만 사용할 수 있습니다. 예를 들어 `anyuser@example.com`입니다.
+ `verificationStatus` - AppClient 확인 상태입니다.
  + `pending_verification` - AppFabric에서 AppClient 확인이 아직 진행 중입니다. AppClient가 확인되기 전까지는 한 명의 사용자(`starterUserEmails`에서 지정된 사용자)만 AppClient를 사용할 수 있습니다.
  + `verified` - AppFabric에서 확인 프로세스를 성공적으로 완료했으며 이제 AppClient가 완전히 확인되었습니다.
  + `rejected` - AppClient에 대한 확인 프로세스를 AppFabric에서 거부했습니다. 확인 프로세스를 다시 시작하고 성공적으로 완료하기 전까지는 추가 사용자가 AppClient를 사용할 수 없습니다.

```
curl --request GET \
  --header "Content-Type: application/json" \
  --header "X-Amz-Content-Sha256: <sha256_payload>" \
  --header "X-Amz-Security-Token: <security_token>" \
  --header "X-Amz-Date: 20230922T172215Z" \
  --header "Authorization: AWS4-HMAC-SHA256 ..." \
  --url https://appfabric.<region>.amazonaws.com/appclients/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
```

작업이 성공하면 서비스가 HTTP 200 응답을 반송합니다.

```
200 OK

{
    "appClient": {
        "appName": "Test App",
        "arn": "arn:aws:appfabric:<region>:111122223333:appclient/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "customerManagedKeyArn": "arn:aws:kms:<region>:111122223333:key/<key>",
        "description": "This is a test app",
        "redirectUrls": [
            "https://localhost:8080"
        ],
        "starterUserEmails": [
            "anyuser@example.com"
        ],
        "verificationDetails": {
            "verificationStatus": "pending_verification"
        }
    }
}
```

## AppClient 목록
<a name="list_appclients"></a>

AppFabric `ListAppClients` API 작업을 사용하여 AppClient 목록을 봅니다. AppFabric은 당 하나의 AppClient만 허용합니다 AWS 계정. 향후 변경될 수 있습니다. 자세한 내용은 [ListAppClients](API_ListAppClients.md) 단원을 참조하십시오.

AppClients를 나열하려면 최소한 `"appfabric:ListAppClients"` IAM 정책 권한이 있어야 합니다. 자세한 내용은 [AppClient 목록에 대한 액세스 허용](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-list-appclient) 단원을 참조하십시오.

**요청 필드**
+ 필수 필드가 없습니다.

**응답 필드**
+ `appClientARN` - AppClient ID를 포함하는 Amazon 리소스 이름(ARN)입니다. 예를 들어 AppClient ID는 `a1b2c3d4-5678-90ab-cdef-EXAMPLE11111`입니다.
+ `verificationStatus` - AppClient 확인 상태입니다.
  + `pending_verification` - AppFabric에서 AppClient 확인이 아직 진행 중입니다. AppClient가 확인되기 전까지는 한 명의 사용자(`starterUserEmails`에서 지정된 사용자)만 AppClient를 사용할 수 있습니다.
  + `verified` - AppFabric에서 확인 프로세스를 성공적으로 완료했으며 이제 AppClient가 완전히 확인되었습니다.
  + `rejected` - AppClient에 대한 확인 프로세스를 AppFabric에서 거부했습니다. 확인 프로세스를 다시 시작하고 성공적으로 완료하기 전까지는 추가 사용자가 AppClient를 사용할 수 없습니다.

```
curl --request GET \
  --header "Content-Type: application/json" \
  --header "X-Amz-Content-Sha256: <sha256_payload>" \
  --header "X-Amz-Security-Token: <security_token>" \
  --header "X-Amz-Date: 20230922T172215Z" \
  --header "Authorization: AWS4-HMAC-SHA256 ..." \
  --url https://appfabric.<region>.amazonaws.com/appclients
```

작업이 성공하면 서비스가 HTTP 200 응답을 반송합니다.

```
200 OK

{
    "appClientList": [
        {
            "appClientArn": "arn:aws:appfabric:<region>:111122223333:appclient/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
            "verificationStatus": "pending_verification"
        }
    ]
}
```

## AppClient 업데이트
<a name="update_appclient"></a>

AppFabric `UpdateAppClient` API 작업을 사용하여 AppClient에 매핑된 redirectUrls을 업데이트합니다. AppName, StarterUserEmail 등과 같은 다른 파라미터를 변경해야 하는 경우 AppClient를 삭제하고 새 파라미터를 생성해야 합니다. 자세한 내용은 [UpdateAppClient](API_UpdateAppClient.md) 단원을 참조하십시오.

AppClient를 업데이트하려면 최소한 `"appfabric:UpdateAppClient"` IAM 정책 권한이 있어야 합니다. 자세한 내용은 [AppClient 업데이트 액세스 허용](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-update-appclient) 단원을 참조하십시오.

**요청 필드**
+ `appClientId`(필수) - 리디렉션 URL을 업데이트하려는 AppClient ID입니다.
+ `redirectUrls`(필수) - 업데이트된 리디렉션 URL 목록입니다. redirectUrl을 최대 5개 추가할 수 있습니다.

**응답 필드**
+ `appName` - AppFabric 사용자 포털의 동의 페이지에 사용자에게 표시될 애플리케이션의 이름입니다.
+ `customerManagedKeyIdentifier`(선택 사항) - 데이터를 암호화하는 데 사용할 고객 관리형 키(KMS에서 생성)의 ARN입니다. 지정하지 않으면 AWS AppFabric 관리형 키가 사용됩니다.
+ `description` - 애플리케이션에 대한 설명입니다.
+ `redirectUrls` - 인증 후 최종 사용자를 리디렉션할 URI입니다. 예를 들어 `https://localhost:8080`입니다.
+ `starterUserEmails` - 애플리케이션이 검증될 때까지 인사이트를 수신할 수 있는 액세스가 허용되는 사용자 이메일 주소입니다. 이메일 주소는 하나만 사용할 수 있습니다. 예를 들어 `anyuser@example.com`입니다.
+ `verificationStatus` - AppClient 확인 상태입니다.
  + `pending_verification` - AppFabric에서 AppClient 확인이 아직 진행 중입니다. AppClient가 확인되기 전까지는 한 명의 사용자(`starterUserEmails`에서 지정된 사용자)만 AppClient를 사용할 수 있습니다.
  + `verified` - AppFabric에서 확인 프로세스를 성공적으로 완료했으며 이제 AppClient가 완전히 확인되었습니다.
  + `rejected` - AppClient에 대한 확인 프로세스를 AppFabric에서 거부했습니다. 확인 프로세스를 다시 시작하고 성공적으로 완료하기 전까지는 추가 사용자가 AppClient를 사용할 수 없습니다.

```
curl --request PATCH \
  --header "Content-Type: application/json" \
  --header "X-Amz-Content-Sha256: <sha256_payload>" \
  --header "X-Amz-Security-Token: <security_token>" \
  --header "X-Amz-Date: 20230922T172215Z" \
  --header "Authorization: AWS4-HMAC-SHA256 ..." \
  --url https://appfabric.<region>.amazonaws.com/appclients/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \
  --data '{
    "redirectUrls": ["https://localhost:8081"]
}'
```

작업이 성공하면 서비스가 HTTP 200 응답을 반송합니다.

```
200 OK

{
    "appClient": {
        "appName": "Test App",
        "arn": "arn:aws:appfabric:<region>:111122223333:appclient/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "customerManagedKeyArn": "arn:aws:kms:<region>:111122223333:key/<key>",
        "description": "This is a test app",
        "redirectUrls": [
            "https://localhost:8081"
        ],
        "starterUserEmails": [
            "anyuser@example.com"
        ],
        "verificationDetails": {
            "verificationStatus": "pending_verification"
        }
    }
}
```

## AppClient 삭제
<a name="delete_appclient"></a>

AppFabric `DeleteAppClient` API 작업을 사용하여 더 이상 필요하지 않은 AppClient를 삭제합니다. 자세한 내용은 [DeleteAppClient](API_DeleteAppClient.md) 단원을 참조하십시오.

AppClient를 삭제하려면 최소한 `"appfabric:DeleteAppClient"` IAM 정책 권한이 있어야 합니다. 자세한 내용은 [AppClient 삭제 액세스 허용](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-delete-appclient) 단원을 참조하십시오.

**요청 필드**
+ `appClientId` - AppClient ID입니다.

**응답 필드**
+ 응답 필드가 없습니다.

```
curl --request DELETE \
  --header "Content-Type: application/json" \
  --header "X-Amz-Content-Sha256: <sha256_payload>" \
  --header "X-Amz-Security-Token: <security_token>" \
  --header "X-Amz-Date: 20230922T172215Z" \
  --header "Authorization: AWS4-HMAC-SHA256 ..." \
  --url https://appfabric.<region>.amazonaws.com/appclients/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
```

액션이 성공하면 해당 서비스는 빈 HTTP 본문과 함께 HTTP 204 응답을 되돌려줍니다.

## 최종 사용자를 위한 새로 고침 토큰
<a name="refresh_token"></a>

AppClient가 최종 사용자를 위해 획득한 토큰은 만료 시 새로 고침할 수 있습니다. 이는 grant\$1type `refresh_token`과 함께 [토큰](API_Token.md) API를 사용하여 수행할 수 있습니다. grant\$1type이 `authorization_code`면 사용할 `refresh_token`이 토큰 API 응답의 일부로 반환됩니다. 기본 만료는 12시간입니다. 새로 고침 API를 직접적으로 호출하려면 `"appfabric:Token"` IAM 정책 권한이 있어야 합니다. 자세한 내용은 [토큰](API_Token.md) 및 [AppClient 업데이트 액세스 허용](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-productivity-update-appclient) 섹션을 참조하세요.

**요청 필드**
+ `refresh_token`(필수) - 초기 `/token` 요청에서 받은 새로 고침 토큰입니다.
+ `app_client_id`(필수) - AWS 계정를 위해 생성된 AppClient 리소스의 ID입니다.
+ `grant_type`(필수) - `refresh_token`이어야 합니다.

**응답 필드**
+ `expires_in` - 토큰이 만료되기까지 남은 기간입니다. 기본 만료 시간은 12시간입니다.
+ `refresh_token` - 초기 요청과 토큰 요청에서 받은 새로 고침 토큰입니다.
+ `token` - 초기 요청과 토큰 요청에서 받은 토큰입니다.
+ `token_type` - 값은 `Bearer`입니다.
+ `appfabric_user_id` - AppFabric 사용자 ID입니다. `authorization_code` 권한 부여 유형을 사용하는 요청의 경우에만 반환됩니다.

```
curl --location \
"https://appfabric.<region>.amazonaws.com/oauth2/token" \
--header "Content-Type: application/json" \
--header "X-Amz-Content-Sha256: <sha256_payload>" \
--header "X-Amz-Security-Token: <security_token>" \
--header "X-Amz-Date: 20230922T172215Z" \
--header "Authorization: AWS4-HMAC-SHA256 ..." \
--data "{
    \"refresh_token\": \"<refresh_token>",
    \"app_client_id\": \"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111\",
    \"grant_type\": \"refresh_token\"
}"
```

작업이 성공하면 서비스가 HTTP 200 응답을 반송합니다.

```
200 OK

{
    "expires_in": 43200,
    "token": "apkaeibaerjr2example",
    "token_type": "Bearer",
    "appfabric_user_id" : "${UserID}"
}
```