

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

# Python AWS SDK를 사용하여 Secrets Manager 보안 암호 값 배치 가져오기
<a name="retrieving-secrets-python-batch"></a>

다음 코드 예시에서는 Secrets Manager 보안 암호 값의 배치를 가져오는 방법을 보여줍니다.

**필요한 권한:**
+ `secretsmanager:BatchGetSecretValue` 
+ 검색할 각 보안 암호에 대한 `secretsmanager:GetSecretValue` 권한이 있어야 합니다.
+ 필터를 사용하는 경우 `secretsmanager:ListSecrets`도 있어야 합니다.

권한 정책 예시는 [예: 보안 암호 값 그룹을 일괄적으로 검색할 수 있는 권한](auth-and-access_iam-policies.md#auth-and-access_examples_batch) 섹션을 참조하세요.

**중요**  
검색 중인 그룹에서 개별 보안 암호를 검색할 수 있는 권한을 거부하는 VPCE 정책이 있는 경우 `BatchGetSecretValue`는 보안 암호 값을 반환하지 않고 오류를 반환합니다.

```
class BatchGetSecretsWrapper:
    def __init__(self, secretsmanager_client):
        self.client = secretsmanager_client


    def batch_get_secrets(self, filter_name):
        """
        Retrieve multiple secrets from AWS Secrets Manager using the batch_get_secret_value API.
        This function assumes the stack mentioned in the source code README has been successfully deployed.
        This stack includes 7 secrets, all of which have names beginning with "mySecret".

        :param filter_name: The full or partial name of secrets to be fetched.
        :type filter_name: str
        """
        try:
            secrets = []
            response = self.client.batch_get_secret_value(
                Filters=[{"Key": "name", "Values": [f"{filter_name}"]}]
            )
            for secret in response["SecretValues"]:
                secrets.append(json.loads(secret["SecretString"]))
            if secrets:
                logger.info("Secrets retrieved successfully.")
            else:
                logger.info("Zero secrets returned without error.")
            return secrets
        except self.client.exceptions.ResourceNotFoundException:
            msg = f"One or more requested secrets were not found with filter: {filter_name}"
            logger.info(msg)
            return msg
        except Exception as e:
            logger.error(f"An unknown error occurred:\n{str(e)}.")
            raise
```