인증 프로파일을 사용하여 Amazon Redshift에 연결 - Amazon Redshift

인증 프로파일을 사용하여 Amazon Redshift에 연결

Amazon Redshift에 대한 연결이 많은 경우 모든 연결에 대한 설정을 관리하기 어려울 수 있습니다. 각 JDBC 또는 ODBC 연결에서 특정 구성 옵션을 사용하는 경우가 많습니다. 인증 프로파일을 사용하여 연결 옵션을 함께 저장할 수 있습니다. 이렇게 하면 사용자가 연결할 프로파일을 선택할 수 있으며 개별 옵션에 대한 설정을 관리하지 않아도 됩니다. 다양한 시나리오와 사용자 유형에 프로파일을 적용할 수 있습니다.

인증 프로파일을 생성한 후 사용자가 연결 문자열에 즉시 사용 가능한 프로파일을 추가할 수 있습니다. 이렇게 하면 사용자는 각 역할 및 사용 사례에 적합한 설정을 사용하여 Amazon Redshift에 연결할 수 있습니다.

Amazon Redshift API 정보는 CreateAuthenticationProfile을 참조하세요.

인증 프로파일 생성

AWS CLI를 사용하여 create-authentication-profile 명령으로 인증 프로파일을 생성합니다. 여기서는 기존 Amazon Redshift 클러스터와 기존 데이터베이스가 있다고 가정합니다. 자격 증명에는 Amazon Redshift 데이터베이스에 연결할 수 있는 권한과 인증 프로파일을 가져올 수 있는 권한이 있어야 합니다. 구성 옵션을 JSON 문자열로 제공하거나 JSON 문자열이 포함된 파일을 참조합니다.

create-authentication-profile --authentication-profile-name<value: String> --authentication-profile-content<value: String>

다음 예에서는 ExampleProfileName이라는 프로파일을 생성합니다. 여기에서 클러스터 이름 및 기타 옵션 설정을 정의하는 키와 값을 JSON 문자열로 추가할 수 있습니다.

create-authentication-profile --authentication-profile-name "ExampleProfileName" --authentication-profile-content "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}" }

이 명령은 지정된 JSON 설정으로 프로파일을 생성합니다. 프로파일이 생성되었음을 나타내는 다음이 반환됩니다.

{"AuthenticationProfileName": "ExampleProfileName", "AuthenticationProfileContent": "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}" }

인증 프로파일 생성에 대한 제한 사항 및 할당량

각 고객에게는 10개의 인증 프로파일 할당량이 있습니다.

인증 프로파일에서 특정 오류가 발생할 수 있습니다. 예를 들어 기존 이름으로 새 프로파일을 생성하거나 프로파일 할당량을 초과하는 경우가 있습니다. 자세한 내용은 CreateAuthenticationProfile을 참조하세요.

인증 프로파일 스토어에 JDBC, ODBC 및 Python 연결 문자열에 대한 특정 옵션 키와 값을 저장할 수 없습니다.

  • AccessKeyID

  • access_key_id

  • SecretAccessKey

  • secret_access_key_id

  • PWD

  • Password

  • password

JDBC 또는 ODBC 연결 문자열의 경우 프로파일 스토어에 키 또는 값 AuthProfile을 저장할 수 없습니다. Python 연결의 경우 auth_profile을 저장할 수 없습니다.

인증 프로파일은 Amazon DynamoDB에 저장되며 AWS에서 관리합니다.

인증 프로파일 작업

인증 프로파일을 생성한 후 JDBC 버전 2.0 AuthProfile에 대한 연결 옵션으로 프로파일 이름을 포함할 수 있습니다. 이 연결 옵션을 사용하면 저장된 설정이 검색됩니다.

jdbc:redshift:iam://endpoint:port/database?AuthProfile=<Profile-Name>&AccessKeyID=<Caller-Access-Key>&SecretAccessKey=<Caller-Secret-Key>

다음은 JDBC URL 문자열의 예입니다.

jdbc:redshift:iam://examplecluster:us-west-2/dev?AuthProfile="ExampleProfile"&AccessKeyID="AKIAIOSFODNN7EXAMPLE"&SecretAccessKey="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"

인증 프로파일 이름과 함께 JDBC URL에 AccessKeyIDSecretAccessKey를 모두 지정합니다.

로깅 옵션이 포함된 다음 예와 같이 세미콜론 구분 기호로 구성 옵션을 구분할 수도 있습니다.

jdbc:redshift:iam://my_redshift_end_point:5439/dev?LogLevel=6;LogPath=/tmp;AuthProfile=my_profile;AccessKeyID="AKIAIOSFODNN7EXAMPLE";SecretAccessKey="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
참고

인증 프로파일에 기밀 정보를 추가하지 않습니다. 예를 들어 인증 프로파일에 AccessKeyID 또는 SecretAccessKey 값을 저장하지 마세요. 인증 프로필 스토어에는 보안 암호 키의 저장을 금지하는 규칙이 있습니다. 민감한 정보와 관련된 키와 값을 저장하려고 하면 오류가 발생합니다.

인증 프로파일 가져오기

기존 인증 프로파일을 나열하려면 다음 명령을 호출합니다.

describe-authentication-profiles --authentication-profile-name <value: String>

다음 예에서는 2개의 검색된 프로파일을 보여줍니다. 프로파일 이름을 지정하지 않으면 모든 프로파일이 반환됩니다.

{ "AuthenticationProfiles": [ { "AuthenticationProfileName": "testProfile1", "AuthenticationProfileContent": "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}" }, { "AuthenticationProfileName": "testProfile2", "AuthenticationProfileContent": "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}" } ] }